Chocolateyで自由ソフトウェアを自動的に更新する方法

SpotifyAdobe ReaderChromeFirefox7-ZipVLC 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’)) の部分は、PowerShellChocolatey 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分でプログラムをインストールする方法を知っていることによって節約された時間は含まれていません。



About the author

私は 10 年以上の経験と Android デバイスでの作業経験を持つコンピューター技術者です。また、過去 5 年間オフィスで働いており、Office 365 と MacOS の使い方を学びました。余暇には、屋外で音楽を演奏したり、映画を見たりするのを楽しんでいます。



Related posts