powershell - 解析日志文件 - 从字符串数组中查找包含值的行
问题描述
这可能真的很简单......但是我如何检查日志/配置文件的哪些行包含字符串数组中的任何字符串?
文件示例(我想要第 3 行和第 5 行)
[Privilege Rights]
SeSystemtimePrivilege = *S-1-5-19,*S-1-5-21-2262136377-125853592-2400401627-1119,*S-1-5-32-544
SeDenyNetworkLogonRight = Guest
SeCreatePagefilePrivilege = *S-1-5-32-544
SeDenyServiceLogonRight = *S-1-5-21-2262136377-125853592-2400401627-1119
SeRemoteShutdownPrivilege = *S-1-5-32-544
SeAuditPrivilege = *S-1-5-19,*S-1-5-20
我正在使用的脚本:
$SeRightsArray = @(
'SeDenyNetworkLogonRight',
'SeDenyBatchLogonRight',
'SeDenyServiceLogonRight',
'SeDenyInteractiveLogonRight',
'SeDenyRemoteInteractiveLogonRight')
$LocalPolicyExport = gc "C:\local-security-policy.inf"
Foreach($Line in $LocalPolicyExport){
if ($Line -match $SeRightsArray ){
write-host "FOUND - $line"
}
}
通常我会使用 -contains 或 -in 之类的东西,但这不起作用
解决方案
您可以使用gc "C:\local-security-policy.inf" | select-string $seRightsArray
. 不需要循环
PS C:\> gc .\test.txt|select-string $SeRightsArray
SeDenyNetworkLogonRight = Guest
SeDenyServiceLogonRight = *S-1-5-21-2262136377-125853592-2400401627-1119
推荐阅读
- scala - java.lang.NoSuchMethodError: Scala.Predef$.refArrayOps 在 Spark 作业中使用 Scala
- c++ - 相同的代码在 2 个不同的项目中失败。使用类模板需要模板参数列表
- javascript - 如何链接到不同目录中具有相同标题的页面?
- javascript - 在 innerHTML 中添加新行
- jpa - 无法删除或更新外键约束失败的父行
- ios - 如何在启动故事板中为纵向和横向创建不同的布局?
- bc - 将参数传递给 bc 脚本
- android - 如何知道应用程序何时进入前台?
- react-native - 如何创建一个固定的 4 列网格
- wolfram-mathematica - Dymola 是否有类似 Wolfram 系统建模器的“方程浏览器”功能?