忽略特定事件的查询来自使用 Get-WinEvent 的特定来源

Query to ignore certein event ID's coming from particular source using Get-WinEvent

我正在尝试从存档的事件日志文件中检索一些与错误和警告相关的信息。使用以下查询忽略某些事件 ID,但只需要忽略来自特定来源的那些事件 ID

下面的查询使我试图使用忽略那些事件 ID 的输出,但正在寻找可以是 事件 ID && 源(提供商名称)组合的东西。

Get-WinEvent -Oldest -FilterHashtable @{Path="20210317_system - Copy.evt" ;Level= 2,3}   | Where-Object {$_.ID -ne "4"} | Where-Object {$_.ID -ne "36"} | Where-Object {$_.ID -ne "1111"} | Where-Object {$_.ID -ne "2004"} | Where-Object {$_.ID -ne "10010"} | Where-Object {$_.ID -ne "15300"} | Where-Object {$_.ID -ne "15301"}

使用 not in ,而不是 multiple where-object

 Get-WinEvent -Oldest -FilterHashtable @{Path="20210317_system - Copy.evt" 
;Level= 2,3}   | Where-Object {$_.ID -notin (1,2,34)}

解决方法是可以这样用 我用这个例子尝试了-notin。获取 WinEvent -Oldest -FilterHashtable @{Path="20210317_system - Copy.evt" ;Level= 2,3} | Where-Object {$.ProviderName -notin ("b57nd60a","Microsoft-Windows-Time-Service","TerminalServices-Printers","Resource-Exhaustion-Detector","DistributedCOM" ,"HTTPevent") - 或 $.ID -notin (4,36,1111,2004,10010,15300,15301) } 但是当我使用 ignore/negate 案例时,我需要使用 'or' 之间的条件我认为它匹配而不是 'and'