System.DirectoryServices.ActiveDirectory のテクノロジの概要

System.DirectoryServices.ActiveDirectory は、パーティション、スキーマ、レプリケーション、信頼、および Active Directory ドメイン サービスの構成に関連する Active Directory ドメイン サービス管理タスクを、プログラムによって実行できるようにする .NET Framework のコンポーネントです。

System.DirectoryServices.ActiveDirectory は、AD LDS を含む Active Directory ドメイン サービスに対するシンプルでわかりやすいインターフェイスで、アプリケーション開発者や一般的な管理タスクを自動化するシステム管理者にとって便利です。この名前空間で提供される機能のいくつかは、既存の System.DirectoryServices クラスで使用できますが、System.DirectoryServices.ActiveDirectory を使用すると、多数のタスクを、比較的行数の少ないコードで、Active Directory ドメイン サービスの詳細な知識がなくても実行することができます。

キーワード

Active Directory ドメイン サービス管理、Active Directory ドメイン サービス スクリプト、管理アプリケーション、Active Directory ドメイン サービス スキーマ、レプリケーション、フォレスト、信頼、AD LDS

System.DirectoryServices.ActiveDirectory

関連技術

System.DirectoryServices

System.DirectoryServices.ActiveDirectory オブジェクトのタスクの多くは、System.DirectoryServices オブジェクトでも行うことができます。System.DirectoryServices のクラスを使用すると、Active Directory ドメイン サービスおよび他の LDAP ベースのディレクトリにアクセスできるようになります。System.DirectoryServices.ActiveDirectory は、ドメイン、スキーマ プロパティ、信頼関係、レプリケーション スケジュールなど、Active Directory ドメイン サービス固有の一般的なオブジェクトにアクセスしたり、これらのオブジェクトを操作したりするためのシンプルなモデルを提供します。System.DirectoryServices.ActiveDirectory によって提供される機能の多くは、System.DirectoryServices ではサポートされていません。System.DirectoryServices が同等の機能をサポートする場合でも、System.DirectoryServices の汎用性のため、アプリケーション開発者は、同じ操作を実行するためにより多くのコードを記述する必要があります。

System.DirectoryServices.Protocols

System.DirectoryServices.Protocols 名前空間は、ライトウェイト ディレクトリ アクセス プロトコル (LDAP) Version 3.0 (V3) 標準とディレクトリ サービス マークアップ言語 (DSML) Version 2.0 (V2) 標準を使用した、プログラムによるディレクトリ サービスへの汎用的なアクセスと管理を提供します。System.DirectoryServices.Protocols は、マネージ LDAP プログラミングの高レベルの制御と高いパフォーマンスを提供します。System.DirectoryServices と同様に、System.DirectoryServices.Protocols は、Active Directory ドメイン サービスおよび AD LDS タスク専用にデザインされたものではありません。

Windows 用 DSML サービス

Windows 用 Directory Services Markup Language (DSML) サービスを使用すると、アプリケーションで、XML ドキュメントを使用して、SOAP-DSML メッセージを使用する Active Directory ドメイン サービスとの間で読み取りおよび書き込みを行うことができます。このテクノロジを使用すると、メッセージの処理には、MS XML オブジェクトなどの COM オブジェクトが用いられます。.NET Native インターフェイスを使用した DSML 処理では、System.DirectoryServices.Protocols 名前空間のインターフェイスを使用します。Windows 用 DSML サービスの詳細については、MSDN ライブラリの Win32 および COM 開発の SDK ドキュメントで、ディレクトリ サービス セクションの Windows 用 DSML サービスに関する情報を参照してください。

Active Directory ドメイン サービス COM インターフェイスと Win32 関数

Active Directory ドメイン サービス COM インターフェイスおよび Win32 関数によって、Win32 ベースのプログラムは、Active Directory ドメイン サービス固有の管理オブジェクトにアクセスし、MMC Active Directory スナップインと統合できます。これらのテクノロジは、ディレクトリの低いレベルで Active Directory ドメイン サービスとやり取りするので、通常、System.DirectoryServices および System.DirectoryServices.ActiveDirectory 名前空間で同じタスクを実行するために必要なプログラミングよりも複雑なプログラミングが必要になります。マネージ クラスにはない機能が提供されることもあるため、MMC スナップイン ページへの追加など特定の種類のアプリケーションを実装する場合、Active Directory ドメイン サービス COM インターフェイスおよび Win32 関数を使用する必要があります。これらのテクノロジの詳細については、MSDN ライブラリの Win32 および COM 開発の SDK ドキュメントで、ディレクトリ サービス セクションの Active Directory ドメイン サービスに関する情報を参照してください。

ADSI

ADSI (Active Directory Service Interfaces) は、Active Directory ドメイン サービス固有の管理オブジェクト、アプリケーション オブジェクト、および Active Directory ドメイン サービス スキーマへのアクセスを提供するオートメーションおよび非オートメーション COM インターフェイスのセットです。ADSI のオートメーション インターフェイスは、スクリプトに使用できます。非オートメーション COM インターフェイスもサポートする C++、C#、VB.Net などの言語は、アプリケーション開発の際にどちらの種類のインターフェイスも使用できます。ADSI の詳細については、MSDN ライブラリの Win32 および COM 開発の SDK ドキュメントで、ディレクトリ サービス セクションの Active Directory サービス インターフェイスに関する情報を参照してください。

