PowerShellでシステムのホットフィックスと更新プログラムを一覧表示する方法

PowerShellでシステムのホットフィックスと更新プログラムを一覧表示する方法という問いには、Get-HotFixを日付順に取得し、必要なKBは-Idの完全一致とOSビルド情報を併用して確認するという方法で答えます。Get-HotFixはWin32_QuickFixEngineeringを基にするため、設定アプリに見えるすべての品質・機能・ドライバー更新を完全に列挙するものではない。この記事ではComputerName、HotFixID、Description、InstalledOn、InstalledByを同じ更新レコードへ含めるを判断軸にし、実行前の確認、記事固有のコード、合否判定、戻し方を一続きで示します。

更新を適用する記事ではなく、Quick Fix Engineeringが公開する導入情報を読む。完了は「対象KBの存在、導入日、端末名、現在OSビルドを示し、一覧の対象範囲も説明できる」と定義します。対象が取れない場合は「KBが0件でも未更新と決めず、累積更新への置換、別更新種別、履歴API、OSイメージを確認する」として切り分け、推測で成功扱いにしません。

目次

Get-HotFixが表す更新範囲

Get-HotFixが表す更新範囲では、Windows更新とホットフィックスの一覧の対象を「ComputerName、HotFixID、Description、InstalledOn、InstalledByを同じ更新レコードへ含める」という単位で扱います。Get-HotFixはWin32_QuickFixEngineeringを基にするため、設定アプリに見えるすべての品質・機能・ドライバー更新を完全に列挙するものではない。対象が複数なら表示名の部分一致で先頭を採らず、一意になる条件を追加します。

Windows更新とホットフィックスの一覧を始める前に、PowerShellの版、コマンドの提供元、必要権限、管理ポリシーの有無を確認します。権限不足と対象なしは意味が異なるため、例外を0件へ置き換えません。

InstalledOn順でKBを並べる

InstalledOn順でKBを並べるは変更前の基準点です。ComputerName、HotFixID、Description、InstalledOn、InstalledByを同じ更新レコードへ含めるを出力に含め、取得時刻と一緒に保存します。値だけを切り取ると別対象との比較になるため、識別列を省きません。

Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 30 HotFixID, Description, InstalledOn, InstalledBy

Get-HotFixはWin32_QuickFixEngineeringを基にするため、設定アプリに見えるすべての品質・機能・ドライバー更新を完全に列挙するものではない。出力が多い場合も最初から無理に一件へ絞らず、候補数と除外理由を残してから対象を決めます。

CIM結果と同じKBを照合

Get-HotFixを日付順に取得し、必要なKBは-Idの完全一致とOSビルド情報を併用して確認する。Windows更新とホットフィックスの一覧ではこの進め方により、操作したという事実ではなく、期待する状態へ到達したかでタイトルの問いへ答えられます。更新を適用する記事ではなく、Quick Fix Engineeringが公開する導入情報を読む。

CIM結果と同じKBを照合の合格条件は、対象KBの存在、導入日、端末名、現在OSビルドを示し、一覧の対象範囲も説明できることです。作業時刻、実行ユーザー、端末名を添え、判断に使った値が後から追える形にします。

特定KBの有無を完全一致で確認

特定KBの有無を完全一致で確認では、Get-HotFixを日付順に取得し、必要なKBは-Idの完全一致とOSビルド情報を併用して確認する。Windows更新とホットフィックスの一覧の例中にある名前、パス、ID、時刻はサンプルなので、そのまま本番へ貼らず、直前の読み取り結果から承認値を入れます。

Get-CimInstance Win32_QuickFixEngineering | Select-Object HotFixID, Description, InstalledOn

InstalledOnのカルチャ形式を文字列ソートしない。KB有無だけで脆弱性修正状況を断定しない。Windows更新とホットフィックスの一覧でプレビュー対応コマンドを使える場合はWhatIfを先に実行し、非対応の操作は対象一覧と引数を画面へ出して人が承認してから一度だけ実行します。

Windows Update履歴との違い

Windows Update履歴との違いでは同じ対象を別経路でもう一度読みます。判定したいのは「コマンドが終了したか」ではなく、対象KBの存在、導入日、端末名、現在OSビルドを示し、一覧の対象範囲も説明できるかどうかです。

Get-HotFix -Id 'KB5030219' -ErrorAction SilentlyContinue
Get-WinEvent -FilterHashtable @{ LogName='System'; ProviderName='Microsoft-Windows-WindowsUpdateClient' } -MaxEvents 20

KBが0件でも未更新と決めず、累積更新への置換、別更新種別、履歴API、OSイメージを確認する。Windows更新とホットフィックスの一覧の期待値と実測値が一致しないときは追加変更を重ねず、対象識別、権限、ポリシー、時間差の順で原因を分けます。

0件を未更新と断定しない

InstalledOnのカルチャ形式を文字列ソートしない。KB有無だけで脆弱性修正状況を断定しない。0件を未更新と断定しないに該当したら、警告を消して継続するのではなく、どの条件で止まったかを記録します。

KBが0件でも未更新と決めず、累積更新への置換、別更新種別、履歴API、OSイメージを確認する。Windows更新とホットフィックスの一覧ではエラー本文、FullyQualifiedErrorId、対象ID、直前に成功した段階を残すと、別担当者が安全な地点から調査できます。

端末・ビルドと一緒に保存

定期棚卸しはOSビルドと採取日時を添え、累積更新の置き換え関係を管理する。Windows更新とホットフィックスの一覧を繰り返す場合は、正常、対象なし、要承認、失敗を異なる終了状態として記録し、前回値との比較だけで異常を決めません。

端末・ビルドと一緒に保存の識別軸ComputerName、HotFixID、Description、InstalledOn、InstalledByを同じ更新レコードへ含める
採用する実測対象KBの存在、導入日、端末名、現在OSビルドを示し、一覧の対象範囲も説明できる
0件時の扱いKBが0件でも未更新と決めず、累積更新への置換、別更新種別、履歴API、OSイメージを確認する
保留にする兆候InstalledOnのカルチャ形式を文字列ソートしない。KB有無だけで脆弱性修正状況を断定しない

Windows更新とホットフィックスの一覧の実行記録には、開始前の対象候補、採用した識別値、実行したコード、終了後の実測、除外した候補と理由を同じ作業番号で残します。特に「ComputerName、HotFixID、Description、InstalledOn、InstalledByを同じ更新レコードへ含める」を省くと、後日の再確認で別対象の値を比較するおそれがあります。画面コピーだけでなく、日時と端末名を含む構造化した出力も保存します。

PowerShellでシステムのホットフィックスと更新プログラムを一覧表示する方法を定期手順へ組み込む場合も、初回は対話的に候補を確認します。正常時は「対象KBの存在、導入日、端末名、現在OSビルドを示し、一覧の対象範囲も説明できる」、判定不能時は「KBが0件でも未更新と決めず、累積更新への置換、別更新種別、履歴API、OSイメージを確認する」、中止時は「InstalledOnのカルチャ形式を文字列ソートしない。KB有無だけで脆弱性修正状況を断定しない」をそれぞれ別の結果として扱います。これにより、0件や例外を都合よく成功へ丸めず、次の担当者が同じ対象と条件で追試できます。

公式情報・参考資料

Windows更新とホットフィックスの一覧で使うコマンド名、引数、対応環境は次のMicrosoft一次資料で確認しました。記事の確認日は2026年7月17日です。OSやモジュール更新後は、実行端末のGet-Helpと併せて再確認してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次