因此,這裏的工作不正是我試圖做的: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循環放在哪裏更好。幫幫我?