powershell Win-GetEvent -MaxEvents

powershell Win-GetEvent -MaxEvents

正在尝试 assemble PS 查询 EventLog,并尝试使用 MaxEvents 限制。如果 "MaxEvents" 为 1,它打印零行,当 MaxEvents 为 2 时,它打印 header 行和一个事件。这是正确的行为,还是我错过了什么?

powershell.exe Get-WinEvent -FilterHashTable "@{ LogName = 'Microsoft-Windows-UniversalTelemetryClient/Operational'; Id = 55} -MaxEvents 2 | where {$_.Message -match 'false'} | ft -HideTableHeader"

ProviderName: Microsoft-Windows-UniversalTelemetryClient

02/02/2020 14:25:04             55 Information      Is the Internet ava...

查看以下结果:

Get-WinEvent -FilterHashTable @{ LogName = 'Microsoft-Windows-UniversalTelemetryClient/Operational'; Id = 55} 

我的电脑是:

TimeCreated Id LevelDisplayName 消息
---------- -- -------------- ------
21/01/2020 06:29:23 55 信息是否可以上网:true
21/01/2020 05:32:29 55 信息是否可以上网:true
20/01/2020 17:23:22 55 信息是否可以上网:true
19/01/2020 07:12:06 55 信息是否可以上网:true
19/01/2020 07:07:22 55 信息互联网是​​否可用:false

如果我为任何不超过 4 的值添加 -MaxEvents,则没有结果

如果我添加 -MaxEvents 5:

提供商名称:Microsoft-Windows-UniversalTelemetryClient

19/01/2020 07:07:22 55 信息是否可以上网:false

因此,-MaxEvents 是根据 -FilterHashTable 的结果处理的,而不是根据日志的结果处理的。