したがって、Write-EventLog
を使用してWindowsイベントログに書き込もうとしています。私はCategoryMessageFileの.dllをコンパイルし、それをレジストリに登録しました。Write-EventLogを使用してイベントカテゴリに文字列名を表示するには?
私のスクリプトは大部分のイベントログに書き込みますが、問題はイベントにカテゴリ名が表示されないことです。 dllに列挙されたカテゴリメッセージIDを表示します。
New-EventLog -LogName Application -Source 'test1' -CategoryResourceFile 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\test.dll' Write-EventLog -LogName Application -Source 'test1' -EntryType Information -EventId 1 -Message "$($DataSet.Tables[0].Rows[$i][6])" -Category 1
私は
Get-EventLog -LogName Application -Newest 3 | Format-List
を実行したときに正しいカテゴリ名が、私はちょうどログに書き込まれたイベントには、カテゴリの下に表示するのでマッピングが正しいことを知っています。
私のmcファイルは次のようになっています。
;// Header
;// Categories
MessageIdTypedef=WORD
MessageId=0x1
Language=English
ETLUncategorizedError
.
MessageId=0x2
Language=English
ETLThresholdExceeded
.
MessageId=0x3
Language=English
ETLMalformattedFile
.
MessageId=0x4
Language=English
ETLWebInvocationFailure
.
イベントログの番号の代わりに名前を表示するにはどうすればよいですか?
ここ2年後にバックログを処理する:Pあなたはそれを解決しましたか?カテゴリはPowerShellでは表示されましたが、イベントビューア(GUI)では表示されませんでしたか?その場合は、カテゴリメッセージファイルを登録した後、イベントビューア(またはそのコンピュータの場合)を再起動してみましたか?カテゴリメッセージファイルを登録したときには、変更を取得するためにイベントログビューアを再起動する必要があります。 (出典:http://www.drdobbs.com/customizing-event-log-categories/184405714) –