私が書いたスクリプトでは、$newUsers と $oldUsers の 2 つの配列にユーザー ID が既に入力されています。次の目標は、$newUsers のユーザー ID が $oldUsers に存在するかどうかを確認することです。はいの場合、ステートメント Write-Host "New User_id $rowNew found in Old user list" を表示します。 そうでない場合、Write-Host "New User_id $rowNew Notfound in Old user list" を表示します。
以下は、私が使用したロジックと私が得ている出力です。
foreach ($rowNew in $newusers){
foreach ($rowOld in $oldusers){
if ($rowNew -ieq $rowOld){
Write-Host "New User_id $rowNew found in Old user list"
} else {
Write-Host "New User_id $rowNew Notfound in Old user list"
}
}
}
- 結果
New User_id fadb274 found in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fadb274 Notfound in Old user list
New User_id fad8878 found in Old user list
New User_id fad8878 Notfound in Old user list
New User_id fad8878 Notfound in Old user list
New User_id fad8878 Notfound in Old user list
上記の結果が得られる理由がわかりません。ユーザー ID ごとに 1 つの結果を得る必要があります。上記のコードスニペットで何を変更する必要があるかについて、誰か助けてもらえますか?