Em sua Assinatura de Evento, se você definir o "Log de Destino" como "Sistema" E se você NÃO especificar logfile
na condição WHERE
, os eventos encaminhados serão exibidos nos resultados. Isso é totalmente estranho.
Usar o WMI para consultar o eventlog é bem simples, usando Win32_NTLogEvent, por exemplo:
Get-WmiObject -query "SELECT *FROM Win32_NTLogEvent WHERE (logfile='Application' and SourceName='Something')
No entanto, se eu quiser consultar um log que contenha eventos coletados com o Coletor de Eventos do Windows, eles não serão exibidos nos resultados, mesmo que outros eventos de outras origens no mesmo log.
Eu posso usar o cmdlet Get-Eventlog
para recuperar eventos do WEC, mas isso não resolve meu problema.
O que eu estou tentando fazer é usar o __InstanceCreationEvent
e fazer algo (encaminhá-lo para uma instância kafka) quando um novo evento é inserido no log. Veja exemplo do Scripting Guy e do Logstash Eventlog módulo de entrada , por exemplo, uso.
$query = "Select * from __InstanceCreationEvent Where TargetInstance ISA 'Win32_NTLogEvent' And (TargetInstance.LogFile = 'HardwareEvents')"
$Eventwatcher = New-Object management.managementEventWatcher $Query
$Event = $Eventwatcher.waitForNextEvent()
Isso funciona perfeitamente para logs normais, mas não com eventos encaminhados do Windows Event Collector.
Alguma sugestão?
Em sua Assinatura de Evento, se você definir o "Log de Destino" como "Sistema" E se você NÃO especificar logfile
na condição WHERE
, os eventos encaminhados serão exibidos nos resultados. Isso é totalmente estranho.
Tags windows-event-log wmi