Windows Update 適用状況の一覧を得る

windowsupdatelist.vbs

Set objSession = CreateObject("Microsoft.Update.Session") Set objSearcher = objSession.CreateUpdateSearcher Set objResults = objSearcher.Search("Type='Software'") Set colUpdates = objResults.Updates For i = 0 to colUpdates.Count - 1 If colUpdates.Item(i).IsInstalled <> 0 Then Wscript.Echo "[Installed]: " & colUpdates.Item(i).Title Else Wscript.Echo "[Not Installed]: " & colUpdates.Item(i).Title End If Next

windowsupdatelist.cmd

REM ECHO OFF setlocal set drv=%cd:~0,1% set dt=%date% set tm=%time::=% set tm=%tm: =0% set tm=%tm:~0,6% set FName=WindowsUpdateList-%dt:~-10,4%%dt:~-5,2%%dt:~-2,2%%tm%-%COMPUTERNAME%.txt cscript windowsupdatelist.vbs //Nologo > %FName% endlocal

上記の2つのファイルを同一のフォルダに置いて、windowsupdatelist.cmd を管理者として実行すると、「WindowsUpdateList-時刻-マシン名.txt」というファイルが出来上がるようになっている。頻繁に利用するのであれば、ショートカットを作成して管理者として実行すると便利。

WSUSで管理するのが筋なんだろうけど、開発用マシンはなかなかそうもいかず。トラブル発生した時に個別に環境を比較する場合がそこそこある。C#でアプリケーション作ってしまう方が楽なんだけど、人によっては得体のしれないexeの実行を嫌がるので、あえて VBScript と バッチファイルで構成しました。

参考にしたサイト: http://blogs.technet.com/b/junichia/archive/2007/09/01/sce-wsus-2.aspx

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。