Powershell Select-String -pattern -notMatch

Pho*_*ria 14 powershell select-string

我有线 -

echo $LocalAdmins
    Administrator
    Domain-Administrator
    daemon
    SomeUser
Run Code Online (Sandbox Code Playgroud)
  • 第1-3行应该是相同的,尽管可能存在域管理员不存在的情况,因此简单地计算行将无济于事,因为用户可能隐藏在第3行.

  • 第4行字符串更改,可能有4行以上,也没有第4行.

  • 我不确定线路是否改变了位置.

我需要获取字符串-notMatch"Administrator","Domain-Administrator","daemon".即,我需要此列表中的用户名.

有没有办法使用多个-notMatch -and或()?目前我坚持只使用一个-notMatch的代码.我不能使用-Match,因为列表中可能有2个以上的用户.

$LocalAdmins | Select-String -pattern "Administrator" -notMatch
Run Code Online (Sandbox Code Playgroud)

CB.*_*CB. 20

像这样?

$LocalAdmins | select-string -Pattern 'Administrator|daemon' -NotMatch | select -expa line
Run Code Online (Sandbox Code Playgroud)

-pattern接受REGEX.您可以使用|(或正则表达式运算符)添加其他单词以满足您的需要.