GeekFactory

int128.hatenablog.com

システムの起動・終了時に記録されるイベントログ

Windows Vistaにて調べてみました。

ログのタイミングソースイベントIDメッセージ
起動EventLog6005イベント ログ サービスが開始されました。
終了EventLog6006イベント ログ サービスが停止されました。
休止状態に移行Kernel-Power42システムがスリープ状態になります。
休止状態から回復Power-Troubleshooter1システムはスリープ状態から再開しました。

ただし、Power-Troubleshooterメッセージは即時に記録されず、終了時または休止状態に移行時に一緒に記録されるようです。
これらのイベントをWMIで取得するためのコードも載せておきます。プロパティの名前などは WMI Creator で確認すると便利ですね。

var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;
var eventObject = GetObject('winmgmts:{impersonationLevel=impersonate}');
var eventSet = eventObject.ExecQuery(
'select TimeGenerated, EventCode from Win32_NTLogEvent' +
' where ((EventCode = 6005 or EventCode = 6006) and SourceName = "EventLog")' +
' or (EventCode = 1 and SourceName = "Microsoft-Windows-Power-Troubleshooter")' +
' or (EventCode = 42 and SourceName = "Microsoft-Windows-Kernel-Power")',
'WQL',
wbemFlagReturnImmediately | wbemFlagForwardOnly);