Используя WMI для запросов eventlog довольно просто, с помощью Win32_NTLogEvent, например:
Get-WmiObject -query "SELECT *FROM Win32_NTLogEvent WHERE (logfile='Application' and SourceName='Something')
Однако, если я хочу запросить журнал, который содержит события, собранные с Windows Event Collector, они не обнаруживаются в результатах, даже tho события из других источников в том же журнале делает.
Я могу использовать cmdlet Get-Eventlog
для получения событий WEC но это не решает мою проблему.
То, что я пытаюсь сделать, должно использовать __InstanceCreationEvent
и сделайте что-то (передайте его kafka экземпляру), когда новое событие вставляется в журнал. Посмотрите пример от входного модуля Scripting Guy и Logstash Eventlog, например, использование.
$query = "Select * from __InstanceCreationEvent Where TargetInstance ISA 'Win32_NTLogEvent' And (TargetInstance.LogFile = 'HardwareEvents')"
$Eventwatcher = New-Object management.managementEventWatcher $Query
$Event = $Eventwatcher.waitForNextEvent()
Это работает отлично на нормальные журналы, но не с переданными событиями из Windows Event Collector.
Какие-либо предложения?
В вашей подписке на событие, если вы установите «Журнал назначения» на «Система», И если вы НЕ укажете файл журнала
в вашем ГДЕ
условие, то перенаправленные события будут отображаться в результатах. Это совершенно странно.