WEBで検索してみると意外に容易にできそうな感じでPython for Win32 Extensions(Pywin32)のwin32evtlogモジュールのReadEventLogメソッドを使用。ただ思ったほど情報は多くないけれどサンプルソースからなんとか。。。
ReadEventLogメソッドの戻り値(PyEventLogRecordオブジェクト)のプロパティからイベントビューアーにあるレベルに該当するものを探してみると同じ名前のものはなくそれらしいのはEventTypeぐらい。
ただ、調べてみると値が微妙に違う・・・
EventType | イベントビューアーのレベル | EVENTCREATEコマンドの種類(/T) |
0:成功 | 情報 Level:0 | SUCCESS |
1:エラー | エラー Level:2 | ERROR |
2:警告 | 警告 Level:3 | WARNING |
4:情報 | 情報 Level:4 | INFORMATION |
win32evtlogの定数をDIR関数で調べてみるとEventTypeに使えそうなものが以下の様な感じかも。
- EVENTLOG_ERROR_TYPE : 1
- EVENTLOG_WARNING_TYPE : 2
- EVENTLOG_INFORMATION_TYPE : 4
- EVENTLOG_AUDIT_SUCCESS : 8
- EVENTLOG_AUDIT_FAILURE : 16
ついでに気になったこと(上手く実装できなかった箇所)
- win32evtlogutil.SafeFormatMessageでイベントビューアーに表示しているメッセージを取得できないイベントが存在した。
- イベントビューアーに表示しているイベントID(EventId)とは異なっていた。
0 件のコメント:
コメントを投稿