【Powershell】WindowsUpdateをコマンドで更新してみた

Windows Windows
この記事は約8分で読めます。

WindowsUpdatePowershellコマンドで更新してみました。

PSWindowsUpdate モジュールが必要になります。

コマンドとしては以下の2コマンドで更新可能となります。

Get-WindowsUpdate
Install-WindowsUpdate -AcceptAll -AutoReboot
広告

0.準備(モジュールのインポート)

WindowsUpdateをPowershellコマンドで更新するために、PSWindowsUpdate モジュールをインポートします。

# インストール
Install-Module -Name PSWindowsUpdate -Force

# インポート
Import-Module PSWindowsUpdate

補足

インストール時にリポジトリの信頼確認を求められた際には「y」を押してください。

インポート時に以下のようなエラーが出ることがあります。

PS C:\> Import-Module PSWindowsUpdate                                                                     Import-Module : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files\WindowsPowerShell\Mod ules\PSWindowsUpdate\2.2.1.5\PSWindowsUpdate.psm1 を読み込むことができません。詳細については、「about_Execution_Policie s」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。                                                発生場所 行:1 文字:1                                                                                                    + Import-Module PSWindowsUpdate                                                                                         + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) [Import-Module]、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand

Powershellの実行ポリシーで、スクリプト実行が無効化されているので有効化してください。

 参考:Powershellの実行ポリシーを変更する(Set-ExecutionPolicy)

1.更新プログラムの確認

インストール可能な更新プログラムを確認します。

Get-WindowsUpdate

以下のように更新可能なプログラムが一覧表示されます。

PS C:\> Get-WindowsUpdate

ComputerName Status     KB          Size Title
------------ ------     --          ---- -----
TESTVM       -D-----    KB890830    78MB 悪意のあるソフトウェアの削除ツール x64 - v5.132 (KB890830)
TESTVM       -D-----    KB5055688   72MB 2025-04 x64 (KB5055688) 向け Microsoft server operating system version 21H2...
TESTVM       -------    KB4052623   14MB Microsoft Defender Antivirus マルウェア対策プラットフォームの更新プログラム...
TESTVM       -D-----    KB5053603   25GB 2025-03 Microsoft server operating system version 21H2 x64 ベース システム...

また、更新可能なプログラムがない場合には何も出力されません。

PS C:\> Get-WindowsUpdate
PS C:\>

2.更新プログラムのインストール

すべての更新プログラムをインストールします。

Install-WindowsUpdate -AcceptAll

オプションとして -AutoReboot をつけると自動再起動まで実施することができます。

再起動まで終わったらWindowsUpdate完了です。

完了時の画面

-AutoReboot をつけなかったので再起動するかどうかが聞かれます。

PS C:\> Install-WindowsUpdate -AcceptAll

X ComputerName Result     KB          Size Title
- ------------ ------     --          ---- -----
1 TESTVM       Accepted   KB890830    78MB 悪意のあるソフトウェアの削除ツール x64 - v5.132 (KB890830)
1 TESTVM       Accepted   KB5055688   72MB 2025-04 x64 (KB5055688) 向け Microsoft server operating system version 21...
1 TESTVM       Accepted   KB5053603   25GB 2025-03 Microsoft server operating system version 21H2 x64 ベース システ...
2 TESTVM       Downloaded KB890830    78MB 悪意のあるソフトウェアの削除ツール x64 - v5.132 (KB890830)
2 TESTVM       Downloaded KB5055688   72MB 2025-04 x64 (KB5055688) 向け Microsoft server operating system version 21...
2 TESTVM       Downloaded KB5053603   25GB 2025-03 Microsoft server operating system version 21H2 x64 ベース システ...
3 TESTVM       Installed  KB890830    78MB 悪意のあるソフトウェアの削除ツール x64 - v5.132 (KB890830)
3 TESTVM       Installed  KB5055688   72MB 2025-04 x64 (KB5055688) 向け Microsoft server operating system version 21...
3 TESTVM       Installed  KB5053603   25GB 2025-03 Microsoft server operating system version 21H2 x64 ベース システ...
Reboot is required. Do it now? [Y / N] (default is 'N')

【参考】特定のKB番号を除外してインストールする

特定のKB番号を除外してインストールしたい場合には以下のコマンドで対応可能です。

Get-WindowsUpdate | Where-Object {$_.KB -notmatch "KB4052623"} | Install-WindowsUpdate -AcceptAll -AutoReboot

【参考】 PSWindowsUpdate モジュールインストール前後の比較

PSWindowsUpdate モジュールインストールする前後でWindowsUpdate関連のコマンドで差分があったので参考として載せておきます。

インストール前

「windowsupdate」という文字列が含まれるコマンドは2つしか確認できません。

PS C:\Users\hogeuser> get-command | sls windowsupdate

Get-SilWindowsUpdate
Get-WindowsUpdateLog

インストール後

「windowsupdate」という文字列が含まれるコマンドは10個に増えました。

PS C:\> get-command | sls windowsupdate

Download-WindowsUpdate
Hide-WindowsUpdate
Install-WindowsUpdate
Show-WindowsUpdate
UnHide-WindowsUpdate
Uninstall-WindowsUpdate
Get-SilWindowsUpdate
Get-WindowsUpdateLog
Get-WindowsUpdate
Remove-WindowsUpdate
タイトルとURLをコピーしました