以下 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”的对象的完整列表?
但我只是在这里猜测。
另外:这没什么大不了的-这只是我的兴趣点/理解。