コンピュータにWindows Update(KB)がインストールされているかどうかを確認する方法

Windows Updateチャネルは、システムに適したすべての必要な更新を配信します。 ほとんどの場合、アップデートのインストールには手動による介入は必要ありません。 場合によっては、特にスタンドアロンインストーラーを使用して更新を手動でインストールするときに、特定の更新(必須の更新)がシステムにインストールされているかどうかを最初に確認する必要があります。

この記事では、特定のWindows Update( KBnnnnnn )がコンピューターにインストールされているかどうかを確認する方法について説明します。

コンピュータにWindows Update(KB)がインストールされているかどうかを確認する方法

システムにアップデートがインストールされているかどうかを確認するには、少なくとも7つの方法があります。

方法1:Windows Updateの履歴を確認する

最新の設定アプリには、Windowsの更新履歴を表示するオプションがあります。 表示方法は次のとおりです。

  1. [設定]を開き、[更新とセキュリティ]をクリックします
  2. [ 更新履歴を表示]をクリックします 。 アップデート履歴ページには、コンピュータにインストールされているアップデートのリストが表示されます。
  3. リストをスクロールして、探している特定の更新( KBnnnnnn )を見つけます。

編集者注:更新履歴ページには、一部の更新が表示されない場合があります。 私のコンピューターでは、更新プログラムが数か月前にインストールされたにもかかわらず、サービススタック更新(SSU) KB4470788が更新履歴ページに表示されませんでした。


方法2:インストールされている更新プログラムをプログラムと機能のコントロールパネルに表示する

コントロールパネルの「プログラムと機能」アプレットを使用して、インストールされているアップデートのリストを見つけることができます。

  1. [スタート]を右クリックし、[実行]をクリックします。
  2. appwiz.cplと入力appwiz.cpl 、[OK]をクリックします。 これにより、クラシックコントロールパネルのプログラムと機能が開きます。
  3. 左側のView installed updatesリンクをクリックしView installed updates 。 これにより、更新のリストとインストール日列が表示されます。

注:従来のプログラムと機能アプレットでは、サービススタック更新(SSU)KB4470788 が一覧表示され 、インストール日Dec 07, 2018日と表示されます。 最新の設定アプリの[更新履歴の表示]オプションと[プログラムと機能]は、更新履歴を見つけるために2つの異なるソースを使用しているようです。


方法3:DISMコマンドを使用する

組み込みのDISMツールは、インストールされているWindows Update CBSパッケージを一覧表示できます。 次の手順を実行します:

  1. 管理者のコマンドプロンプトウィンドウを開きます。
  2. 次のコマンドを入力してEnterキーを押します。

     dism / online / get-packages | クリップ 
  3. 出力はクリップボードにリダイレクトされ| clip| clip演算子を使用)。

  4. メモ帳を開き、クリップボードからコンテンツを貼り付けます(Ctrl + V)
  5. メモ帳の[ Find ]オプションを使用して、更新プログラムKB4470788がインストールされているかどうかを確認します。

    注:DISMによって表示される更新のインストール時刻はGMTになる場合があります。


方法4:KB更新インストーラー(.msu)ファイルを再度実行します。

KBセットアップ.msu再度実行すると、アップデートがすでにインストールされているかどうかが.msuます。 ここでは、Microsoft Updateカタログからスタンドアロンインストーラーを取得し、.msuセットアップファイルを実行する方法について説明します。 この方法は、Windows Updateスタンドアロンインストーラー.msuのみ機能することに注意してください。 つまり、 .cabバージョンがある場合、このメソッドは適用されません。

$config[ads_text6] not found
  1. Windows Updateカタログにアクセスする
  2. KB番号を.msu 、更新パッケージ( .msu )をダウンロードします。
  3. .msuファイルをダブルクリックして、セットアップを実行します。 Windows Updateスタンドアロンインストーラー(WUSA)はコンピューター上の更新プログラムを検索し、更新プログラムが既にインストールされているかどうかを判断します。

    既にインストールされている場合は、「 (KBnnnnnn)はすでにこのコンピュータにインストールされています」というメッセージが表示されます


方法5:NirSoftのWinUpdatesListまたはWinUpdatesViewユーティリティを使用する

wul.exeのWinUpdatesListユーティリティ( wul.exe )は、ローカルコンピュータにインストールされているサービスパックやホットフィックスを含むすべてのWindowsアップデートのリストを表示します。 更新のリストをクリップボードにコピーするか、ワンクリックでテキスト/ HTML / XMLファイルに保存できます。 リストされている各アップデートについて、次のフィールドが表示されます。 WinUpdatesListについては、「テキストファイルまたはHTMLファイルにエクスポートしてWindows更新履歴を印刷する方法」の記事で取り上げました。

注:ただし、WinUpdatesListユーティリティでは、コンピューターのサービススタック更新KB4470788が一覧表示されませんでした。 このツールがあなたのケースでうまく機能することを願っています。

注: WinUpdatesListツールは非常に古く、更新されていません。 WinUpdatesListに代わるWinUpdatesViewという新しいツールがあります

WinUpdatesView(Windows Updates History Viewer)

