powershell - Powershell 使用 Where-Object 过滤 EventID
问题描述
我正在尝试从 Get-Event 日志中过滤掉一些 EventID,如下所示:
...More code here
Get-EventLog -LogName $_ -EntryType Warning,Error |
Where-Object {$_.EventID -ne '0|1|2|3|4|7|8|9|10|14|15|17...'}
但是我在比较器上遇到了麻烦,使用 -ne 根本不会过滤掉任何东西,如果我使用 -notmatch,它只会返回一个结果,我已经确认有很多它正在跳过。不知道我错过了什么以及为什么它 -ne 根本不起作用,感谢您的帮助!非常感谢提前!
解决方案
您当前的代码:
$_.EventID -ne '0|1|2|3|4|7|8|9|10|14|15|17...'
当前正在检查 ID 是否为字面意思0|1|2|3|4|7|8|9|10|14|15|17...
。
要检查 ID 是否是指定的值之一,您需要使用-in
运算符,如评论中所建议的:
$_.EventID -in @(0, 1, 2, 3)
为了将来参考,请查看about_Comparison_Operators
PowerShell 文档。
推荐阅读
- python - 如何在不重新创建实例的情况下将数据添加到 pandas.DataFrame
- javascript - 使用带有多个文件Javascript的构造函数
- javascript - 在 null 之后将值设置为零
- c# - 有助于了解代币交换服务以及如何实施?
- javascript - Typeorm Postgres 映射嵌套关系
- javascript - 如何在 next() 方法重定向后修复变量值始终为空
- flutter - 如何删除小部件“步骤”的标题
- google-apps-script - 列出活跃用户的宏
- css - 在 CSS 网格中居中文本
- python - 更改 Sublime Text 侧边栏的顺序