次の方法で共有


DirectoryEntry オブジェクト

System.DirectoryServices では、ディレクトリ内の各オブジェクトは DirectoryEntry オブジェクトで表されます。DirectoryEntry は、メモリ内にエントリ オブジェクトを作成します。CommitChanges メソッドが呼び出されるまでは、ディレクトリ内に実際のオブジェクトが作成されることはありません。この利点は、ディレクトリにアクセスするための情報をクライアント アプリケーションから取得し、その情報の読み取りや変更をローカルで行ってから、サーバーに再接続し、変更した情報をディレクトリに保存できる点にあります。これによって、サーバーのパフォーマンスを最高に保つことができます。

各ネットワーク リソースは、ディレクトリ内でオブジェクトとして表され、各ディレクトリ オブジェクトは、前に述べたように、クライアント アプリケーションでは DirectoryEntry として表されます。

ディレクトリ エントリ オブジェクトには次の特性があります。

  • Name。オブジェクト名は、相対識別名 (RDN: relative distinguished name) とも呼ばれます。RDN の形式は、キー=値という構文を使用します。たとえば、次の図では、ユーザー オブジェクトの RDN は CN=Jeff Smith です。スペースは除かれることに注意してください。
  • Parent。ネットワーク オブジェクトは階層になっており、ルート オブジェクトより下位のオブジェクトには親オブジェクトがあります。ルート オブジェクトはドメイン オブジェクトであり、階層の最上位に位置し、ドメイン ヘッドと呼ばれることもあります。
  • Path。ディレクトリ オブジェクト パスは、識別名 (DN: distinguished name) とも呼ばれます。識別名は、ルート オブジェクトまでの各親オブジェクトの名前が前に付いたオブジェクト名で構築されます。たとえば、ユーザー オブジェクト CN=Jeff Smith の場合、DN は DC=Fabrikam,DC=COM,OU=Sales,CN=Jeff Smith のように、ルート オブジェクトで始まり、ユーザー オブジェクトまでのパスをたどります。パスでは、LDAP 仕様で定義された構文が使用されます。パスの正しい構文の詳細については、「バインド文字列」を参照してください。パスは、DirectoryEntry オブジェクトで作成されたバインド文字列で使用されます。

オブジェクト パス モデル

前に述べた情報は、System.DirectoryServices を使用して接続するいずれの LDAP ディレクトリ オブジェクトにも当てはまりますが、Active Directory ドメイン サービス固有のものもあります。Active Directory ドメイン サービス オブジェクトの 1 つの特徴は、それらがグローバル一意識別子 (GUID) を含んでいる必要があることです。オブジェクトのさまざまな属性の値は変わることがありますが、GUID は不変です。

次のコード例は、DirectoryEntry の作成方法と、そのパス、名前、および GUID の書き込み方法を示していますこの例では、DirectoryEntry は、このユーザーが現在接続しているドメインのルートにバインドされています。

Imports System.DirectoryServices
'...
Dim entry As New DirectoryEntry()
Console.WriteLine(entry.Path)
Console.WriteLine(entry.Name)
Console.WriteLine(entry.Guid)
using System.DirectoryServices;
//...
DirectoryEntry entry = new DirectoryEntry();
Console.WriteLine(entry.Path);
Console.WriteLine(entry.Name);
Console.WriteLine(entry.Guid);

関連項目

リファレンス

System.DirectoryServices
DirectoryEntry

概念

System.DirectoryServices の概要
バインド文字列

Send comments about this topic to Microsoft.

Copyright © 2007 by Microsoft Corporation. All rights reserved.