LDAP

ライトウェイト ディレクトリ プロトコル (LDAP : Lightweight Directory Protocol) API は、Active Directory ドメイン サービスを含む LDAP ベースのディレクトリへのアクセスを提供します。これは、標準 LDAP プロトコルを使用して、ディレクトリ エントリに対してアクセス、検索、および操作を行います。Active Directory ドメイン サービス COM インターフェイスおよび Win32 関数と同様に、LDAP によって開発者はディレクトリ パスを使用してオブジェクトにアクセスできます。ただし、LDAP には、Active Directory ドメイン サービスの特定の構造に関する固有の情報がないので、通常、LDAP ベースの Active Directory ドメイン サービス アプリケーションは、Active Directory ドメイン サービス アプリケーションの他の開発方法より複雑で、コードが多くなります。LDAP の詳細については、MSDN ライブラリの Win32 および COM 開発の SDK ドキュメントで、ディレクトリ サービス セクションのライトウェイト ディレクトリ アクセス プロトコルに関する情報を参照してください。

背景

System.DirectoryServices.ActiveDirectory 名前空間には、Active Directory ドメイン サービスの内容を管理し、その内容にアクセスするアプリケーションの開発を単純化する一連の .NET クラスが含まれています。

.NET Framework の前のリリースでは、アプリケーション開発者は、System.DirectoryServices 名前空間で Active Directory ドメイン サービス エントリにアクセスできました。ただし、System.DirectoryServices は、Active Directory ドメイン サービスだけでなく他の多数の種類のディレクトリ サービスへのアクセスを提供するように開発されたので、パーティション (フォレストおよびサイトで構成されます) やトポロジ (サイト、サブネット、およびサイトリンクで構成されます) などの Active Directory ドメイン サービスおよび AD LDS 固有の機能への直接アクセスを提供するクラスは含まれていませんでした。開発者が目的の要素へのパスを知っており、Active Directory ドメイン サービスに格納されるすべてのオブジェクトと同様にそのパスを表す文字列を正しく構築した場合、これらの要素には System.DirectoryServices を使用してアクセスできますが、System.DirectoryServices 名前空間自体は Active Directory ドメイン サービスの構造を認識しません。さらに、Active Directory ドメイン サービス管理タスクを行うには、複数の要素を取得または更新しなければならない場合もあります。

多くの組織で、ディレクトリ サービスとして Active Directory ドメイン サービスを使用する機会が多くなり、アプリケーション開発者は、トポロジ情報へのアクセスと更新および Active Directory ドメイン サービス プロセスの制御をもっと簡単な方法で行う必要がありました。この新しい機構では、Active Directory ドメイン サービス スキーマの内部構造に関する詳しい知識は要求されません。開発者は、最小限のアプリケーション コードで、Active Directory ドメイン サービスに関連する一般的なタスクを実行できます。System.DirectoryServices.ActiveDirectory は、このようなニーズを満たすために設計されました。

.NET Framework で記述されたアプリケーションは、ForestDomainActiveDirectorySiteLink などの System.DirectoryServices.ActiveDirectory クラスを使用して、Active Directory ドメイン サービス ツリーのトポロジを列挙および検索できます。System.DirectoryServices.ActiveDirectory クラスを使用して参照するためにアプリケーション開発者が知っている必要があるのは、階層内のオブジェクトの位置のみです。たとえば、"sales" というドメインが "contoso.com" フォレストにあるような場合です。同様に、開発者は、ReplicationOperation などのクラスを使用して Active Directory ドメイン サービス上の操作の進行を調査および制御し、ActiveDirectorySchema などのクラスを使用して Active Directory ドメイン サービス スキーマ自体に対してクエリや変更を行うことができます。

開発者は、System.DirectoryServices.ActiveDirectory クラスを利用して Active Directory ドメイン サービス トポロジを移動する一方で、System.DirectoryServices によって使用可能になった追加の機能へのアクセスが必要になることがあります。これを容易にするために、多くの場合、アプリケーションでは System.DirectoryServices.ActiveDirectory 名前空間の目的のオブジェクトに対応する実際の DirectoryEntry オブジェクトへの参照を取得することができます。その後、DirectoryEntry オブジェクトを使用して、System.DirectoryServices 名前空間のクラスによって使用可能になる Active Directory ドメイン サービス エントリ セキュリティ記述子の読み取りおよび書き込みなどの機能にアクセスできます。

System.DirectoryServices および System.DirectoryServices.ActiveDirectory 名前空間の詳細については、「.NET Framework Class Library Reference」を参照してください。.NET Framework には、一般的な .NET Framework プログラミング情報も含まれています。

アプリケーションでは、System.DirectoryServices.ActiveDirectory 名前空間のトポロジ関連クラスのインスタンスを使用して、特定の Active Directory ドメイン サービス フォレストの特定のドメイン コントローラなど特定のトポロジ オブジェクトにアクセスしたり、サイト内のすべてのサブネットなどトポロジ オブジェクトのコレクションの項目を列挙したりします。これらのクラスを使用して、フォレストやドメインの信頼など、トポロジ オブジェクト間の関係に対してクエリや更新を行うこともできます。

