PowerShell を使用した Windows アップデートの自動化方法:概要

パッチ管理は、ITインフラの管理において極めて重要な側面であり、まさに Windows ワークステーションのバックアップ. 適切なパッチ管理ソリューションを導入すれば、最新のソフトウェア更新プログラムやパッチをテスト・適用することで、システムを強化することができます。パッチとは、本格的なソフトウェアのリリース間において、既存の問題を一時的に修正するためのものです。パッチ管理を効果的に実施すれば、システムの脆弱性に迅速に対処し、潜在的な脅威を軽減することができます。

Windowsには、独自のパッチ管理ソリューションである”Windows Update”が搭載されています。しかし、多くのIT管理者は依然として、パッチ管理のプロセスが複雑すぎて時間がかかりすぎると感じています。さらに、システムの更新は業務時間中に自動的に開始されることが多いため、本番環境のワークフローに影響を与える可能性があります。PowerShellのコマンドレットを使用すれば、Windowsの更新を自動化でき、手間と時間を節約できます。

このブログ記事では、PowerShellを使用してWindowsの更新をインストールする方法について説明し、以下のリストを掲載しています。 便利なPowerShellコマンド パッチ管理プロセスを自動化するためです。パッチを適用することで、システムに影響を及ぼすバグや脆弱性のリスクを軽減できます。

NAKIVO for Windows バックアップ

NAKIVO for Windows バックアップ

Windowsサーバーおよびワークステーションを、オンサイト、オフサイト、クラウドへ高速にバックアップします。マシン全体やオブジェクトを数分で復元できるため、RTOを短縮し、稼働時間を最大化します。

PSWindowsUpdateとは何ですか?

Windowsのパッチ管理プロセスをスムーズかつ簡単に行うには、Michal Gajda氏が開発したPSWindowsUpdateモジュールを利用できます。このモジュールは一般に公開されており、以下のサイトから無料でダウンロードできます。 PowerShell Gallery. 主な要件として、コンピュータにはWindows Vista以降、またはWindows Server 2008以降のOSがインストールされている必要があります。また、PowerShell 2.0以降も必要です。

PSWindowsUpdateを使用すると、お使いのコンピュータにWindowsの更新プログラムが利用可能かどうかを確認できます。さらに、このモジュールを使用することで、さまざまなWindowsサーバーやワークステーションにわたるWindowsの更新プログラムを一元的に管理できます。これにより、どの更新プログラムをインストール、削除、または非表示にするかをリモートで制御することが可能です。

PowerShell を使って Windows Update を自動化する方法

以下では、PSWindowsUpdate の設定手順について、モジュールのダウンロードおよびインストール方法に加え、Windows の更新を自動化するのに役立つコマンドの確認方法も含めて解説します。

PSWindowsUpdateのインストール方法

Windowsのパッチ管理を効果的に自動化するには、まずお使いのコンピュータにPSWindowsUpdateモジュールをインストールする必要があります。そのためには、管理者権限でPowerShellプロンプトを開き、次のコマンドを入力してください:

Install-Module -Name PSWindowsUpdate

このコマンドを実行すると、PSGalleryから指定されたモジュールをインストールするかどうかを尋ねられます。選択してください Yes すべての変更を受け入れて続行する場合は、こちらを選択してください。
Installing PSWindowsUpdate (automate Windows updates)

モジュールをインストールしたら、他のコンピュータにリモートでアクセスできることを確認する必要があります。これにより、リモートコンピュータに Windows アップデートをインストールできるようになり、時間と労力を最小限に抑えることができます。 PSWindowsUpdate モジュールをリモートマシンで動作させるには、モジュールを自分のコンピュータに保存し、ネットワーク経由で共有する必要があります。

他のサーバーがこのモジュールをインポートして展開できる場合は、Windows パッチ管理の自動化を設定できます。そのためには、次のコマンドレットを実行してください。

Save-Module -Name PSWindowsUpdate -Path

ここでは、次のものを定義する必要があります。 –Path PSWindowsUpdate モジュールを保存する場所を指定して、パラメーターを設定します。

PSWindowsUpdate の使い方

次のステップでは、PowerShell コマンドレットを使用して Windows アップデートを自動化するために、このモジュールの使い方を学びます。これは、GUI がない Server Core マシンでパッチ管理プロセスを実行する必要がある IT 管理者にとって、大きな利点となります。これらのコマンドレットを使用することで、管理の複雑さを最小限に抑え、プロセスをより簡単に、かつエラーの発生を少なくすることができます。

利用可能な Windows アップデートの完全な一覧を取得するには、次の PowerShell コマンドを実行してください:

Get-WindowsUpdate

画面には、以下のような出力が表示されるはずです:

Get Windows Update (automate Windows updates)

この情報があれば、どのソフトウェアやアプリケーションを更新する必要があるのかが確実にわかります。その後、以下のコマンドを入力することで、すべての更新プログラムをインストールできます。さらに、 –AutoReboot パラメータを設定することで、更新プログラムのインストール完了後にシステムが自動的に再起動するよう設定できます。

Get-WUInstall -AcceptAll –AutoReboot

(本番環境のワークフローを中断しないために)再起動を実行したくない場合は、次のコマンドレットを実行してください:

Get-WUInstall -AcceptAll –IgnoreReboot

画面上では、パッチ管理プロセスの進捗状況に加え、アップデートの全リストとその現在のステータスを確認できます。

Downloading updates (automate Windows updates)

インストール処理が完了すると、PowerShell コンソールに次のメッセージが表示されます。 “再起動が必要ですが、手動で行ってください”。 したがって、システムの再起動は依然として必要ですが、ご自身のスケジュールに合わせて最適なタイミングで実行することができます。

