Cómo borrar los registros de eventos de Windows con PowerShell o Wevtutil

En algunos casos, es necesario eliminar todas las entradas de los registros de eventos de Windows en una computadora o servidor. Por supuesto, puede borrar los registros del sistema desde la GUI de la consola del Visor de eventos: Eventvwr.msc (haga clic con el botón derecho en el registro que desea borrar y seleccione Borrar registro). Sin embargo, a partir de Vista, Windows ha estado usando varias docenas de registros para diferentes componentes del sistema, y ​​se requiere mucho tiempo para borrarlos manualmente en el Visor de eventos. Es mucho más fácil borrar los registros desde el símbolo del sistema: usando Potencia Shell o la herramienta de consola incorporada wevtutil.

Contenido:

  • Borrar registros de eventos con PowerShell
  • Borrar los registros con la herramienta de consola WevtUtil.exe

visor de eventos borrar registro de GUI

Borrar registros de eventos con PowerShell

Si tiene PowerShell 3 instalado (de forma predeterminada, está instalado en Windows 8 / Windows Server y superior), puede usar Get-EventLog y Clear-EventLog cmdlets para obtener la lista de registros de eventos y borrarlos.

Inicie la consola de PowerShell con privilegios de administrador y utilice el siguiente comando para mostrar la lista de todos los registros de eventos estándar en el sistema con el tamaño máximo y la cantidad de eventos.

Get-EventLog –LogName *

Get-EventLog –LogName *

Para borrar todas las entradas del registro de eventos específico (por ejemplo, registro del sistema), use este comando:

Clear-EventLog –LogName System

Como resultado, todos los eventos de este registro se eliminarán y solo habrá un evento con EventId 104 y el mensaje «Se borró el archivo de registro del sistema«.

Clear-EventLog –LogName System El archivo de registro del sistema se borró

Para borrar todos los registros de eventos, debe redirigir los nombres de los registros a la canalización, pero desafortunadamente, está prohibido. Entonces, tendremos que usar el ciclo ForEach:

Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }

Por lo tanto, se borrarán todos los registros de eventos estándar.

Borrar los registros con la herramienta de consola WevtUtil.exe

Para trabajar con los eventos, durante mucho tiempo en Windows ha existido una poderosa utilidad de símbolo del sistema WevtUtil.exe. Su sintaxis es un poco complicada a primera vista. Aquí, por ejemplo, que devuelve ayuda de utilidades:

WevtUtil.exe

Para mostrar la lista de los registros registrados en el sistema, ejecute este comando:

WevtUtil enum-logs
o su versión más corta:

WevtUtil el

Se mostrará una lista bastante impresionante de registros en la pantalla.

Nota. Puede contar cuántos registros hay usando el siguiente comando: WevtUtil el | Measure-Object. En mi caso, había 1.053 registros diferentes en Windows 10.

WevtUtil el

Puede obtener información detallada sobre el registro específico:

WevtUtil gl Setup

Configuración de WevtUtil gl: obtenga información detallada sobre el registro específico

Así es como borra los eventos en el registro específico:

WevtUtil cl Setup

Antes de borrar los eventos, puede hacer una copia de seguridad de ellos guardándolos en un archivo:

WevtUtil cl Setup /bu:SetupLog_Bak.evtx

Para borrar todos los registros a la vez, puede usar Get-WinEvent Cmdlet de PowerShell para obtener todos los objetos de registro y Wevtutil.exe para borrarlos:

Get-WinEvent -ListLog * -Force | % { Wevtutil.exe cl $_.LogName }

o

Wevtutil el | ForEach { wevtutil cl “$_”}

Nota. En nuestro ejemplo, no pude borrar 3 registros debido al error de acceso. Vale la pena intentar borrarlos usando el Visor de eventos.

borrar todos los registros a la vez

También puede borrar los registros utilizando el símbolo del sistema estándar:

for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"

Artículos Interesantes