我有行 -
echo $LocalAdmins
Administrator
Domain-Administrator
daemon
SomeUser
尽管可能存在情况,但1-3行应该相同 域管理员不存在,所以简单地计算行不会 帮助,因为用户可能隐藏在第3行。
第4行字符串更改,可能有4行以上 以及完全没有4号线。
我不确定线路是否会改变位置。
我需要获取字符串-notMatch“Administrator”,“Domain-Administrator”,“daemon”。即,我需要此列表中的用户名。
有没有办法在-andMatch中使用多个-notMatch?目前我坚持只使用一个-notMatch的代码。我不能使用-Match,因为列表中可能有2个以上的用户。
$LocalAdmins | Select-String -pattern "Administrator" -notMatch
答案 0 :(得分:18)
喜欢这个吗?
$LocalAdmins | select-string -Pattern 'Administrator|daemon' -NotMatch | select -expa line
-pattern
接受REGEX
。您可以使用|
(或正则表达式运算符)添加其他单词以满足您的需求。
答案 1 :(得分:2)
假设$LocalAdmins
是一个数组,你可以这样做:
$exclude = 'Administrator', 'Domain-Administrator', 'daemon'
$LocalAdmins | Where-Object { $exclude -notcontains $_ }