PowerShellでインストール済みのWindows更新プログラムを確認する方法:Get-HotFixの使い方と活用例

Windows環境では、セキュリティや機能改善のために定期的な更新プログラム(パッチ)が適用されています。これらの更新が正しく適用されているかを確認したい場面は多く、特にIT管理者やシステムエンジニアにとっては重要な作業の一つです。
そんなときに便利なのが、PowerShellの Get-HotFix コマンドです。このコマンドを使えば、インストール済みの更新プログラム一覧を素早く取得できます。本記事では、Get-HotFix の基本的な使い方から応用例まで、わかりやすく解説していきます。

Get-HotFixとは?

Get-HotFix は、Windows PowerShellで使用できるコマンドレットのひとつで、システムにインストールされている修正プログラム(HotFix、更新プログラム)を取得するために使用されます。
Microsoft UpdateやWindows Update、WSUSなどで配布された更新パッチがインストールされた履歴を一覧で確認でき、システム管理やトラブルシューティングにおいて非常に役立ちます。

たとえば、特定のセキュリティパッチが適用されているか確認したい場合や、いつどの更新が実施されたかを調べたいときに活用されます。


基本的な使用方法

PowerShellを管理者権限で起動し、以下のようにコマンドを入力するだけで、インストール済みのHotFix一覧を取得できます。

Get-HotFix

実行すると、以下のような情報が一覧で表示されます。

SourceDescriptionHotFixIDInstalledByInstalledOn
COMPUTER01UpdateKB5021234NT AUTHORITY\SYSTEM2024/05/10
  • HotFixID:KB番号(更新プログラムの識別子)
  • Description:更新の種類(通常は”Update”)
  • InstalledOn:更新が適用された日付

これにより、過去にインストールされたパッチの履歴を簡単に確認できます。


特定のKB番号を検索する方法

大量の更新プログラムの中から、特定のKB番号を探したいときは、Where-Object を使ってフィルタリングすると便利です。

例:KB5021234がインストールされているか確認

Get-HotFix | Where-Object { $_.HotFixID -eq "KB5021234" }

何も表示されなければそのKBはインストールされていないことになります。逆に該当情報が表示されれば、すでに適用済みであると判断できます。


特定の日付以降にインストールされた更新を確認する

更新履歴の中から、特定の日付以降にインストールされた更新プログラムのみを抽出することも可能です。

例:2024年1月1日以降の更新一覧を表示

Get-HotFix | Where-Object { $_.InstalledOn -ge (Get-Date "2024-01-01") }

この方法を使えば、定期的なパッチ適用の確認や、問題が発生した期間中にインストールされた更新を特定することができます。


CSV形式で出力してレポートに活用する

管理記録や報告書として使用するために、結果をCSV形式で保存することも可能です。

Get-HotFix | Export-Csv -Path "C:\temp\hotfix_report.csv" -NoTypeInformation

このCSVファイルをExcelで開けば、より見やすい一覧として整形された形式で確認・共有できます。


特定のコンピュータに対してGet-HotFixを実行する

-ComputerName パラメーターを使用すれば、ネットワーク内の別のPCに対してもHotFixの情報を取得することが可能です(リモート管理が有効な環境に限る)。

Get-HotFix -ComputerName "PC-01"

リモート管理において複数のマシンの更新状況を把握したい場合、スクリプトと組み合わせて自動化することもできます。


Get-HotFixが表示しない更新もある?

注意点として、Get-HotFix はすべてのWindows更新プログラムを網羅しているわけではありません。特に、ストアアプリや一部の品質更新、機能更新(Feature Update)は含まれない場合があります。
それらの詳細まで確認したい場合は、以下のコマンドを利用するのもおすすめです。

Get-WindowsUpdateLog

または、Windowsの設定画面から「更新の履歴」を見る方法も併用すると、より正確な全体像を把握できます。


トラブル時の調査に役立つ場面

実際の現場でよくあるのが「昨日までは動いていたのに、急に不具合が出た」という状況。このとき、何らかのWindows更新が原因になっているケースがあります。
Get-HotFix を使って直近の更新を確認し、問題発生のタイミングと一致していないかを調べることで、原因の特定に近づけることがあります。


おすすめの応用スクリプト例

複数の端末のHotFix情報を一括取得し、レポート化するPowerShellスクリプト例も紹介します。

$computers = @("PC-01", "PC-02", "PC-03")
foreach ($pc in $computers) {
try {
Get-HotFix -ComputerName $pc | Select-Object PSComputerName, HotFixID, InstalledOn |
Export-Csv -Append -Path "C:\temp\hotfix_all_report.csv" -NoTypeInformation
} catch {
Write-Output "[$pc] への接続に失敗しました。"
}
}

このスクリプトでは、指定した複数のPCに対して Get-HotFix を実行し、結果を1つのCSVファイルにまとめています。日常的な運用管理に組み込むと便利です。


まとめ

Get-HotFix コマンドは、Windows環境における更新履歴の確認を簡単に行える便利なPowerShellコマンドです。基本的な使い方から応用まで、幅広い場面で活用できます。

特に、トラブル対応や監査対応、パッチ適用状況の把握といった用途において、管理者の頼れるツールとなります。
PowerShellにまだ慣れていない方でも、今回紹介したコマンド例をコピーして実行するだけで簡単に活用できるので、ぜひ日常のメンテナンスに取り入れてみてください。

タイトルとURLをコピーしました