Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

Windows10 PCでWindows Updateの更新履歴を確認するとき、台数が少なければ、1台ずつWindows10の設定アプリを開いて確認する方法でも良いですが、台数が多くなるとGUI操作で確認するのは効率が良くありません。

そんなときは、PowerShellを利用することでコマンドで効率よく更新プログラムの適用履歴を確認することができます。

そこで、ここではWindows10のPowerShellで更新プログラムの適用履歴を確認する方法を紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェア バージョン
Windows10 Pro 64bit 2004

PowerShellで更新履歴を確認する

更新履歴を確認するには「Get-HotFix」コマンドレットを利用します。

PowerShellを起動して「Get-HotFix」と入力してエンターキーを押すと、以下のように更新プログラムの適用履歴が表示されます。

PS C:\> Get-HotFix

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

更新履歴を並べ替える

Get-HotFixコマンドレットの出力結果は、Sort-Objectコマンドレットで並べ替えることができます。

たとえば、KB番号(HotFixID列)で並べ替えたいときは、以下のようにコマンドを実行します。

PS C:\> Get-HotFix | Sort-Object HotFixID

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

インストール日(InstalledOn列)の新しい順で並び替えたいときは、以下のようにコマンドを実行します。

PS C:\> Get-HotFix | Sort-Object InstalledOn -Descending

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

Descriptionの値で絞り込む

Get-HotFixコマンドレットでは、Description列の値で出力結果を絞り込むこともでき、その場合は「-Description」オプションを利用します。

たとえば、Description列の値が「Update」の更新プログラムだけに絞り込みたい場合は、以下のようにコマンドを実行します。

PS C:\> Get-HotFix -Description "Update"

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

KB番号で絞り込む

特定の更新プログラムが適用されているかを調べたいときは、Where-Objectコマンドレットを併用します。

たとえば、KB4556803という更新プログラムが適用されているか調べるときは、以下のようにコマンドを実行します。

PS C:\> Get-HotFix | Where-Object HotFixID -match "KB4556803"

対象の更新プログラムがインストールされている場合は、結果文字列が出力され、該当する更新プログラムがない場合は、なにも出力されません。

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

KB番号の一部で絞り込む場合は、以下のようにコマンドを実行します。

PS C:\> Get-HotFix | Where-Object HotFixID -like "KB454*"

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

更新履歴をテキストファイルに出力する

Get-HotFixコマンドレットの出力結果を、テキストファイルに出力する場合は、Out-Fileコマンドレットを併用します。

たとえば「C:\result.txt」というファイルに出力するときは、以下のようにコマンドを実行します。

PS C:\> Get-HotFix | Out-File "C:\result.txt"

出力されたテキストファイルは、次のような内容になります。

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

リモートマシンの更新履歴を取得する

Get-HotFixコマンドレットは「-Computer」オプションで、リモートマシンのコンピューター名やIPアドレスを指定することで、他のWindows10マシンの更新履歴を取得できます。

たとえば、IPアドレスが172.28.212.12のリモートマシンの更新履歴を取得する場合は、以下のようにコマンドを実行します。

PS C:\> Get-HotFix -ComputerName 172.28.212.12 -Credential administrator

「-Credential」オプションには、リモートマシンの資格情報を入力します。

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

なお、ActiveDirectoryドメイン環境で、ドメインに参加しているマシン同士なら特別な設定をしなくても、リモートマシンに対してGet-HotFixコマンドレットを実行できますが、ワークグループ環境では、リモートマシンのファイアウォールに受信の許可設定を追加する必要があります。

リモートマシンが「Windows Defender ファイアウォール」を利用している場合は、リモートマシン上で、管理者権限でPowerShellを起動して、以下のコマンドを実行することで受信の規則を追加できます。

PS C:\> New-NetFirewallRule -DisplayName "@RPC-enable" -Program "%SystemRoot%\System32\svchost.exe" -Profile Private -Direction Inbound -Protocol TCP -LocalPort RPC -Action Allow

あとがき

ちなみに、Windows10の更新履歴は「Get-ComputerInfo」コマンドレットでも取得することができます。

PS C:¥> (Get-ComputerInfo).OsHotFixes

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法

記事が役立ったらシェアしてくれるとうれしいです。

あなたにおすすめのコンテンツ
トップへ戻る