Étendue de la requête
L’étendue d’une requête est déterminée par l’objet auquel vous êtes lié. Si vous ne savez pas où se trouve l’objet au sein de l’entreprise, vous devez effectuer une recherche aussi large que possible. Toutefois, si vous savez que l’objet sera contenu dans un domaine spécifique, tel que le domaine auquel l’utilisateur est connecté, ou au sein d’un groupe spécifique, tel que le groupe Gestionnaires, vous devez définir l’étendue de la recherche pour refléter la circonstance. Pour des performances optimales, vous devez essayer de cibler l’étendue afin de rechercher le plus petit nombre d’objets possible.
Lorsque vous n’êtes pas sûr de l’emplacement d’un objet dans l’entreprise, vous pouvez le lier au service de catalogue global. Le service de catalogue global contient une liste de chaque objet du répertoire et un petit sous-ensemble des attributs de chaque objet. Une fois que vous avez trouvé l’objet dans le catalogue global, vous pouvez récupérer son nom unique à partir du catalogue global et l’utiliser pour le lier à l’objet afin d’effectuer d’autres opérations.
Une fois que vous avez choisi l’objet à lier, vous pouvez restreindre davantage la requête à l’une des étendues suivantes : une requête de base, une requête à un niveau ou une recherche de sous-arborescence, comme illustré dans l’illustration suivante.
Base
Une requête de base limite la recherche à l’objet de base uniquement. Le nombre maximal d’objets retournés est toujours un. Cette recherche peut être utilisée pour vérifier l’existence d’un objet. Par exemple, si vous avez le nom unique d’un objet et que vous devez vérifier l’existence de l’objet en fonction du chemin d’accès, vous pouvez utiliser une recherche à un niveau. Si la recherche échoue, vous pouvez supposer que l’objet a peut-être été renommé ou déplacé vers un autre emplacement, ou que vous avez reçu des données incorrectes sur l’objet. N’oubliez pas que vous devez stocker le GUID au lieu du nom unique si vous souhaitez revisiter un objet. Cela permet à l’objet d’être renommé ou déplacé dans la hiérarchie des répertoires sans rompre le lien persistant.
Dossier parent
Une recherche à un niveau est limitée aux enfants immédiats d’un objet de base, mais exclut l’objet de base lui-même. Ce paramètre peut effectuer une recherche ciblée pour les objets enfants immédiats d’un objet parent. Par exemple, si vous avez un objet parent appelé P1 et que ses enfants immédiats sont : C1, C2, C3, dans une recherche à un niveau, C1, C2 et C3 doivent être inclus lors de l’évaluation des critères, mais P1 ne fait pas partie de la recherche. Une recherche à un niveau peut être utilisée pour énumérer tous les enfants d’un objet. En fait, dans certains fournisseurs ADSI, l’énumération IADsContainer se traduit par une recherche à un niveau.
Sous-arborescence
Une recherche de sous-arborescence, également appelée recherche approfondie, inclut tous les objets sous l’objet de base, à l’exclusion de l’objet de base lui-même. Cette recherche peut générer des références vers d’autres serveurs. Cette recherche a la plus grande étendue et peut retourner un jeu de résultats volumineux. Si possible, recherchez au moins un attribut indexé et définissez les paramètres de référence (pour plus d’informations, voir Performances et gestion des grands ensembles de résultats) pour répondre à vos besoins de recherche. Il est également suggéré que les résultats d’une recherche de sous-arborescence soient effectués de manière asynchrone et paginées pour réduire la surcharge du serveur et l’efficacité du réseau. Une recherche de sous-arborescence est normalement utilisée pour rechercher des objets pour une étendue donnée. Par exemple, recherchez tous les utilisateurs avec des comptes qui expireront dans 30 jours ou moins.