System.DirectoryServices.ActiveDirectory のシナリオ

System.DirectoryServices.ActiveDirectory 名前空間は、Active Directory ドメイン サービスに関連する一般的なタスクを実行するアプリケーションおよびユーティリティの開発を単純化するように設計されています。この名前空間は、Active Directory ドメイン サービスの構造、Active Directory ドメイン サービスベースのネットワーク、およびレプリケーション管理や信頼管理などの一般的な Active Directory ドメイン サービス操作に関する大量の情報をカプセル化した高水準の API です。System.DirectoryServices.ActiveDirectory には、フォレスト、ドメイン コントローラ、スキーマ クラス、スキーマ プロパティ、レプリケーション スケジュールなどの一般的な Active Directory ドメイン サービス要素を表すオブジェクトが含まれています。

多くの場合、タスクは System.DirectoryServices.ActiveDirectory 名前空間で提供される範囲を超えて Active Directory ドメイン サービスに追加のアクセスを行うことなく実行できます。ただし、いくつかの高度なタスクの場合、System.DirectoryServices.ActiveDirectory 名前空間で実装されていないオブジェクトの属性へのアクセスが必要になることがあります。これを行うために、多数の System.DirectoryServices.ActiveDirectory オブジェクトによって実装される GetDirectoryEntry メソッドを使用できます。そのメソッドを使用して、オブジェクトの DirectoryEntry を取得できます。次に、そのクラスおよび System.DirectoryServices の他の関連クラスによって提供されるメソッドを使用して、DirectoryEntry を調査または更新できます。このようにして、高度な Active Directory ドメイン サービス機能が必要なアプリケーションでも、System.DirectoryServices.ActiveDirectory の多数のオブジェクト固有のメソッドを利用できます。これらのメソッドを使用すると、開発者として Active Directory ドメイン サービス スキーマ内部の詳しい知識がない場合でも、少ない行数のプログラム コードで特定のディレクトリ オブジェクトを見つけたり、一連の特定の種類のディレクトリ オブジェクトを列挙できます。GetDirectoryEntry メソッドを実装する System.DirectoryServices.ActiveDirectory クラスは次のとおりです。

非常に便利なもう 1 つの System.DirectoryServices オブジェクトとして、System.DirectoryServices.DirectorySearcher オブジェクトがあります。このオブジェクトは、Active Directory ドメイン サービスのサブツリーの検索を実行します。アプリケーションが DirectoryEntry オブジェクトを取得したら、DirectoryEntry をルートとする Active Directory ドメイン サービス サブツリーを検索する DirectorySearcher オブジェクトを作成できます。また、DomainController オブジェクトまたは GlobalCatalog オブジェクトの GetDirectorySearcher メソッドを使用して、それらのオブジェクトから直接 System.DirectoryServices.DirectorySearcher オブジェクトを取得することもできます。

スキーマ管理のシナリオ

System.DirectoryServices.ActiveDirectory 名前空間内のクラスを使用して、スキーマの構造の詳しい情報がなくてもスキーマにクエリを行い、更新することができます。

ActiveDirectorySchema クラスには、FindAllClassesFindAllDefunctClasses などのクラスを列挙するメソッドが含まれています。列挙メソッドによって見つかった各 ActiveDirectorySchemaClass オブジェクトのプロパティを調査することによって目的のスキーマ クラスを識別できます。その時点で、そのクラスに関するレポートを作成したり、選択した ActiveDirectorySchemaClass オブジェクトの 1 つ以上のプロパティを更新したりできます。そのオブジェクトの MandatoryProperties または OptionalProperties コレクションを使用して、一連の ActiveDirectorySchemaProperty オブジェクトにアクセスすることもできます。これらのオブジェクトには、グローバル カタログに存在しているか非アクティブになっているかなど、そのクラスのスキーマ プロパティに関する詳細な情報が含まれています。

同様に、特定の特性を持つスキーマ プロパティを識別する必要がある場合、最初に ActiveDirectorySchema クラスの FindAllProperties メソッドを呼び出してプロパティを列挙することができます。次に、返された各 ActiveDirectorySchemaProperty オブジェクトのプロパティを調査し、必要に応じてそのオブジェクトの詳細を変更またはレポートできます。

トポロジ管理のシナリオ

System.DirectoryServices.ActiveDirectory 名前空間のクラスを使用して、Active Directory ドメイン サービス インストールのトポロジを調査および変更できます。

ForestDomainActiveDirectorySiteActiveDirectorySubnet などの Active Directory ドメイン サービス オブジェクトの情報を表示または更新できます。また、次の 2 とおりの方法のいずれかでオブジェクト間の関係を調べることもできます。

  • 異なる種類の 1 つ以上のオブジェクトを返すオブジェクトのメソッドおよびプロパティを使用する方法。たとえば、すべてのサイトのすべてのドメインを一覧表示するには、ActiveDirectorySiteCollection を列挙します。ActiveDirectorySiteCollection の各 ActiveDirectorySiteDomains コレクションを取得し、サイトごとにそれに含まれるすべてのドメインの名前を一覧表示するレポートを作成します。
  • 前に示した Active Directory ドメイン サービス オブジェクト間の関係を表す他のオブジェクトにアクセスする方法。たとえば、ActiveDirectorySiteLink オブジェクトの Sites プロパティは、その ActiveDirectorySiteLink オブジェクトに含まれるすべてのサイトのコレクションを取得します。同様に、ActiveDirectorySiteLinkBridge オブジェクトの SiteLinks プロパティは、その ActiveDirectorySiteLinkBridge と関連付けられたすべての ActiveDirectorySiteLink オブジェクトのコレクションを取得します。

フォレストまたはドメインの信頼管理のシナリオ

アプリケーションから Domain または Forest オブジェクトに対して定義されたすべての信頼のコレクションにアクセスできます。いずれの場合でも、そのオブジェクトの GetAllTrusts メソッドを使用して TrustRelationshipInformationCollection オブジェクトを返します。次に、そのコレクションを反復処理して、それに含まれる TrustRelationshipInformation オブジェクトを表示または更新できます。System.DirectoryServices.ActiveDirectory 名前空間でも、TrustDirectionTrustType などの追加のオブジェクトが定義されています。これは、それぞれ有効な信頼の方向と信頼の種類を表す列挙値を提供します。

レプリケーションの監視シナリオ

System.DirectoryServices.ActiveDirectory 名前空間のもう 1 つの一般的なアプリケーションは、Active Directory ドメイン サービス レプリケーションの監視です。

System.DirectoryServices.ActiveDirectory は、ReplicationConnectionReplicationCursorReplicationFailureReplicationOperationReplicationOperationInformation などのレプリケーション状態情報を含むクラスをいくつか実装します。

たとえば、特定のドメイン コントローラで定義されているすべてのパーティションのレプリケーション状態をレポートするために、各パーティションと関連付けられた ReplicationCursor オブジェクトを調査できます。DomainController オブジェクトの FindOne メソッドを使用して、目的の DomainController を見つけることができます。次に、DomainControllerPartitions コレクション プロパティを参照し、そのドメイン コントローラ上のすべてのパーティションを列挙します。GetReplicationCursors メソッドを使用してそのパーティションのすべての ReplicationCursor オブジェクトのコレクションを取得し、ReplicationCursor オブジェクトのコレクションを列挙して、SourceServerSourceInvocationIdLastSuccessfulSyncTime などのプロパティの値を表示できます。

関連項目

概念

System.DirectoryServices.ActiveDirectory 名前空間の概要
System.DirectoryServices.ActiveDirectory のアーキテクチャ

Send comments about this topic to Microsoft.

Copyright © 2008 by Microsoft Corporation. All rights reserved.