Verwenden von WMI zum Abfragen von Windows Event Collector-Protokollen

Verwenden von WMI zum Abfragen von Windows Event Collector-Protokollen

Die Abfrage des Ereignisprotokolls mit WMI ist ganz einfach. Verwenden Sie beispielsweise Win32_NTLogEvent:

Get-WmiObject -query "SELECT *FROM Win32_NTLogEvent WHERE (logfile='Application' and SourceName='Something')

Wenn ich jedoch ein Protokoll abfragen möchte, das mit dem Windows Event Collector erfasste Ereignisse enthält, werden diese nicht in den Ergebnissen angezeigt, obwohl Ereignisse aus anderen Quellen im selben Protokoll angezeigt werden.

Ich kann das Cmdlet Get-Eventlogzum Abrufen von WEC-Ereignissen verwenden, aber das löst mein Problem nicht.

Ich versuche, das zu verwenden __InstanceCreationEventund etwas zu tun (es an eine Kafka-Instanz weiterzuleiten), wenn ein neues Ereignis in das Protokoll eingefügt wird. SieheBeispiel von Scripting GuyUndLogstash Eventlog-Eingabemodulzum Beispiel die Nutzung.

$query = "Select * from __InstanceCreationEvent Where TargetInstance ISA 'Win32_NTLogEvent' And (TargetInstance.LogFile = 'HardwareEvents')"
$Eventwatcher = New-Object management.managementEventWatcher $Query
$Event = $Eventwatcher.waitForNextEvent()

Dies funktioniert einwandfrei für normale Protokolle, jedoch nicht mit weitergeleiteten Ereignissen vom Windows Event Collector.

Irgendwelche Vorschläge?

Antwort1

Wenn Sie in Ihrem Ereignisabonnement das „Zielprotokoll“ auf „System“ setzen UND logfilein Ihrer WHEREBedingung NICHT angeben, werden die weitergeleiteten Ereignisse in den Ergebnissen angezeigt. Das ist völlig seltsam.

verwandte Informationen