我有两个数组$ newUsers和$ oldUsers已经在我写的脚本中填充了userid's。我的下一个目标是检查$ newUsers中是否存在$ newUsers的用户标识。如果是,则显示语句Write-Host“New User_id $ rowNew in old user list”else else显示Write-Host“New User_id $ rowNew Not Found in Old user list”PowerShell嵌套Foreach循环给出不正确的结果
以下是我使用的逻辑和输出i '越来越。
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
不知道为什么我'得到上述结果,should'nt我越来越对每个用户ID一个结果。任何人都可以帮助我,我需要改变上面的代码片段?
我建议使用'compare-object' cmdlet。 –