2010年10月15日

FFR yarai 脆弱性防御機能 for Windows 2000 動作検知用スクリプト

Windows 2000(Service Pack 4)は2010/07/13で延長サポートフェーズが終了しています。企業などでは延長サポートが終了したOSはPCごと更新してしまうのが望ましいわけですが、色々な(お金やリソースの)事情でなかなか更新できない、ということもあります。そのような場合の延命策のひとつとして、フォティーンフォティ技術研究所(FFR)のFFR yarai 脆弱性防御機能 for Windows 2000(yarai2000)を導入している場合もあるのではないでしょうか。ところがこのツール、異常な動作を検知してもイベントログにイベントを記録するだけで、ユーザに明示的に通知するようにはなっていません。そこでyarai2000がイベントログにイベントを追加するのを監視して、エラーダイアログを表示するスクリプト(VBS)をでっち上げてみました。
strComputer = "."

Set objWMIService = GetObject("winmgmts:{(Security)}\\" & _
                              strComputer & "\root\cimv2")

Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
                         ("Select * from __InstanceCreationEvent Where " & _
                          "TargetInstance ISA 'Win32_NTLogEvent' " & _
                          "and TargetInstance.SourceName = 'yarai ZDP' ")

Do
  Set objLatestEvent = colMonitoredEvents.NextEvent
  If objLatestEvent.TargetInstance.EventCode = 1 Then
    Call MsgBox("FFR yarai 2000が異常を検知しました。" & _
                vbCrLf & vbCrLf & _
                "メッセージ: " & _
                objLatestEvent.TargetInstance.Message & _
                "イベントコード: " & _
                objLatestEvent.TargetInstance.EventCode, _
                vbYes + vbError,"Error")
  End If
Loop

このスクリプトを拡張子.vbsで適当な場所に保存し、
%windir%\system32\cscript.exe <scriptfile>
(<scriptfile>は保存したスクリプトのフルパス名)という内容のコマンドラインをスタートアップで最小化状態で起動しておけば、yarai2000が異常を検知したときにエラーダイアログを表示して知らせてくれます。

元ねたはMicrosoft | TechnetHey, Scripting Guy! イベント ログで特定のイベントの発生を監視する方法はありますかHey, Scripting Guy! イベント ログ メッセージに特定の単語が含まれるかどうかを監視する方法はありますかスクリプトとは何ですか | スクリプト センターあたり。

0 件のコメント: