Windows環境では、セキュリティや機能改善のために定期的な更新プログラム(パッチ)が適用されています。これらの更新が正しく適用されているかを確認したい場面は多く、特にIT管理者やシステムエンジニアにとっては重要な作業の一つです。
そんなときに便利なのが、PowerShellの Get-HotFix
コマンドです。このコマンドを使えば、インストール済みの更新プログラム一覧を素早く取得できます。本記事では、Get-HotFix
の基本的な使い方から応用例まで、わかりやすく解説していきます。
Get-HotFixとは?
Get-HotFix
は、Windows PowerShellで使用できるコマンドレットのひとつで、システムにインストールされている修正プログラム(HotFix、更新プログラム)を取得するために使用されます。
Microsoft UpdateやWindows Update、WSUSなどで配布された更新パッチがインストールされた履歴を一覧で確認でき、システム管理やトラブルシューティングにおいて非常に役立ちます。
たとえば、特定のセキュリティパッチが適用されているか確認したい場合や、いつどの更新が実施されたかを調べたいときに活用されます。
基本的な使用方法
PowerShellを管理者権限で起動し、以下のようにコマンドを入力するだけで、インストール済みのHotFix一覧を取得できます。
Get-HotFix
実行すると、以下のような情報が一覧で表示されます。
Source | Description | HotFixID | InstalledBy | InstalledOn |
---|---|---|---|---|
COMPUTER01 | Update | KB5021234 | NT AUTHORITY\SYSTEM | 2024/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にまだ慣れていない方でも、今回紹介したコマンド例をコピーして実行するだけで簡単に活用できるので、ぜひ日常のメンテナンスに取り入れてみてください。