特定の更新プログラムのみをダウンロードしたい場合は、 –KBArticleID PowerShell コマンドレットへのパラメータ。適切なパッチをダウンロードするために、KB 記事の番号を指定することを忘れないでください。たとえば、次をインストールしたい場合、 Windows マルウェア除去ツール x64 そして Windows Defender アンチウイルスのセキュリティ情報更新. 適切な PowerShell コマンドは、次のように表示されるはずです:

Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll

このコマンドを実行すると、私のコンピュータには、そのアップデートのうち2つだけがインストールされることになります。

PSWindowsUpdate コマンドの概要

PSWindowsUpdate モジュールでどの PowerShell コマンドレットが使用できるか知りたい場合は、次のコマンドを入力して、 Enter:

Get-Command –module PSWindowsUpdate

ここでは、このモジュールのコマンドの一覧をすべて確認できます。
List of PSWindowsUpdate commands (automate Windows updates)
これらのコマンドのいくつかがどのように機能するかを見ていきましょう。

1. その Get-WUHistory このコマンドレットを使用すると、最新の更新履歴を確認できます。このコマンドを実行すると、画面に次のような出力が表示されます。

Viewing history of installed updates (automate Windows updates)

2. 次のコマンドレットは Get-WUInstallerStatus, これにより、Windows Installer サービスの状態を確認できます。ここでは、インストーラーが正常に動作しているかどうかを確認できます。この操作の結果は、次のようなものになります:

Viewing the installer status (automate Windows updates)

3. 以下のコマンドを実行して、 Get-WURebootStatus このコマンドレットを使用すると、特定の更新プログラムを完全に適用するためにシステムの再起動が必要かどうかを確認できます。

Viewing the reboot status (automate Windows updates)

4. 以下の Get-WUServiceManager このコマンドレットを使用すると、Windows アップデートのソースを確認できます。

Viewing the source of Windows updates (automate Windows updates)

ご覧のとおり、最後の列には更新プログラムのソース(Windows Update、DCat Flighting Prod など)が表示されています。

5. 特定の更新プログラムをリストから非表示にすることで、その更新プログラムがコンピュータにインストールされるのを防ぐことができます。そのためには、次のコマンドを実行してください。 Hide-WindowsUpdate このコマンドでは、非表示にしたいKB記事のIDを指定することができます。以下の例は、リストからKB2267602の更新プログラムを非表示にする方法を示しています:

$HideList = "KB2267602"

Hide-WindowsUpdate -KBArticleID $HideList –Hide

変更を行う前に、選択内容の確認を求められます。入力してください Y KB記事を非表示にするには。
Hiding Windows Updates (automate Windows updates)

ただし、非表示の更新プログラムの一覧を取得したい場合は、以下のコマンドレットを実行してください。

Get-WindowsUpdate –IsHidden
Hidden Windows Updates (automate Windows updates)

“ステータス”列には、その文字が表示されます H これは、更新が正常に非表示にされたことを示しています。したがって、次回 Get-WUInstall コマンドを実行すると、選択した更新プログラムは利用可能な更新プログラムの一覧から自動的に除外されます。

変更を元に戻したい場合は、PowerShell コンソールで次のコマンドレットを使用できます:

Hide-WindowsUpdate -KBArticleID $HideList -Hide:$false

ここでも、変更内容を確認するために、次のように入力するよう求められます。 Y.
Changing the status of Windows update (automate Windows updates)

ご覧の通り、この手紙は H 更新ステータスから除外されなくなりました。つまり、この Windows 更新プログラムは非表示ではなくなり、お使いのコンピューターにダウンロードできるようになりました。

6. もう 1 つの設定オプションとして、お使いのマシンにインストール済みの更新プログラムを削除する方法があります。この目的には、 Remove-WindowsUpdate cmdlet を実行し、コンピュータからアンインストールしたい KB 記事の ID を入力します。例:

Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot

に追加することで、 –IgnoreReboot パラメータを指定することで、コンピュータが自動的に再起動しないようにできます。アップデートのアンインストールが完了したら、後でコンピュータを再起動してください。

7. 最後に、リモートマシン上で利用可能な Windows アップデートをスキャンするには、 Get-WUList コマンドレット。

Get-WUList –ComputerName Server5

このコマンドレットを機能させるには、リモートコンピュータにも PSWindowsUpdate モジュールをインストールする必要があります。これにより、単一の管理画面から複数のマシンの Windows 更新を自動化できます。PSWindowsUpdate を使用すると、パッチ管理プロセスを簡単かつ効率的に実行できます。

さらに、システムのパッチ適用時に IT 管理者が抱える管理上の負担を軽減することができます。

まとめ

PSWindowsUpdate モジュールは、パッチ管理プロセスをよりシンプルかつ効率的にするために開発されました。アップデートのインストールを自動化することで、システムが定期的に更新されることを確実にし、システム障害やセキュリティ侵害のリスクを最小限に抑えることができます。 パッチは主に、プログラム内で発見された問題や脆弱性を解決するために開発されます。しかし、定期的なパッチ管理だけでは、本番環境全体を完全に保護することはできません。

そのためには、物理環境、仮想環境、クラウド環境向けのバックアップおよびサイト復旧機能を提供する、包括的なデータ保護ソリューションを利用する必要があります。 NAKIVO Backup & Replication, これにより、複数のプラットフォームにまたがる最も重要なデータやアプリケーションを保護し、いかなる状況下でも復旧を確実にし、データ保護コストを削減することができます。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルを利用して、本ソリューションのデータ保護機能をすべてお試しください。15日間無料。機能や容量の制限は一切ありません。クレジットカードも不要です。

関連記事