2013-07-29 40 views
6

したがって、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 
. 

イベントログの番号の代わりに名前を表示するにはどうすればよいですか?

+0

ここ2年後にバックログを処理する:Pあなたはそれを解決しましたか?カテゴリはPowerShellでは表示されましたが、イベントビューア(GUI)では表示されませんでしたか?その場合は、カテゴリメッセージファイルを登録した後、イベントビューア(またはそのコンピュータの場合)を再起動してみましたか?カテゴリメッセージファイルを登録したときには、変更を取得するためにイベントログビューアを再起動する必要があります。 (出典:http://www.drdobbs.com/customizing-event-log-categories/184405714) –

答えて

0

おそらく、アプリケーションまたはシステムログイベントでそれを探していて、実行した最初のコマンドでTEST1という名前のログが作成されました。

説明 このコマンドレットは、ローカルまたはリモートコンピュータに新しいクラシックイベントログを作成します。また、新しいログまたは既存のログに書き込むイベントソースを登録することもできます( )。

0

メッセージフォルダのセキュリティレベルにマシンのAuthenticated UsersまたはUsersグループを追加してみます。既定のアクセス許可を保持します。その後、再起動するか、EventLogサービスを再起動してください。管理者のコマンドプロンプトで

net stop eventlog

あなたはおそらく、シャットダウン、他のサービスに求めるメッセージが表示されます。続行するにはYと入力する必要があります。シャットダウンされているサービスは、通常は自動的に再起動しますので、数秒待つだけです。別のサービスが再起動したため、イベントログサービスがシャットダウンに失敗することがあります。すべてをダウンさせるためには数回の試行が必要です。表示されたテキストをステータスに注意してください。

関連する問題