none
wmic qfeコマンドで表示されないHotFixがある RRS feed

  • 質問

  • Windows7にてwmic qfeコマンドを実行し、HotFixの適用有無を確認したいと考えているのですが、表示されないHotFixがあり困っています。
    wmicコマンドで全てのHotFixを表示する方法はあるのでしょうか。また、WindowsUpdateサイト、プログラムのアンインストール以外で全てのHotFixを確認することは可能でしょうか。

    ●Windows 7 Professional 64 bit
    ・"インストールされた更新プログラムを表示" で確認した数 : 249個
    ・wmic qfe list /format:htable > qfelist.htm の数 :  132個

    [表示されないHotFix例]
    KB2737019
    KB2729449

    ※例に出した更新プログラムは.NET Framework 4.0のものです。PCに.NET Framework 4.0はインストール済みです。
    ※Officeの更新プログラムにもwmicコマンドで表示されないものがあるため、.NET Framework 4.0に限定した話ではないと考えています。

    どなたか方法をご存知の方がおりましたら
    ご教授いただけないでしょうか。
    よろしくお願いいたします。

    2012年11月26日 10:06

回答

  • ※以下の回答は、結論から言えばまだ不足するものがあるため、最終回答と
      は言えません。

    Windows 8.1環境ですが、私も同じような疑問を持っており調べたところ、
    以下に関連しそうな回答がありました。
    http://superuser.com/questions/1002015/why-are-get-hotfix-and-wmic-qfe-list-in-powershell-missing-installed-updates

    早速上記の回答を参考に実施したところ、wmic qfeでは得られなかった更新
    ファイルを得ることができました。出力される結果は、wmic qfeで得られる
    結果も一部混じっているので、wmic qfe結果をマージした上で重複分を削除
    する必要がありそうです。
    しかし、両社の結果をマージしても私の環境では尚48個不足しているという
    結果となりました。

    ・コントロールパネル>プログラム>プログラムと機能>インストールされ
      た更新プログラム、にて表示される更新プログラムは 270個。
    ・wmic qfeで得られる結果は、154個。
    ・今回提示した方法で得られる結果は、192個。
    ・wmic qfe結果と今回提示の方法の結果をマージ(重複削除)して得られる
      結果は、222個。

    ---実施例----
    PS C:\work> $Session = New-Object -ComObject Microsoft.Update.Session
    PS C:\work> $Searcher = $Session.CreateUpdateSearcher()
    PS C:\work> $Searcher.Search("IsInstalled=1").Updates | ft -a Date,Title
    ---実施例----

    上記を実施したところ以下のように更新プログラム名の前の文字が長すぎて
    肝心のKBxxxx が得られないものがいくつかありましたので、実施例の3行目
    の '| ft -a Date,Title' を省いて実施すると欠けるのを防げます。

    ---KBxxxx が得られないケース----
    Microsoft .NET Framework 3.5 用セキュリティ更新プログラム、Windows 8.1 for x64-based Systems および Windows Ser...
    ---KBxxxx が得られないケース----

    ※私が詳しくないせいかもしれませんが、3行目をリダイレクト( > hoge.txt )
      してファイルに取り出したところ、文字コードが UTF16-LE となっています
      ので、grep等のツールを利用するには文字コードを例えば UTF8等に変換する
      必要があるかもしれません。
      (wmic qfeの結果をリダイレクトしてもUTF16-LEとなってしまうようです)
    2016年3月17日 4:16