Spotify、Adobe Reader、Chrome、Firefox、7-Zip、VLC Media Player(VLC Media Player…the list)などのアプリがコンピューターにあります。リストは続き、すべて無料です。フリーウェア(freeware)なしで何をしますか?ただし、これらのアプリでは、セキュリティホールを修正し、新しく便利な機能を導入するために、頻繁に更新する必要があります。都合の良いときに更新が行われることはありません。
そこでChocolateyが登場します。無料アプリChocolateyを使用して、ソフトウェアを最新の状態に保ちます。それは簡単、高速、シンプルです、そして私たちは無料で言及しましたか?あまりに(Seems)も良すぎて真実ではないようですが、それでもそうです。しかし、Chocolateyとは何ですか?
Chocolateyとは何ですか?
Windowsコマンドライン(Windows command line)、PowerShell、またはLinuxコマンドライン(Linux command line)で何もしていない場合、 Chocolateyの概念は少し奇妙になる可能性があります。Chocolateyは、(Chocolatey)ソフトウェアの管理(manage software)に役立つマシンレベルのプログラムです。
マシンレベルとは、物事を行うのに役立つグラフィカルユーザーインターフェイスがないことを意味します。(user interface)すべてのコマンドを入力する必要があります。怖がら(Don)せない(t let)でください!あなたが言葉を書くことができれば、あなたはこれを習得することができます。
Chocolateyをインストールするにはどうすればよいですか?
Chocolateyが機能する必要があることがいくつかあります。プログラムが機能するためにWindows(Windows)機能の他のプログラムを必要とする場合、それらの必要なプログラムは依存関係と呼ばれます。Chocolateyの依存関係は、少なくとも次のものを使用している必要があります。
- Windows7以降
- PowerShellバージョン2以降
- .NETFramework4以降
- さらに、コンピュータの管理者アクセス権(administrator access)が必要です
Windows 7以降をお持ちの場合は、 PowerShellバージョン2(PowerShell version 2)以降を既にお持ちです
。.NET Framework 4を使用しているかどうかわからない場合でも、心配する必要はありません。Chocolateyをインストールするときに、.NET 4がない場合は、Chocolatey
がインストールします。
スタートメニュー(Start Menu)の検索ボックスPowerShellに入力して、PowerShellを開きます。WindowsPowerShellAppという名前の結果が表示されるはずです。
それを右クリックして、[管理者として実行(Run as Administrator)]を選択します。これを行うことは、昇格されたインスタンスで(elevated instance)PowerShellを実行することとして知られています。管理者の権限に昇格します。PowerShellウィンドウ(PowerShell window)が開きます。
PowerShellウィンドウ(PowerShell window)で、次のコマンドを入力するか、コピー(type or copy)して貼り付けます。
Set-ExecutionPolicy Bypass -Scope Process -Force; iex
((New-Object
System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))
Set-ExecutionPolicy Bypass -Scope Process -Forceの
部分は、PowerShellに、この次のことだけに制限付き実行ポリシーを適用したくないことを通知します。PowerShellは、デフォルトでは、署名されたプロセスの実行のみを許可します。それは最高のセキュリティ設定(security setting)です。ただし、 Chocolatey(Chocolatey)をインストールするこの署名されていないプロセスを実行する必要があります。
コマンドのiex ((New-Object
System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))
の部分は、PowerShellにChocolatey Webサイト(Chocolatey website)にアクセスし、インストールをダウンロードするように指示します。 .ps1スクリプトを実行し、実行します。それがChocolatey(Chocolatey)を実際にインストールする部分です
。
たくさんのテキストが飛ん(text fly)でくるのがわかります。何が起こったのかがわかるように、戻って読んでください。(Feel)choco /? を実行することをお勧めします。関数のリストを表示します。これは、インストールが機能したことを確認するための良い方法です。先に進み、そのコマンドを実行します。
別のテキストの山が飛んでくるでしょう。これも読んで理解するのに適しています。最後に、Chocolateyのインストールが機能した場合は、次のようなものが表示されます。緑色の部分には、インストールしたばかりのバージョンが一覧表示されます。
Chocolateyを使用したソフトウェアのインストール
Chocolateyを使用してソフトウェアを更新する前に、 Chocolateyを使用してソフトウェアをインストールする方法を簡単に見てみましょ
う。
https://chocolatey.org/packagesページにアクセスして、 Chocolateyから入手できるソフトウェアを参照してください。それらがパッケージと呼ばれていることがわかります。
インストールするパッケージを見つけます。この例では、MalwarebytesAnti-Malwareを使用します。コンピュータにMalwarebytesをインストールすることは常に良いことです。
PowerShellの昇格されたインスタンスでは、コマンドchocoinstallmalwarebytesを使用します。それだけです。インストールが開始されます。次のテキストで停止します。
Chocolateyにソフトウェアの管理を許可することに慣れている場合は、このインストールが完了したら、choco機能のenable -n allowGlobalConfirmation(choco feature
enable -n allowGlobalConfirmation)コマンドを使用して、将来のインストールと更新を自動化できるようにする必要があります。今のところ、Aを使用してインストールを完了しましょう。
Malwarebytesがダウンロード中であり、インストールを開始していることがわかります。
約1分以内に、Malwarebytesがダウンロードされ、それ以上の作業なしでインストールされます。
Chocolateyでソフトウェアを更新する
いくつかのソフトウェアがインストールされたので、Chocolateyで更新してみることができます。ここでも、 (Again)PowerShellを(PowerShell)管理者(Administrator)として開く必要があります。次に、コマンドchocoupgrademalwarebytes(choco upgrade malwarebytes)を実行できます。
これにより、Chocolateyが外に出て、更新があるかどうかを確認してから更新します。Malwarebytesをインストールしたばかりなので、1つのパッケージがゼロから更新されたことが表示されます。それは大丈夫です。
Chocolateyを使用して複数のパッケージをインストールした場合は、choco upgradeall - y(choco upgrade all -y)という1行のコマンドですべてを更新できます。
それはそれが得るのと同じくらい難しいです。ここで、 Chocolatey(Chocolatey)を使用してソフトウェアを自動的に更新するには、そのコマンドをスケジュールどおりに実行する必要があります。
Chocolateyでソフトウェアを自動的に更新する(Update Software)
次のステップは、 witherNotepad(Notepad)またはPowerShellISE(統合スクリプト環境(Integrated Scripting Environment))を使用して実行できます。すべてのWindowsバージョンにPowerShellISEがあるわけではないため、(PowerShell ISE)メモ帳(Notepad)を使用してこの例を実行します。
メモ帳を開きます。コマンドchocoupgradeall-yをメモ帳にコピーします。
upgrade-ChocoPackages.ps1の(upgrade-ChocoPackages.ps1)ような名前を付けて、 PowerShellスクリプト(PowerShell script)として保存します。.ps1拡張子は、これが PowerShellスクリプト(PowerShell script)であることをWindowsに通知します。
ファイルタイプをText Documents (*.txt)からAll Files (*.*).そうしない場合、Windowsはそれをアップグレードします-ChocoPackages.ps1.txt(upgrade-ChocoPackages.ps1.txt)そしてそれは単なるメモ帳ファイル(Notepad file)だと思います。
Windowsには、タスクスケジューラ(Task Scheduler)と呼ばれる優れた機能が付属しています。平均的なホームユーザー(home user)はおそらくそれについて知らないでしょうが、タスクスケジューラ(Task Scheduler)はすでに多くのことを定期的に実行する機能です。
タスクスケジューラの(Task Scheduler)[スタート]メニューで検索(Start Menu search)します。結果として表示されたらクリックします。(Click)
タスクスケジューラ(Task Scheduler)が開いたら、ウィンドウの左上の領域にある[タスクスケジューラライブラリ(Task Scheduler Library)]をクリックします。これにより、コンピュータに現在設定されているすべてのスケジュールされたタスクが表示されます。
右上の[操作]ウィンドウで、[タスクの(Actions)作成(Create Task…)]をクリックします。後で引数ステートメントを使用するため、基本タスクの作成はこの状況には適していません。(Create Basic Task isn)
開いたウィンドウの[全般(General)]タブで、タスクにChoco Upgrade Allのような名前を付けてから、Chocolateyによってインストールされたすべてのソフトウェアを更新する( Updates all software installed by Chocolatey)ような説明(Description )を付けます。現在のユーザーアカウント(user account)がコンピューターの管理者アカウント(administrator account)でない場合は、 [ユーザーまたはグループの変更](Change User or Group)ボタンを使用して管理者アカウント(Administrator account)を選択します。
また、管理者アカウント(Administrator account)のパスワードも知っておく必要があります。ユーザーがログオンしているかどうかに関係なく実行(Run whether the user is logged on or not)が選択されていることを確認してください(Make)。これにより、コンピューターを使用していない場合でもスクリプトを実行でき、ジョブを実行するために必要なすべての特権がスクリプトに付与されます。
[トリガー(Triggers)]タブは、タスクを実行するタイミングを指示する場所です。このためには、週に1回で十分です。この例では、毎週日曜日(Sunday)の午前1時に実行するように設定されています。最高のパフォーマンスを得るには、コンピューターを使用する可能性が低い時間を選択してください。
実行時間が次の時間より長くなる場合は、タスクの停止(Stop the task if it runs longer than:)もオンにして、期間を2時間に変更することをお勧めします。必要に応じて調整できます。トリガーを適用できるようにするには、下部にある[有効](Enabled)チェックボックスをオンにする必要があります。
[アクション(Actions)]タブに移動すると、タスクに何を実行するかを指示します。アクション(Action)はデフォルトでプログラムを開始し(Start a program)ます。それが私たちが望んでいることなので、そのままにしておきます。[Program/script]フィールドに、powershell.exeと入力します。これにより、 PowerShellスクリプト(PowerShell script)を実行することをWindowsに通知し
ます。
[引数の追加](Add arguments)フィールドに、次の引数を入力します。
-noprofile –これにより、PowerShellプロファイル(PowerShell profile)スクリプトが実行されなくなり、必要なスクリプトを実行するように指示されます。
-ExecutionPolicy Bypass –スクリプトの実行が有効になっているかどうかわからない場合は、引数にこれを含めるとよいでしょう。スクリプトが確実に実行されます。
-file –これは、
PowerShellで実行するファイルへのパスが次に続くものであることをタスクスケジューラに通知する引数です。この例では、スクリプトはC:\Scripts\upgrade-ChocoPackages.ps1に保存されています。お使いのパソコンによって異なる場合がありますので、適宜調整してください。ファイルへのパスにスペースを含む名前が含まれている場合は、パス全体を引用符で囲む必要があります。
完全な引数は、-noprofile
-executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1
[条件(Conditions )]タブには、スクリプトの実行方法を設定できるその他のオプションがあります。それらを見て、どのものを適用したいかを確認してください。この例では、コンピューターがAC電源になっている場合にのみタスクを開始し、コンピューターが(Start the task only if the computer is on AC power)バッテリー電源に切り替わった場合に停止(Stop if the computer switches to battery power )して、バッテリーが不足しないように設定されています。
(Wake the computer to run this task)コンピュータがスリープモードであるかどうかに関係なく、タスクが確実に実行されるように、このタスクを実行するためにコンピュータをスリープ解除するが選択されています。
[設定(Settings )]タブで、[タスクをオンデマンドで実行することを許可する](Allow
task to be run on demand)チェックボックスをオンにすることをお勧めします。これにより、完了時にタスクを手動でテストできます。残りのデフォルトの選択は問題ありません。
[ OK]をクリックして、スケジュールされたタスクの作成を終了します。[全般]タブで選択したユーザーの名前がウィンドウに表示されます。ユーザーのパスワードを入力し、 [ OK ]をクリック(user and click) する必要があります。これは、実際にタスクを実行する権限を持っていることをWindowsに通知します。
これで、タスクスケジューラ(Task Scheduler window)のメインウィンドウに戻ります。新しいタスクを見つけます。タスクを(task and select) 右クリックし、 [実行(Run )]を選択してテストします。
タスクのステータスが「実行中」に変わることを除いて、重要なことは何も起こりません(Running)。1分ほどで、タスクの実行を開始したときの最終実行時間(Last Run Time )もタイムスタンプに変更されるはずです。
エラーメッセージが表示されない場合、タスクは正常です。[タスクスケジューラ]ウィンドウ(Task Scheduler window)を閉じて、Chocolateyでインストールしたソフトウェアを手動で再度更新する必要がないようにします。
全部できた!
これを設定するのは大変な作業のように思えるかもしれません。これを考慮してください:これを設定するのに10分から30分の間のどこかでかかりました。これを使用して10個のプログラムを更新し、各プログラムが毎月更新プロセスを実行するのに約6分かかる場合、30〜50分節約できます。
あなたはすでに時間の節約になっています。1年間で、6〜10時間の節約になる可能性があります。これには、 Chocolatey(Chocolatey)を使用して10分または15分ではなく1分または2分でプログラムをインストールする方法を知っていることによって節約された時間は含まれていません。
How to Automatically Update Free Software with Chocolatey
You’ve got apps on your computer like Spоtify, Adobe Reader, Chrome, Firefox, 7-Zip, VLC Media Player…the list goeѕ on аnd they’re all free. What would we dо without freeware? Yet, these apps require frequent updates to fix security holes and introduce new and useful features. Updates never happen at a convenient time.
That’s where Chocolatey comes into play. Use the free app Chocolatey to keep your software up to date. It’s easy, fast, simple, and did we mention free? Seems too good to be true, yet it is. But what is Chocolatey?
What is Chocolatey?
If you haven’t done things in the Windows command line, PowerShell, or Linux command line, the concept of Chocolatey can be a bit weird. Chocolatey is a machine-level program that helps you manage software.
Machine-level meaning that there isn’t a graphical user interface that helps you do things. All the commands must be typed. Don’t let that scare you away! If you can write words, you can master this.
How do I Install Chocolatey?
There are a couple things Chocolatey needs to work. When a
program needs other programs of Windows features to work, those needed programs
are referred to as dependencies. Chocolatey’s dependencies are you must be
using at least:
- Windows 7 or newer
- PowerShell version 2 or newer
- .NET Framework 4 or newer
- Plus, you must have administrator access on your computer
If you’ve got Windows 7 or newer, you’ve already got
PowerShell version 2 or newer. If you aren’t sure if you have .NET Framework 4,
don’t worry. When installing Chocolatey, if you don’t have .NET 4, Chocolatey
will install it for you.
Open PowerShell by typing in the Start Menu’s search
box PowerShell. You should see a result come up named Windows PowerShell App.
Right-click on that and select Run as Administrator.
Doing this is known as running PowerShell in an elevated instance. It’s
elevated to the Administrator’s privileges. The PowerShell window will open.
In the PowerShell window, type or copy and paste the command:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex
((New-Object
System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))
The Set-ExecutionPolicy Bypass -Scope Process -Force
part tells PowerShell that you don’t want to enforce the restricted execution
policy for just this next thing. PowerShell, by default, will only allow signed
processes to run. It’s the highest security setting. But we need to run this
unsigned process of installing Chocolatey.
The iex ((New-Object
System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))
part of the command tells PowerShell to go to the Chocolatey website, download
the install.ps1 script, and run it. That’s the part that really installs
Chocolatey.
You’ll see a bunch of text fly by. Feel free to go back and
read it so you know what just happened. At the end, it suggests that you run
the command choco /? to see a list of functions. That’s a good way to
make sure your install worked. Go ahead and run that command.
Another pile of text will fly by, which is also good to read
and understand. At the end, if your install of Chocolatey worked, you’ll see something
like the following, where the green part lists what version you’ve just
installed.
Installing Software with Chocolatey
Let’s have a quick look at installing software with
Chocolatey before we get to updating software with it.
Go to the page https://chocolatey.org/packages to browse through the software that is available via Chocolatey. You’ll see that they are referred to as packages.
Find a package that you’d like to install. For this example, we’ll use Malwarebytes Anti-Malware. It’s always good to have Malwarebytes on your computer.
In an elevated instance of PowerShell, use the command choco
install malwarebytes. That’s it. The install will begin. It will stop with
the following text:
If you’re comfortable allowing Chocolatey to manage your
software, then when this install is done, we should use the choco feature
enable -n allowGlobalConfirmation command so we can automate installations
and updates in the future. For now, let’s just use A to complete the
installation.
You’ll see that Malwarebytes is downloading and then starts installing.
In about a minute, Malwarebytes will be downloaded and installed without any further work for you.
Update Software with Chocolatey
Now that we’ve got some software installed, we can try updating it with Chocolatey. Again, you need PowerShell open as Administrator. Then you can run the command choco upgrade malwarebytes.
That will make Chocolatey go out and see if there’s an update and then update it. We just installed Malwarebytes, so it will show that zero out one packages were updated. That’s okay.
If you’ve installed several packages with Chocolatey, you
can update them all with a one-line command: choco upgrade all -y.
That’s as hard as it gets. Now what we must do to
automatically update software with Chocolatey is to somehow make that command run
on a schedule.
Automatically Update Software with Chocolatey
The next step you can do using wither Notepad or PowerShell
ISE (Integrated Scripting Environment). We’ll do this example using Notepad as
not all Windows versions have the PowerShell ISE.
Open Notepad. Copy the command choco upgrade all -y into
Notepad.
Save that as PowerShell script by naming it something like upgrade-ChocoPackages.ps1. The .ps1 extension tells Windows that this is a PowerShell script.
Change the file type from Text Documents (*.txt) to All Files (*.*). If you don’t, Windows will make it upgrade-ChocoPackages.ps1.txt and think it’s just a Notepad file.
Windows comes with a great feature called Task Scheduler.
The average home user probably doesn’t know about it, but Task Scheduler is the
feature that already makes a lot of things run on a regular basis.
In Start Menu search on Task Scheduler. Click on it when it
comes up as a result.
When Task Scheduler opens, click on Task Scheduler Library in the top-left area of the window. This will show you all the scheduled tasks currently set up on your computer.
In the Actions pane in the top-right area, click on Create Task…. Create Basic Task isn’t suitable for this situation, as we’ll be using argument statements later.
In the window that opens, in the General tab, give the task a name like Choco Upgrade All and then a Description like Updates all software installed by Chocolatey. If your current user account is not an administrator account on your computer, use the Change User or Group button to select the Administrator account.
You’ll also need to know the Administrator account’s password. Make sure Run whether the user is logged on or not is selected. This will allow the script to run even if you’re not on your computer and it will have all the privileges it needs to do the job.
The Triggers tab is where you tell the task when you want it to run. For this, once a week should be plenty. In our example, it’s set to run every Sunday at 1:00 a.m. Pick a time when you’re not likely to be using your computer, for best performance.
It’s recommended to also check Stop the task if it runs longer than: and change the duration to 2 hours. You can adjust that as you’d like. To allow the trigger to apply, you must check the Enabled box at the bottom.
Over to the Actions tab, and we’ll tell the task what
we want it to do. The Action will be defaulted to Start a program.
That is what we want so just leave that. In the Program/script field,
type powershell.exe. This lets Windows know you’re going to be running a
PowerShell script.
In the Add arguments field, enter the following
arguments.
-noprofile – This prevents PowerShell profile scripts
from running and tells it to just run the script that you want.
-ExecutionPolicy Bypass – If you’re not sure if
script execution was enabled, it’s good to have this in the arguments. It will
ensure the script runs.
-file – This is the argument that tells Task
Scheduler that whatever follows next is the path to the file that we want
PowerShell to run. In our example, the script was saved to C:\Scripts\upgrade-ChocoPackages.ps1.
It may be different on your computer, so adjust accordingly. If the path to
your file has any names with spaces in them, you’ll need to put the entire path
inside of quotes.
The full argument will look like -noprofile
-executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1
On the Conditions tab, there are more options we can set on how the script is to run. Look at them to see which ones you’d like to apply. For this example, it is set to Start the task only if the computer is on AC power and Stop if the computer switches to battery power to ensure we’re not running down the battery.
Wake the computer to run this task is selected to ensure the task runs, whether the computer is in sleep mode or not.
In the Settings tab, it’s recommended to check the Allow
task to be run on demand box, so that we can manually test the task when
we’re done. The default selections for the remainder are fine.
Click OK to finish creating the scheduled task. A
window should pop up with the name of the user you selected back on the General
tab. You must enter the password for the user and click OK. This tells
Windows that you do, indeed, have the authority to run the task.
Now you’re back to the main Task Scheduler window. Find your
new task. Right-click on the task and select Run to test it.
You won’t see anything significant happen, except the status
of the task will change to Running. In a minute or so, you should see
the Last Run Time also change to the timestamp when you started running
the task.
If you didn’t get any error messages, the task should be
fine. Close the Task Scheduler window and don’t worry about having to manually
update any of the software you installed with Chocolatey again.
All Done!
It may seem like a lot of work to set this up. Consider this: it took you somewhere between 10 and 30 minutes to set this up. If you’re using this to update 10 programs, and each program takes about 6 minutes to go through the updating process every month, you’ve saved yourself between 30 and 50 minutes.
You’re already ahead in time saved. Over the course of a year, that could be 6 to 10 hours of time saved. That’s not including the time saved by knowing how to use Chocolatey to install programs in a minute or two instead of 10 or 15 minutes.