2017-04-07 9 views
2

でのforeach内の変数のフィールドを使用しますので、私は、Active Directoryのユーザーのリストを持っている:あなたは3つの可能な説明を持っているので、私が何をしたいのかは、PowerShellの

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

は、彼らの説明に基づいてグループですユーザーリスト全体で

しかし:私もさえforeachの内側Descriptionフィールドを使用するように見えることはできません。

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

その名前が示すではなく、その説明。

これはなぜですか?

答えて

4

Get-ADUserは、デフォルトで特定のプロパティのみを返します。 descriptionプロパティは、これらのいずれでもありません。それが返されることを確認するには、Get-ADUserで、次のパラメータを使用する必要があります。

-Properties Description

は「このコマンドレットは、ユーザーオブジェクトのプロパティのデフォルトセットを取得し、追加のプロパティは、プロパティのパラメータを使用して取得するには。。」 - https://technet.microsoft.com/en-gb/library/ee617241.aspx

+0

非常にありがとうございます。各コマンドレットの既定のプロパティの参照先を教えてください。 –

+1

私はそれが十分に文書化されているとは思わないが、結果を 'get-member'コマンドレットに渡すと、すべてのオブジェクトのプロパティとメソッドが表示されます。たとえば、 '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。また、FYIでは '-properties *'を実行することですべてのプロパティを取得できます。 –