プログラミング言語のサポート

ADSIクライアントアプリケーションは、多くの言語で記述できます。 ほとんどの管理タスクでは、ADSIはオートメーションに準拠した言語からアクセスできるインターフェイスとオブジェクトを定義します。 たとえば、Microsoft Visual Basic開発システム、Microsoft Visual Basic Scripting Edition (VBScript) 、Javaだけでなく、CやC ++.

などのパフォーマンスと効率を重視する言語も使用できます。Active Server PagesおよびVBScriptとのスムーズな統合により、ディレクトリサービスにアクセスするインターネットアプリケーションを簡単に作成できます。 OLE DBアプリケーションとの統合のために、ADSIはOLE DBクエリインターフェイスのサブセットをサポートするOLE DBプロバイダーを提供します。 OLE DBプロバイダーは、Active Directoryへの読み取り専用アクセスをサポートします。

インターネットアプリケーションの場合、Active Server Page (ASP) ファイルでスクリプトを使用すると、サーバー上のADSIオブジェクトを作成および操作し、その結果をWebページに表示できます。 Microsoft 管理コンソールでは、ディレクトリ サービス管理スナップインは ADSI を使用して目的のディレクトリ サービスを検索できます。 つまり、Active Directoryサービスインターフェイスは、まだ構築されていないものを含む、広範で多様な一連のディレクトリサービスへのアクセスを提供できます。

従来の API を使用する構造体にアクセスするために、ADSI アーキテクチャは、C や C ++. などの言語からアクセスできるオートメーションをサポートしない低レベルのインターフェイスを定義します。 これらのインターフェイスは、ディレクトリサービスへのネットワークプロトコルのCOMラッパーにすぎません。

公開されたインターフェイスにコードを記述すると、アプリケーションは、インストールされているすべてのADSIプロバイダーのディレクトリサービスにアクセスし、結果のデータを統合できます。 コードをほとんどまたはまったく変更せずに、新しいADSIプロバイダーがインストールされると、アプリケーションはネットワーク上の追加のディレクトリサービスに引き続きアクセスできます。

次の図は、ADSIがアプリケーション環境にどのように適合するかを示しています。 アプリケーションが Visual Basic、C/C++、VBScript、Microsoft JScript 開発システムで記述されているか、Active Server Pages を使用した Web アプリケーションとして記述されているかにかかわらず、Active Directory サービス インターフェイスは、ネイティブ ネットワーク API を使用せずに、基になるディレクトリ サービスへのクリーンで使いやすいアクセスを提供します。

adsi support for programming languages

前の図に示すように、オートメーションをサポートしていないクライアントは、IDirectoryXXXという名前付け規則を持つ純粋なCOMインターフェイスと、IADsXXXという名前付け規則を持つオートメーションCOMインターフェイスの両方を含む、すべてのADSIインターフェイスにアクセスできます。 クライアントは主にディレクトリサービスから情報を要求するため、OLE DBとIDirectorySearchを使用したADSI柔軟なクエリモデルが効果的です。