因此,这里的工作不正是我试图做的:PowerShell的While循环如预期
我手动输入一个名字,然后我想谁的名字我输入的人下工作的用户列表( extensionattribute9是用户在其下工作的人)。但是,对于在该人员下工作的每个人,我也想为他们运行该流程,并查看是否有人也在他们之下工作。我希望这个过程继续下去,直到没有人在当前用户下工作。
我已经做了3次这样做,没有一个while循环,但是因为我不知道要得到每个人有多深,我觉得使用while循环会更好整体,尤其是在代码长度方面。
这里是我目前拥有的代码:
$users = Get-ADUser -Filter * -Properties extensionattribute9,Displayname,mail,title
$users | ForEach-Object {
if ($_.extensionattribute9 -like '*Lynn, *')
{
$_ | select Displayname,userprincipalname,title,extensionattribute9
$name = $_.Displayname
while ($_.extensionattribute9 -ne $null){ $users | ForEach-Object {
if ($_.extensionattribute9 -eq $name)
{
$_ | select Displayname,userprincipalname,title,extensionattribute9
$name=$_.Displayname
}
}
}
}
}
当我运行下的Lynn“我得到一个用户(用户A)的代码,然后在用户A的用户在此之后,没事。该程序仍然继续运行,但没有返回。我猜它陷入了一个无限循环,但我不知道把while循环放在哪里更好。帮帮我?