【Windows】Windows update に関するpowershell サンプルコマンド集

作成日:2020/08/07

Windows 10 バージョン1709において Windows Update の操作を Powershellで実行する "WindowsUpdateProvider"モジュールが実装されました。これによりコマンドレットにより Windows Updateの操作が可能となりました。以前は設定アプリから手動で更新したり、wuauclt.exe を使用していましたが、1709以後では Powershell によりより柔軟なスクリプト化が可能となりました。
このページでは実装されたコマンドレットによるサンプルを紹介します。

まずは "Get-Command -Module" により"WindowsUpdateProvider"モジュールに含まれるコマンドを確認します。以下のようなコマンドが存在することが確認できます。


PS C:\> Get-Command -Module WindowsUpdateProvider

CommandType Name Version Source
----------- ---- ------- ------
Function Get-WUAVersion 1.0.0.2 WindowsUpdateProvider
Function Get-WUIsPendingReboot 1.0.0.2 WindowsUpdateProvider
Function Get-WULastInstallationDate 1.0.0.2 WindowsUpdateProvider
Function Get-WULastScanSuccessDate 1.0.0.2 WindowsUpdateProvider
Function Install-WUUpdates 1.0.0.2 WindowsUpdateProvider
Function Start-WUScan



一つ一つ確認していきます。
(1)Get-WUAVersion
WindowsUpdateエージェントのバージョンを取得します。

PS C:\> Get-WUAVersion
10.0.18362.836



(2)Get-WUIsPendingReboot
一般的に更新プログラムをインストールした場合にはWindows の再起動が必要となりますが、その再起動がペンディング(待ち)になっているかを判定します。もし True なら可能ならすぐにWindows を再起動すべきです。


PS C:\> Get-WUIsPendingReboot
False



(3)Get-WULastInstallationDate
最後にWindows Update のインストールに成功した日時を取得します。

PS C:\> Get-WULastInstallationDate

2020年8月7日 2:31:56



(4)Get-WULastScanSuccessDate
最後にWindows Updateによる更新の確認(スキャン)に成功した日時を取得します。

PS C:\> Get-WULastScanSuccessDate

2020年8月7日 2:35:56



(5)Install-WUUpdates
更新プログラムのダウンロードとインストールを行います。

(6)Start-WUScan
更新プログラムを確認します。

Start-WUScanで更新プログラムを確認した後でInstall-WUUpdatesでインストールを実行することが可能です。

PS C:\> $update=Start-WUScan
PS C:\> Install-WUUpdates -Updates $update



スキャンした結果インストール可能な更新プログラムが無くこれにより$updateが空の場合は次のエラーとなります。

Install-WUUpdates : パラメーター 'Updates の引数を確認できません。引数が null または空であるか、引数のコレクションの要
素に null 値が含まれています。null 値を含まないコレクションを指定して、コマンドを再度実行してください。




Windowsのよくある質問 FAQ




個人的に独自に調査した事項をまとめています。各ベンダーとは全く関係がありません。
内容に誤りがある場合や情報が古くなっている場合があります。その場合でも修正されるとは限りません。
参考としてサイト閲覧ください。万が一誤りがあり損失等が発生しても保証しません。あくまでも自己責任でサイトを閲覧ください。