Windowsイベントをログに記録する方法について


コマンドプロンプトとPowerShellにてイベントログの記録方法についての纏め。

■コマンドプロンプト
 EVENTCREATE /ID 999 /L system /SO sys_test /T INFORMATION /D "イベントログ内容"

各パラメーター
 ・/ID イベントIDを指定 (1~1000しか指定できない)
 ・/L イベントログの作成先を指定します(system, application)
 ・/SO ソースを指定
 ・/T 出力するログレベルを指定します(ERROR, WARNING, INFORMATION)
 ・/D 出力するメッセージを指定
 ・/S 接続先のリモートシステムを指定する
 ・/U 実行するユーザ権限をを指定する
 ・/P 指定した実行ユーザのパスワードを指定する

コマンドプロンプト(eventcreate)では1000以上のIDで作成することができない。

■PowerShell
 Write-EventLog -LogName System -Source sys_test -EventID 999 -Message "イベントログ内容"

各パラメーター
 ・-LogName 記録するイベントの種類を指定する
 ・-Source 記録するイベントのソースを指定する
 ・-EventId イベントIDを指定
 ・-Message 記録するイベントの説明文を指定する
 ・-EntryType 記録するイベントのレベルを指定する。省略可能
 ・-Category 記録するイベントの「タスクのカテゴリー」を指定する。省略可能
 ・-ComputerName イベントを記録するコンピュータ名を指定する。省略可能

Powershell(Write-EventLog)では
 ・ID1000以上で作成可能
 ・ソースがログに一度記録されていないものはダメ。

■New-EventLog
New-EventLog -Logmame System -Source sys_test
 -LogName 記録するイベントの種類を指定する
 -Source 記録するイベントのソースを指定する

 New-EventLogではイベントソースを作成することができる。
 1000以上のIDかつ新しいソースでイベントログを作成したい場合は、
 New-EventLogでソースを作成し、Write-EventLogにて実行すればよい。

普段使うことがあまり無いが(^◇^;)