writeentry write source logevent log example eventos eventlog event escribir create c# windows event-log

source - eventlog.writeentry c# example



Eliminar origen de registro de evento personalizado sin usar código (4)

Tengo una aplicación que ha creado varias fuentes de registro de eventos personalizados para ayudar a filtrar su salida. ¿Cómo puedo eliminar las fuentes personalizadas de la máquina SIN escribir ningún código como ejecutar un programa rápido usando System.Diagnostics.EventLog.Delete no es posible?

He intentado utilizar RegEdit para eliminar las fuentes personalizadas de [HKEY_LOCAL_MACHINE / SYSTEM / ControlSetXXX / Services / Eventlog], pero la aplicación actúa como si los registros todavía existieran detrás de las escenas.

¿Qué más me estoy perdiendo?


¿Qué hay de usar Powershell ?

Remove-EventLog -LogName "Custom log name" Remove-EventLog -Source "Custom source name"


¿Quizás su aplicación tolera errores, lo que significa que comprueba si la fuente de registro de eventos ya está registrada y registra la fuente si no lo está?

Si este fuera el caso, su aplicación recrearía la (s) fuente (s) cada vez que se ejecutara, sin importar lo que haya hecho.


También creo que estás en el lugar correcto ... está almacenado en el registro, bajo el nombre del registro de eventos. Tengo un registro de eventos personalizado, debajo del cual hay varias fuentes de eventos.

HKLM / System / CurrentControlSet / Services / Eventlog / LOGNAME / LOGSOURCE1 HKLM / System / CurrentControlSet / Services / Eventlog / LOGNAME / LOGSOURCE2

Esas fuentes tienen una clave EventMessageFile , que es REG_EXPAND_SZ y apunta a:

C: / Windows / Microsoft.NET / Framework / v2.0.50727 / EventLogMessages.dll

Creo que si elimina la clave que es la fuente de registro, LOGSOURCE1 en mi ejemplo, debería ser todo lo que se necesita.

Por lo que vale, lo intenté con .NET y eso es lo que hizo. Sin embargo, parece que cada registro de evento personalizado también tiene una fuente del mismo nombre. Si tiene un registro personalizado, eso podría afectar su capacidad para borrarlo. Tendría que eliminar el registro directamente, tal vez. Además, si su aplicación tiene un instalador, puedo ver que el nombre de la aplicación también puede registrarse como fuente en el registro de eventos de la aplicación. Un lugar más para limpiar.


Solo pude borrarlo usando:

[System.Diagnostics.EventLog]::Delete("WrongNamedEventLog");

en powershell