2013-07-29 10 views
6

Quindi, sto tentando di scrivere nel registro eventi di Windows utilizzando Write-EventLog. Ho compilato un file CategoryMessageFile e l'ho registrato nel registro.Come visualizzare il nome stringa della categoria di attività nel registro eventi utilizzando Write-EventLog?

Lo script scrive per la maggior parte nel registro eventi, ma il problema è che l'evento non visualizza il nome della categoria; visualizza l'id del messaggio di categoria enumerato nella dll.

 
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 

so la mappatura è corretto perché quando corro

 
Get-EventLog -LogName Application -Newest 3 | Format-List 

il nome della categoria corretta si presenta sotto categoria per gli eventi che avevo appena scritti nel registro.

Ecco come si presentava il mio file 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 
. 

Quindi, come si visualizza il nome anziché il numero nel registro eventi?

+0

Lavoro il backlog qui 2 anni dopo: P L'hai risolto? La categoria era visibile in PowerShell ma non nel Visualizzatore eventi (GUI)? In tal caso, hai provato a riavviare il Visualizzatore eventi (o il computer) dopo aver registrato il file dei messaggi della categoria? "Notare che quando si registra un file di messaggi di categoria, è necessario riavviare il visualizzatore del registro eventi per raccogliere le modifiche." (Fonte: http://www.drdobbs.com/customizing-event-log-categories/184405714) –

risposta

0

Probabilmente lo si sta cercando nell'evento di registro dell'applicazione o di sistema e il primo comando che è stato eseguito ha creato un registro denominato TEST1.

DESCRIZIONE Questo cmdlet crea un nuovo registro eventi classico su un computer locale o remoto. Può anche registrare un'origine evento che scrive sul nuovo registro o su un registro esistente .

0

Provare ad aggiungere il gruppo Authenticated Users o Users della macchina al livello di sicurezza della cartella messaggi. Mantieni le autorizzazioni predefinite. Quindi riavviare o provare a riavviare il servizio EventLog.

Al prompt dei comandi dell'amministratore: net stop eventlog

si sarà probabilmente chiesto di arresto altri servizi. Devi inserire Y per continuare. I servizi in fase di spegnimento normalmente si riavvieranno da soli, quindi è necessario attendere alcuni secondi. Il servizio del registro eventi potrebbe non arrestarsi perché un altro servizio è stato riavviato, potrebbero essere necessari un paio di tentativi per ottenere tutto. Guarda il testo risultante da vicino per lo stato.

Problemi correlati