如何在PowerShell中进行替换字符串匹配?

如何在PowerShell中进行替换字符串匹配?,powershell,powershell-3.0,Powershell,Powershell 3.0,我一直在分析一些事件日志中的用户名和域信息,如下所示: $dn = @{ Name="Domain"; Expression = { $_.ReplacementStrings[6] } }; Get-EventLog -LogName Security -Newest 10 | Select $dn 这将返回这样的输出 NT Authority domaintest domaintest domaintest 这只是一个更大脚本中的示例代码 我一直在尝试添加一个Where子句来匹配$dom

我一直在分析一些事件日志中的用户名和域信息,如下所示:

$dn = @{ Name="Domain"; Expression = { $_.ReplacementStrings[6] } };
Get-EventLog -LogName Security -Newest 10 | Select $dn
这将返回这样的输出

NT Authority
domaintest
domaintest
domaintest
这只是一个更大脚本中的示例代码

我一直在尝试添加一个Where子句来匹配$domain,这样我就可以使用可选参数调用脚本,该参数将充当用户为$domain指定的Where筛选器

我试过了

| Where $domain -matches "string" |
| Where $domain -like "string" |
| Where $domain.Expression -match "string" |
还有无数其他的。可以这样对
ReplacementStrings
进行匹配吗?我假设这些都可以工作,因为
$domain
正在返回一个字符串。
感谢对象所在位置的属性语法:

... | Where-Object { $_.Domain -match "string" }
以及PS 3.0及以上版本:

... | Where-Object Domain -match "string"

您会遇到哪些错误?试试| Where domain-match“string”我真的找到了-我应该这样做:| Where domain-like“string”|而不是| Where$dn-like“string”