GeekFactory

int128.hatenablog.com

ブート・シャットダウン日時を表示するWSHスクリプト

PCをいつ起動していつシャットダウンしたかを表示するスクリプト

<job id="eventlogview">
<script language="VBScript">

WScript.Echo "<eventLog>"
Set EventObject = GetObject("winmgmts:{impersonationLevel=impersonate}")
Set EventSet = EventObject.ExecQuery("select * from Win32_NTLogEvent")
For Each AnEvent In EventSet
If AnEvent.EventCode = 6005 Then
WScript.Echo "<start>" & AnEvent.TimeGenerated & "</start>"
ElseIf AnEvent.EventCode = 6006 Then
WScript.Echo "<end>" & AnEvent.TimeGenerated & "</end>"
End If
Next
WScript.Echo "</eventLog>"

</script>
</job>

実行結果は以下の感じ。これをSOAPクライアントでWebに投げれば、生活時間の可視化ができるね。面白そう。

D:\tmp>cscript eventlogview.wsf
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

<eventLog>
<start>20071210215654.000000+540</start>
<end>20071210001810.000000+540</end>
<start>20071206233622.000000+540</start>
<end>20071206095330.000000+540</end>
<start>20071206091018.000000+540</start>
<end>20071205001757.000000+540</end>
<start>20071204195513.000000+540</start>
...