1

以下 Powershell 脚本仅获取今天发生的所有系统错误事件 - 它有效:

Get-EventLog System -After ([datetime]::Today) | Where-Object { $_.EntryType -eq "Error" }

但运行可能需要几秒钟:我怀疑这是因为第一个“Get-EventLog”cmdlet 首先生成所有事件的完整列表;然后'Where-Object' cmdlet 会缩减该列表。

是一种将“where-object”过滤器作为参数传递给“Get-EventLog”的方法,以便它可以在获取每个对象时对其进行测试?

我推测这种机制运行起来会更快,因为“Get-EventLog”不必维护传递给后续“Where-Object”的对象的完整列表?

但我只是在这里猜测。

另外:这没什么大不了的-这只是我的兴趣点/理解。

4

1 回答 1

3
Get-EventLog System -After ([datetime]::Today) -EntryType Error

是的,您可以在原始命令中指定此参数。

于 2016-04-13T09:38:54.360 回答