読者です 読者をやめる 読者になる 読者になる

VBSでセキュリティパッチが当たっているか調べる。

Windows VBS

セキュリティパッチ「KBXXXXXX」が当たっているか調べてくださいとか言われるのだるい
です。コントロールパネルからプログラムの変更と削除を起動して一つずつ調べるのとか
もうだるすぎる。
なので手軽にできないかと調べていたらそれレジストリみれば出来るよとうことでこんな
ものを教えてもらった。

PatchChecker.vbs

' チェック対象のパッチ
dim pathList(2)
pathList(1) = "KB000000"
pathList(2) = "KB999999"


strHost = "."
Const HKLM = &H80000002

'アンインストール情報
'(「プログラムの追加と削除」に表示される)
'の入ったレジストリパス
Const strBaseKey = "Software\Microsoft\Windows\CurrentVersion\Uninstall\"

'レジストリのサブキーを取得するために、
'WMIのStdRegProvを使用する
Set objReg = GetObject("winmgmts://" & strHost & "/root/default:StdRegProv")

'レジストリパスから、サブキーを取得
objReg.EnumKey HKLM, strBaseKey, arrSubKeys


'サブキーを一つ一つ取り出して、
'プログラム名を表示する
For Each strSubKey In arrSubKeys
   intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
       "DisplayName", strValue)
   If intRet <> 0 Then
       intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
       "QuietDisplayName", strValue)
   End If
   If (strValue <> "") and (intRet = 0) Then
       for i = 1 to ubound(pathList) step 1
           if instr(strValue, pathList(i)) <> 0 then
               pathList(i) = ""
           end if
       next
   End If
Next

for i = 1 to ubound(pathList) step 1
   if pathList(i) <> "" then
       WScript.Echo pathList(i) & "のインストールなし"
   end if
next

WScript.echo "処理終了"

レジストリは便利です。

広告を非表示にする