2017-04-07 35 views
2

所以我的Active Directory用戶的列表:使用一個變量的領域的foreach內使用PowerShell

$users = Get-AdUser -Filter {Enabled -eq "True"} 

我想要做的就是根據它們的描述組,因爲你有3所可能的說明在整個用戶列表中。

不過:我甚至不能似乎甚至使用foreach內的Description領域:

foreach ($user in $users) 
{ 
    Write-Host $user.Name  
    Write-Host $user.Description 
} 

他們的名字所示,但不是他們的描述。

這是爲什麼?

回答

4

Get-ADUser默認情況下只返回特定屬性。 description屬性不是其中之一。爲了確保它返回你需要使用下面的參數與Get-ADUser

-Properties Description

「這cmdlet檢索用戶對象屬性的默認設置爲獲取額外的屬性使用屬性參數。」 - https://technet.microsoft.com/en-gb/library/ee617241.aspx

+0

非常感謝馬克,我可以問你在哪裏看到每個cmdlet的默認屬性? –

+1

我不認爲它有很好的文檔記錄,但是如果你將結果輸入到get-member' cmdlet,那麼你會看到所有的對象屬性和方法。例如'get-aduser -filter * | get-member' –

+1

實際上它看起來像它在這裏爲'get-aduser'記錄:https://social.technet.microsoft.com/wiki/contents/articles/12037.active-directory-get-aduser-default-and -extended-properties.aspx。此外,僅供參考,您可以通過執行'-properties *'來返回所有屬性。 –