Exportar registros de eventos de Windows XP cmd

1

Necesito exportar un registro de eventos específico de Windows XP desde el visor de eventos a un archivo ".txt".

Mi escenario es que el usuario programa un chkdsk para que se ejecute en el próximo reinicio en una máquina remota, y después de eso necesita recuperar los resultados del registro de eventos / eventos.

Encontré esta solución cmd para Windows 7 que es perfecta y exactamente lo que estoy buscando (guardo este lote en la máquina remota y lo ejecuto de forma remota):

cd c:\
set hr=%time:~0,2%
if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%
powershell -Command "& {get-winevent -FilterHashTable @{logname='Application'; id='1001'}| ?{$_.providername -match 'wininit'} | fl timecreated, message | out-file C:\MessageServer\chkdsk_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%.txt}"

Me gusta mucho, pero no funciona en Windows XP porque no tiene herramientas powershell o wevutil por defecto ... Y creo que las necesito para recuperar esta información. Si me equivoco, házmelo saber.

Necesito programar una solución para Windows 7 y XP. Tiene que hacerse por solución por lotes o Java, pero no puedo instalar ninguna herramienta adicional en la máquina (como PowerShell) para hacer esto.

¿Tienes alguna idea?

Todo lo mejor y gracias de antemano!

Carlos

CarlosLeo
fuente

Respuestas:

0

Encontré este enlace: http://www.windows-commandline.com/event-viewer-command-line/

Podemos abrir la consola del visor de eventos desde el símbolo del sistema o desde la ventana Ejecutar ejecutando el comando eventvwr. Para recuperar la información de eventos de los archivos de registro en la línea de comandos, podemos usar eventquery.vbs. Este archivo se puede encontrar en el directorio C: \ Windows \ System32.

Usando eventquery.vbs podemos volcar los eventos selectivamente en función de varios parámetros. Estos parámetros incluyen la fuente del evento, la identificación del evento, la fecha del evento, el tipo de evento (información, error, advertencia), el nombre del archivo de registro de eventos (sistema, aplicación, seguridad, IE, etc.). A continuación hay algunos ejemplos sobre cómo usar este archivo de script.

¡espero que esto ayude!

Jakob
fuente
Al final utilizo el siguiente código: cd c: \ Windows \ System32 set hr =% time: ~ 0,2% if "% hr: ~ 0,1%" equ "" set hr = 0% hr: ~ 1 , 1% cscript // h: cscript // s regsvr32 / s cmdlib.wsc cscript C: \ windows \ system32 \ eventquery.vbs Cscript Eventquery.vbs / l application / fi "ID eq 1001" / fi "SOURCE eq Winlogon" / V> C: \ MessageServer \ chkdsk_log_% date: ~ -4,4 %% date: ~ -10,2 %% date: ~ -7,2% _% hr %% time: ~ 3,2 %% time : ~ 6,2% .log
CarlosLeo
Este código no recupera toda la descripción del evento. Parece más una imagen del cuadro de diálogo de descripción. Necesito obtener solo la descripción completa. ¿Alguna idea? ¿Estoy haciendo algo mal?
CarlosLeo
Me alegro de haber podido ayudarte. Si esto responde a su pregunta, márquela como respuesta aceptada.
Jakob
0

¡¡¡OK entonces!!!

Uso el siguiente código (casi el mismo de mi comentario a la respuesta de Jakob):

cd c:\Windows\System32
set hr=%time:~0,2%
if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%
cscript //h:cscript //s
regsvr32 /s cmdlib.wsc
cscript C:\windows\system32\eventquery.vbs
Cscript Eventquery.vbs /l application /fi "ID eq 1001" /fi "SOURCE eq Winlogon" /V > C:\MessageServer\chkdsk_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%.csv

El truco fue cambiar el tipo de archivo donde puse los datos, de .log a .csv Para poder abrirlo con un editor de texto y obtener información completa y una descripción completa, que es lo que estaba buscando.

Espero que esto ayude a alguien más también!

Todos mis mejores!

CarlosLeo
fuente
Lo siento, en la última fila de código de mi respuesta olvidé poner /fo csvantes> Todo lo demás es perfecto XD
CarlosLeo