インストール済みの更新プログラムをコマンドで確認する方法

インストール済みの更新プログラムをコマンドで確認する方法

Windowsでインストール済み(適用済み)の更新プログラムを確認したい場合、設定画面からWindows Updateの更新履歴を確認するのが一般的ですが、確認が必要な台数が多くなると1台ずつ設定画面を開いて確認するのは効率が良くありません。

そのようなときは、WindowsコマンドやPowerShellコマンドレットを使ってインストール済みの更新プログラムを収集するのが効率的です。

そこでここではWindows 10を例に、WindowsコマンドやPowerShellコマンドレットを使って、インストール済みの更新プログラムの一覧を収集する方法を紹介します。

Windowsコマンドで確認

Windowsコマンドでインストール済みの更新プログラム一覧を収集するときは、コマンドプロンプトを起動して以下のコマンドを実行します。

> wmic qfe list brief

インストール済みの更新プログラムをコマンドで確認する方法

テキストファイルに出力

インストール済みの更新プログラム一覧をファイルに出力したいときは、以下のようにファイルにリダイレクトすればOKです。

> wmic qfe list brief >E:\result.txt

出力されたテキストファイルには、画面出力したときと同じ内容が記録されます。

インストール済みの更新プログラムをコマンドで確認する方法

PowerShellコマンドレットで確認

PowerShellコマンドレットでインストール済みの更新プログラム一覧を収集するときは、Get-HotFixコマンドレットを利用します。

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

PS> Get-HotFix

インストール済みの更新プログラムをコマンドで確認する方法

KB番号で並べ替える

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

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

PS> Get-HotFix | Sort-Object HotFixID

インストール済みの更新プログラムをコマンドで確認する方法

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

PS> Get-HotFix | Sort-Object InstalledOn -Descending

インストール済みの更新プログラムをコマンドで確認する方法

Descriptionの値で絞り込む

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

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

PS> Get-HotFix -Description "Update"

インストール済みの更新プログラムをコマンドで確認する方法

KB番号で絞り込む

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

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

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

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

インストール済みの更新プログラムをコマンドで確認する方法

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

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

インストール済みの更新プログラムをコマンドで確認する方法

テキストファイルに出力

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

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

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

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

インストール済みの更新プログラムをコマンドで確認する方法

リモートマシンの適用履歴を取得

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

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

PS> Get-HotFix -ComputerName 172.28.212.12 -Credential administrator

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

インストール済みの更新プログラムをコマンドで確認する方法

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

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

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

あとがき

ちなみに、PowerShellならGet-ComputerInfoコマンドレットでもインストール済みの更新プログラムの一覧を取得することができます。

PS> (Get-ComputerInfo).OsHotFixes

インストール済みの更新プログラムをコマンドで確認する方法