Windowsのeventcreateコマンドにてソースパラメーターのエラーが出たときの対処

Windowsのコマンドプロンプトにて、イベントを記録するためにeventcreateコマンドを実行したときに、すでにあるイベントソースを指定すると次のようなエラーが表示されることがあります。

ERROR: Source parameter is used to identify custom applications/scripts only (not installed applications).
eventcreate /L Application /T Information /SO "hoge" /ID 1 /D "Information write."
エラー: インストールされているアプリケーションではなく、カスタム アプリケーションまたはスクリプトを識別するためだけに、ソース パラメーターが使用されます。

これは作成されているイベントソースへ、ソースを作成したプログラムからしかアクセスできないため起きるようです。今回の場合はPowerShellにて下記コマンドでソースを作成していました。
New-EventLog -LogName Application -Source hoge

修正するには、レジストリエディタより対象ソースにCustomSourceという名前で1の値を設定すればよいようです。今回はアプリケーションイベントのhogeというソースなので下記になります。
eventcreate_Source_error_2
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\hoge]
"CustomSource"=dword:00000001

その後、もう一度eventcreateコマンドを実行すると成功しました。
eventcreate_Source_error_3
eventcreate /L Application /T Information /SO "hoge" /ID 1 /D "Information write."
成功: 種類が 'Information' のイベントが、'Application' ログ内に、'hoge' をソースとして作成されました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください