|
はじめまして。
勤怠管理用(出勤簿)にWindowsの開始時間、シャットダウン時間を取得しようとしています。
Windowsの「システムログ」からイベントIDの「12(Windowsの開始)」と「13(Windowsのシャットダウン)」日時を一覧(一ヶ月分)で取得したいです。
出勤簿の処理に使用しますので、「指定日時」〜「指定日時」の一ヶ月間のログが欲しいのです。
現状、以下ページを参考に取得を試みました。
http://vba−geek.jp/blogーentry−314.html
実行した結果、ログは取得出来るのですが「すべてのログ」が「1日分だけ」取得されます。
処理完了までの時間も長いです。
ログが4000~5000行ある中で必要なのは2行だけですので、なんとかピンポイントでその2行だけ取得したいです。
WMIオブジェクトの参照
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
イベントログの抽出条件(日付指定のみ)を指定したSQLを実行
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= '" & utcStartDate & "'")
↑このあたりを修正するのかなと思いましたが、試した限り上手く行きませんでした。
結構ググりましたが情報見つけること出来ず、手持ちの資料にもWMIについて記載されたものありませんでしたので質問させていただきました。
もしおわかりになられる方がいらっしゃればご教示頂きたく、もしくはヒント頂けるだけでもありがたいので、よろしくお願いいたします。
|
|