ディレクトリ オブジェクトのプロパティの読み取り
オブジェクトのプロパティ値を取得する場合、1 つの値のみが返される場合でも、データは列挙可能なコレクションとして返されます。この処理は、DirectoryEntry クラスのプロパティである Properties で実行されます。Properties は PropertyCollection オブジェクトを返します。PropertyCollection で参照されるプロパティの値は、PropertyValueCollection オブジェクトに格納されます。
メモ : |
---|
Windows NT 4.0 の DSClient (Active Directory Client Extension) では、Properties プロパティの使用はサポートされません。 |
コレクション内のプロパティ値は、PropertyValueCollection オブジェクトの Value プロパティを使用して読み取ります。コレクション内に 1 つの値しかない場合、それは値のオブジェクト表現として返されます。
オブジェクト プロパティ値にアクセスするには、次のコード例に示す構文を使用してプロパティの名前を提供します。
DirectoryEntry.Properties("givenName").Value
DirectoryEntry.Properties["givenName"].Value;
この例では、コードは givenName プロパティにアクセスします。これは、Active Directory ドメイン サービスおよび他の LDAP ディレクトリの user オブジェクトのプロパティの LDAP 表示名です。ディレクトリ内の特定のプロパティにアクセスするには、アプリケーション内でそのプロパティの LDAP 表示名を提供します。givenName プロパティおよび Active Directory の user オブジェクトの詳細については、MSDN ライブラリ (https://go.microsoft.com/fwlink/?LinkID=27252) で givenName および User に関するトピックを参照してください。
次のコード例は、Properties コレクションを使用して 1 つの値を読み取る方法を示しています。
Dim ent As New DirectoryEntry("LDAP://Fabrikam/CN=My Username,CN=Users,DC=Fabrikam,DC=com")
Dim name As [string] = ent.Properties("sn").Value.ToString()
Console.WriteLine(name)
DirectoryEntry ent = new DirectoryEntry("LDAP://Fabrikam/CN=My Username,CN=Users,DC=Fabrikam,DC=com");
string name = ent.Properties["sn"].Value.ToString();
Console.WriteLine(name);
関連項目
リファレンス
System.DirectoryServices
DirectoryEntry
PropertyCollection
PropertyValueCollection
概念
Send comments about this topic to Microsoft.
Copyright © 2007 by Microsoft Corporation. All rights reserved.