Recherche dans Active Directory

Une fonction importante d’Active Directory est de résoudre les requêtes de données pour les personnes, ainsi que les données de configuration des ordinateurs et des services. Pour écrire des requêtes efficaces pour Active Directory, il est utile de se familiariser avec les éléments suivants :

  • Détermination de l’étendue de la requête : le client doit-il trouver des propriétés pour les objets qui peuvent se trouver n’importe où dans une forêt, ou seulement dans un domaine, ou dans une unité d’organisation donnée ?
  • Détermination de la profondeur de la requête : la requête doit-elle rechercher un seul niveau ou peut-elle passer dans d’autres répertoires LDAP ?
  • Performances et gestion des jeux de résultats volumineux : comment le client doit-il gérer efficacement le potentiel d’un jeu de résultats volumineux ?
  • Détermination des meilleures requêtes : quel type de requêtes fournit les résultats les plus efficaces ? Quel type de requêtes le développeur doit-il éviter ?
  • Présentation de la syntaxe de requête : ADSI prend en charge la syntaxe LDAP telle que documentée dans RFC 2254, ainsi qu’un sous-ensemble de SQL.
  • Choix des interfaces : ADSI fournit à la fois la prise en charge d’OLE DB ainsi qu’une interface C/C++ appelée IDirectorySearch. Étant donné qu’ADSI fonctionne pour plusieurs espaces de noms, vous pouvez utiliser ces interfaces pour interroger d’autres espaces de noms tels qu’Exchange et Active Directory. Étant donné que l’objet de données ActiveX (ADO) est un modèle objet d’accès aux données scriptable simple sur OLE DB, les interfaces OLE DB fonctionnent bien pour les programmeurs Visual Basic et les rédacteurs de scripts de page web. Les nouvelles fonctionnalités d’accès aux données des applications Visual Studio et Office qui tirent parti d’ADO et OLE DB peuvent désormais accéder aux données Active Directory de la même façon qu’elles accèdent aux données d’autres fournisseurs OLE DB, tels que SQL Server. Toutefois, si un développeur C/C++ doit effectuer une recherche de répertoire simple, l’interface IDirectorySearch peut être plus appropriée que les interfaces OLE DB.

Les rubriques suivantes décrivent comment effectuer une recherche dans Active Directory pour s’assurer que votre application émet la requête la plus efficace, en fonction des exigences du client :