我有一个PowerShell脚本,可以对许多域中的所有域管理员进行一些检查.对于每个用户帐户,执行了许多检查.当其中一个失败时,脚本应该转到列表中的下一个管理员.
我目前有类似的东西(简化):
Get-QADGroupMember "Domain Admins" | Select-Object SamAccountName | ForEach-Object {
#Do something
if(!ThisCheckIsOK)
{
break;
}
#Do something else
if(ThisCheckIsNotOK)
{
break;
}
...
}
Run Code Online (Sandbox Code Playgroud)
这会停止整个脚本.有没有办法去下一个元素?
$foreach.movenext()因为不工作$foreach的null.
小智 33
您可能希望使用该Continue语句继续最内层循环.
摘自PowerShell帮助文件:
在脚本中,该
continue语句使程序流立即移动到由这些语句中的任何一个控制的最内层循环的顶部:
forforeachwhile
Thi*_*tti 32
你只需break要用一个return语句替换它.
将内部代码Foreach-Object视为匿名函数.如果你在函数内部循环,只需使用适用于建筑(控制关键字continue,break...).