WindowsUpdateをPowershellコマンドで更新してみました。
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