Active Directoryの検索

Active Directoryの重要な機能は、コンピュータおよびサービスの構成データだけでなく、ユーザーのデータクエリを解決することです。 Active Directoryの効率的なクエリを記述するには、次のことを理解しておくと役立ちます。

  • クエリの範囲の決定: クライアントは、フォレスト内の任意の場所にあるオブジェクト、1つのドメインのみにあるオブジェクト、または特定の組織単位 (OU) 内にあるオブジェクトのプロパティを検索する必要がありますか。
  • クエリの深さの決定: クエリは1つのレベルのみを検索する必要がありますか。または、他のLDAPディレクトリにまたがる可能性がありますか。
  • パフォーマンスと大きな結果セットの処理: クライアントは、大きな結果セットの可能性をどのように効果的に処理する必要があります。
  • 最適なクエリの決定: どのような種類のクエリが最も効率的な結果を提供しますか。 開発者はどのような種類のクエリを避ける必要がありますか。
  • クエリ構文の理解: ADSIは、RFC 2254に記載されているLDAP構文と、SQLのサブセットの両方をサポートしています。
  • インターフェイスの選択: ADSIは、OLE DBサポートとIDirectorySearchと呼ばれるC/C++インターフェイスの両方を提供します。 ADSIは複数の名前空間に対して機能するため、これらのインターフェイスを使用して、ExchangeやActive Directoryなどの他の名前空間を照会できます。 ActiveXデータオブジェクト (ADO) はOLE DB上の単純なスクリプト可能なデータアクセスオブジェクトモデルであるため、OLE DBインターフェイスはVisual BasicプログラマやWebページスクリプト作成者に適しています。 ADOおよびOLE DBを利用するVisual StudioおよびOfficeアプリケーション内の新しいデータアクセス機能は、SQL Serverなどの他のOLE DBプロバイダーからデータにアクセスするのと同じ方法でActive Directoryデータにアクセスできるようになりました。 ただし、C/C++開発者が単純なディレクトリ検索を実行する必要がある場合は、IDirectorySearchインターフェイスの方がOLE DBインターフェイスよりも適している可能性があります。

次のトピックでは、クライアントの要件に応じて、アプリケーションが最も効率的なクエリを発行するようにActive Directoryを検索する方法について説明します。