某製品の動作確認報告を作成するにあたり、対象環境のWindows Update適用状況を参考情報として付記することにしました。が、これ、一つ一つコントロールパネルの「アプリケーションの追加と削除」から書き写すとかやってられません。というわけで、何かコマンドで実行できるようになってるんじゃないかと調べたところ...
ありましたありました。コマンドプロンプトから下記のコマンドです。
wmic qfe > ファイル名
ですが、上記のブログにも書いて有るとおり、1回目はwmicというコマンド自体のセットアップ作業が入り、その結果、出力の日本語部分、例えば「Windows Media Player 9 (KB936782) セキュリティ問題の修正プログラム」なんてのが文字化けしてしまいます。なので初回実行であれば、2回実行して2回目の出力を取れば問題ありません。ただし出力は空白で調整された、結構横長なテキストファイルになります。これを綺麗に読むのはちょっと難しいので、そこから報告書用の書式に整形するのは一つ一つ手作業になるかもしれませんね(エクセルで空白区切り読み込みすれば良いかも…)。また、出力されるのはWindows自体のアップデートのみで、同じKBで始まる番号が付いていてもOfficeなどのアップデートは出てきませんので注意してください。
ファイルに出力される項目は以下の通りです。それぞれの意味はとりあえず出てきたものから推測で書いていますが、日付が入っている物もありますのでだいたい「いつ頃最後にアップデートしたか」は判ると思います。
- Caption: 私の環境では空っぽでした。
- CSName: PC名のようです。
- Description: 「Windows Media Player 11 (KB959772) 重要な更新 」のようなアップデート名です。空のものもあります。
- FixComments: 「Update」や「ServicePack」のような区分が入ります。
- HotFixID: 「KB951698」のようなパッチのナレッジベース番号が入ります。
- InstallDate: 私の環境では空っぽでした。
- InstalledBy: インストール日付です。
- InstalledOn: インストールしたユーザー名?
- Name: 私の環境では空っぽでした。
- ServicePackInEffect: 「KB2476687」「SP4」などのナレッジベース番号やサービスパック番号が入ります。
- Status: 私の環境では空っぽでした。
なお、他にもsysteminfoコマンドなども使えるようですが、こちらはKB番号のみの簡易出力になります。