log start end
已有 700 次阅读2016-1-28 11:18
|个人分类:VB|系统分类:工作|
start
' 取得ログ 日付設定
Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = Date
dtmStartDate.SetVarDate DateToCheck - 7, CONVERT_TO_LOCAL_TIME
dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME
' イベントログの取得 起動ログとシャットダウンのログを取得
' 起動 6005
' 正常シャットダウン 6006
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= '" & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "' AND (EventCode = 6005 OR EventCode = 6006)")
' ログ生成
Dim msg
For each objEvent in colEvents
' イベントログ日時 整形
Set tempDate = CreateObject("WbemScripting.SWbemDateTime")
tempDate.Value = objEvent.TimeWritten
If objEvent.EventCode = 6005 then
msg = msg & "起動 " & tempDate.GetVarDate(True) & vbCrLf
ElseIf objEvent.EventCode = 6006 then
msg = msg & "終了 " & tempDate.GetVarDate(True) & vbCrLf
End If
Next
' ログ出力
Wscript.Echo msg