Exportar todo o log do Windows para XML

6

Eu quero criar uma estatística de impressora e tenho um analisador XML simples, mas poderoso. Por isso, quero exportar todos os eventos do registro da impressora para o formato XML.

O servidor de impressão executa o Win2008R2. Quando quero exportar o log filtrado para XML (filtrou o ID de evento 307), tenho apenas 300 eventos de quase 6.000.

Você poderia me ajudar? Eu também tentei o powershell para exportar o log, mas não consegui obter a estrutura xml.

    
por user1169051 25.01.2012 / 12:59

2 respostas

3

O utilitário do Windows wevtutil pode fazer exatamente o que você está procurando. Eu estava usando para arquivar certas entradas de log de eventos em um banco de dados. Os métodos baseados em powershell tinham vários modos de falha que inviabilizavam um grande número de eventos. Esse utilitário despeja tudo de uma vez, o que torna a análise off-line muito mais rápida.

wevtutil qe Security /r:DC01 /q:"*[System[((EventID=307))]]" > evtdump.xml

Especificamente, os métodos do PowerShell executam eventos em uma base de varejo. Enquanto ele percorre o loop, ele pede à máquina de destino "que me dê o próximo evento", que exige muita movimentação da máquina. A diferença de velocidade entre o método wevutil e o método powershell foi significativa: demorou mais de uma hora para extrair um log de eventos via powershell, mas apenas 2 minutos via wevtutil.

Depende do seu caso de uso. Se os logs que você está analisando não estiverem ocupados ou não forem muito grandes, o método powershell significa que você não precisa gerenciar os arquivos como parte do seu script.

    
por 25.01.2012 / 13:10
1

Isso deve funcionar:

Get-WinEvent | ?{$_.id -eq 307} | Export-Clixml 307Events.xml  
    
por 25.01.2012 / 13:05