アプリケーションは、System.DirectoryServices.ActiveDirectory 名前空間のスキーマ関連クラスのインスタンスを使用して、Active Directory ドメイン サービス スキーマ要素とそれらの属性を調査します。

レプリケーションを監視および構成するには、System.DirectoryServices.ActiveDirectory 名前空間のレプリケーション関連クラスを使用します。

次の表に、特定の機能領域に関連するアプリケーションを開発するときに使用する主なクラスを示します。この一覧には、名前空間に含まれるすべてのクラスが示されているわけではありません。

テクノロジ領域 クラス/インターフェイス/構成要素

Active Directory ドメイン サービス オブジェクト ストアへの接続 (他のタスクのための前提条件)

DirectoryContext

フォレスト モード、信頼、コンピュータの役割、サイトの一覧などのフォレスト構成データのクエリまたは変更

Forest

ドメイン モード、信頼、コンピュータの役割、ドメイン トポロジなどのドメイン構成データのクエリまたは変更

Domain ,

DomainCollection ,

ActiveDirectoryPartition

アプリケーション パーティションのドメイン コントローラ、レプリカ、およびセキュリティ参照ドメインのクエリ

ApplicationPartition , ApplicationPartitionCollection ,

ActiveDirectoryPartition

レプリケーション パラメータ、サイト メンバシップ、ロールなどのサーバー メタデータなど Active Directory ドメイン サービスまたは AD LDS ディレクトリ サーバー構成データのクエリまたは変更、レプリケーション関数の実行

DirectoryServer ,

DirectoryServerCollection ,

ADAMInstance , ADAMInstanceCollection ,

ConfigurationSet

既定のパーティション、レプリケーション パラメータ、現在の時刻、最高の USN、グローバル カタログ状態などドメイン コントローラ構成データのクエリまたは変更、すべてのドメイン コントローラの一覧表示、レプリケーション関数の実行

DomainController , DomainControllerCollection

レプリケートされたプロパティの一覧などグローバル カタログ構成データのクエリ、すべてのグローバル カタログの一覧表示

GlobalCatalog , GlobalCatalogCollection

サブネットが割り当てられているサイトのクエリと変更

ActiveDirectorySubnet , ActiveDirectorySubnetCollection

ブリッジヘッド サーバー、隣接するサイト、サイト内のサブネットの一覧などのサイト情報のクエリおよび変更

ActiveDirectorySite ,

ActiveDirectorySiteCollection

すべてのトランスポート、サイト リンク、およびサイト リンク ブリッジの一覧のクエリ、すべてのサイト リンクのブリッジまたはレプリケーション スケジュールの無視を実行するためのパラメータの設定

ActiveDirectoryInterSiteTransport

サイト リンクおよびサイト リンク ブリッジの構成データのクエリと変更

ActiveDirectorySiteLink ,

ActiveDirectorySiteLinkCollection ,

ActiveDirectorySiteLinkBridge

レプリケーション メタデータと値のクエリ

ActiveDirectoryReplicationMetaData ,

AttributeMetaData,

AttributeMetadataCollection

スケジュール、トランスポートの種類、接続の使用可能性などレプリケーション構成データのクエリと変更

ReplicationConnection ,

ReplicationConnectionCollection

保留中の操作、状態、最後の正常に行われた同期時間、レプリケーション エラーなどレプリケーション プロセスの詳細のクエリ

ReplicationCursor ,

ReplicationCursorCollection ,

ReplicationNeighbor ,

ReplicationNeighborCollection ,

ReplicationOperation ,

ReplicationOperationCollection ,

ReplicationOperationInformation ,

ReplicationFailure ,

ReplicationFailureCollection

スキーマ構成データ、クラス、およびプロパティのクエリ、スキーマ変更後のスキーマ キャッシュのリセット

ActiveDirectorySchema

スキーマ クラスの詳細のクエリと変更

ActiveDirectorySchemaClass ,

ActiveDirectorySchemaClassCollection

スキーマ プロパティの詳細のクエリと変更

ActiveDirectorySchemaProperty ,

ActiveDirectorySchemaPropertyCollection

信頼構成情報のクエリと変更

ForestTrustDomainInformation ,

ForestTrustDomainInfoCollection ,

ForestTrustRelationshipCollision ,

ForestTrustRelationshipCollisionCollection ,

ForestTrustRelationshipInformation ,

TrustRelationshipInformation ,

TrustRelationshipInformationCollection

新機能

System.DirectoryServices.ActiveDirectory は、Visual Studio 2005 で導入された新しい、タスクベースのクラス階層で、Active Directory ドメイン サービスおよび AD LDS 関連機能をアプリケーションに追加するプロセスを簡素化します。

関連項目

概念

System.DirectoryServices.ActiveDirectory 名前空間の概要

Send comments about this topic to Microsoft.

Copyright © 2008 by Microsoft Corporation. All rights reserved.