作成 2010.01.07
更新 2010.01.07
更新 2010.01.07
VBScript でイベントログを取得する
コード
このスクリプトはイベントログ取得のサンプルです。
たくさんメッセージが出てくるのでコマンドラインからcscriptで起動してください。
Option Explicit
Dim wmiLocator
Dim wmiService
Dim objEnumerator
Dim objInstance
Set wmiLocator = CreateObject("WbemScripting.SWbemLocator")
Set wmiService = wmiLocator.ConnectServer
' イベントログ名のリストを取得
Set objEnumerator = wmiService.InstancesOf("Win32_NTEventlogFile")
For Each objInstance In objEnumerator
  If Not IsEmpty(objInstance.LogfileName) Then
    WScript.Echo objInstance.LogfileName
  End If
Next
Set objEnumerator = Nothing
' イベントログを丸ごと取得
Set objEnumerator = wmiService.ExecQuery("Select * FROM Win32_NTLogEvent")
For Each objInstance In objEnumerator
  If Not IsEmpty(objInstance.TimeGenerated) Then
    WScript.Echo objInstance.Logfile & ":" & _
                 objInstance.TimeGenerated & ":" & _
                 objInstance.Type
  End If
Next
Set objEnumerator = Nothing
WScript.Echo "OK"
参考
VBScript でイベントログに記録する | Win32_NTEventlogFile クラス | Win32_NTLogEvent クラス