WinUpdatesViewは、システム上のWindows更新の履歴を表示するNirsoftのシンプルなツールです。 WinUpdatesViewは、APIを使用してローカルシステムからWindows更新履歴を読み込み、外部ドライブまたはネットワーク上のリモートコンピューターからWindows更新データベースファイル( DataStore.edb )を読み取って解析することもできます。


方法6:WMIコマンドラインを使用する

管理コマンドプロンプトから、次のコマンドを実行します。

 wmic qfe list full / format:table 

インストールされたアップデートのリストと、インストール日およびその他の詳細が表示されます。

または、次の構文を使用してHTMLファイルにエクスポートします。

 wmic qfe list full / format:htable> D:\ hotfixes.htm 

または、特定の更新を一覧表示するには、次のコマンドを実行します。

 wmic qfe list full / format:table | findstr / i "4470788" 

または、PowerShellウィンドウからGet-Hotfixコマンドを実行して、同じ結果を得ることができます。

次のコマンドを実行して、 InstalledOn列でテーブルを降順に並べ替えることができます。

 Get-HotFix | Sort-Object InstalledOn -Descending 

PowerShellのGet-HotFixコマンドレットも、上記のWMIC CLIツールとしてWMIのWin32_QuickFixEngineering(QFE)クラスを使用します。 出力はまったく同じです。

オペレーティングシステム、Office、アプリの更新を含むすべてのKB更新を一覧表示するには、「テキストまたはHTMLファイルにエクスポートしてWindows更新履歴を印刷する方法」の記事の最後にあるPowerShellスクリプトを使用します

コマンドプロンプトウィンドウのsysteminfoコマンドでも、インストールされている修正プログラムが一覧表示されます。 再びWMI QFEクラスを使用して、修正プログラムのリストを照会します。


方法7:Windows Update CBSレジストリエントリを確認する

インストールされている更新ごとに、対応するコンポーネントベースのサービスパッケージのレジストリエントリが作成されます。 レジストリエディターを使用して、Windows更新プログラムがコンピューターにインストールされているかどうかを確認できます。

  1. レジストリエディター( regedit.exe )を起動します。
  2. 次のレジストリキーに移動します。
     HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Component Based Servicing \ Packages 
  3. [編集]メニューの[検索]オプションを使用して、 4470788というテキストのキーを検索します( KB4470788関連のエントリを検索します)。

    キーが存在する場合は、ブランチに移動します。 私の場合、更新プログラムは既にインストールされているため、[検索]オプションによって次のキーが見つかりました。

     HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Component Based Servicing \ Packages \ Package_1_for_KB4470788〜31bf3856ad364e35〜amd64 ~~ 17763.164.1.1 
  4. 右側のペインで、「CurrentState」の値のデータを確認します。 値のデータが0x00000070 (112)場合、更新プログラムが正常にインストールされたことを意味します。

    以下は、可能なCurrentStateレジストリ値とその意味のリストです。

    該当/現状16進数12月
    欠席00
    保留中のアンインストール0x55
    解決する0x1016
    解決した0x2032
    演出0x3048
    上演0x4064
    置き換えられた0x5080
    インストール保留中0x6096
    一部インストール済み0x65101
    インストール済み0x70112
    永久0x80128

    出典:CBSサービス状態チャート–復習–今日のヒント

    レジストリを使用してアップデートのインストール日時を決定する

    各CBSパッケージキーには、 InstallTimeLowInstallTimeHighという2つの値がInstallTimeLow InstallTimeHigh 。 これらのキーをデコードすると、更新がインストールされた日時が表示されます。 ただし、更新プログラムがコンピューターにインストールされた正確なインストール日時を確認する簡単な方法があります。

    コツは、パッケージブランチを( .reg形式ではなく) .txtファイルにエクスポートし、ファイルに記載されているタイムスタンプを読み取ることです。 このでは、アップデートKB4470788のインストール日時を確認します。

    1. レジストリエディターで、次の( KB4470788 )キーを選択します。
       HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Component Based Servicing \ Packages \ Package_1_for_KB4470788〜31bf3856ad364e35〜amd64 ~~ 17763.164.1.1 
    2. パッケージキーを右クリックし、[エクスポート]をクリックします。
    3. この例では、 Package_1_for_KB4470788~31bf3856ad364e35~amd64~~17763.164.1.1ブランチをエクスポートします。
    4. [ファイルの種類]で、[テキストファイル(* .txt)]を選択します。
    5. エクスポートしたファイルに名前を付け、[保存]をクリックします。
    6. .txtファイルを開き、「最終書き込み時間:」データを確認します。

      最終書き込み時刻は、レジストリエントリが作成された日時を示します。

      $config[ads_text6] not found

    ご覧のとおり、この例の最終書き込み時刻は、「プログラムと機能」を使用してMethod 2決定た日時と一致しています。

それでおしまい! この記事が、特定のWindows Update(KBnnnnnn)がシステムに適用されているかどうかを確認するのに役立つことを願っています。

関連記事

  • Windows UpdateカタログからCABおよびMSUの更新をインストールする方法
  • 任意のブラウザーを使用してMicrosoft Updateカタログから更新を直接ダウンロードする
  • テキストまたはHTMLファイルにエクスポートしてWindows更新履歴を印刷する方法

関連記事