繁体   English   中英

PowerShell WinEvent FilterHashtable通配符

[英]PowerShell WinEvent FilterHashtable wildcard

这是我第一次在PowerShell工作。 我正在尝试仅基于日期过滤事件。

根据文档, LognameProvidername接受通配符。

如何通配符Logname 我试过 *, ** 但它似乎确实有效。

Get-WinEvent -FilterHashtable @{Logname=*; StartTime=$startTime; EndTime=$endTime}

我不认为你可以。 这是我解决它的方法。 您甚至不能在事件查看器中执行此操作,即在特定时间内来自所有日志的事件。 日志名的数量有一个旧的 windows api 限制。 powershell 7 中的 Foreach-object -parallel 更快。

Get-WinEvent -ListLog * -EA silentlycontinue | 
foreach-object { get-winevent -filterhashtable @{logname=$_.logname; 
  starttime='1:55 pm'; endtime='1:58 pm'} -ea 0 } 
# powershell 7
get-winevent -LogName *

Get-WinEvent: Log count (458) is exceeded Windows Event Log API limit (256). 
Adjust filter to return less log names.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM