行があります-
echo $LocalAdmins
Administrator
Domain-Administrator
daemon
SomeUser
1行目と3行目は同じである必要がありますが、ドメイン管理者が存在しない場合があるため、ユーザーが3行目に隠れている可能性があるため、行を数えるだけでは効果がありません。
4行目の文字列の変更。4行を超える場合もあれば、4行目がない場合もあります。
行の位置が変わるかどうかはまだわかりません。
-notMatch "Administrator"、 "Domain-Administrator"、 "daemon"という文字列を取得する必要があります。つまり、このリストにあるユーザー名が必要です。
-andまたは()で複数の-notMatchを使用する方法はありますか?現在、私は-notMatchを1つだけ使用するコードに悩まされています。リストに2人以上のユーザーがいる可能性があるため、-Matchは使用できません。
$LocalAdmins | Select-String -pattern "Administrator" -notMatch
このような?
$LocalAdmins | select-string -Pattern 'Administrator|daemon' -NotMatch | select -expa line
-pattern
はREGEX
を受け入れます。 |
(または正規表現演算子)を使用して、ニーズに合わせて他の単語を追加します。
仮定して $LocalAdmins
は、これを実行できる配列です。
$exclude = 'Administrator', 'Domain-Administrator', 'daemon'
$LocalAdmins | Where-Object { $exclude -notcontains $_ }