Rubrique précédente: Boîte de dialogue Rechercher les valeurs possiblesRubrique suivante: Boîte de dialogue Ajout d'un argument


Boîte de dialogue Définir la recherche de répertoire

Utilisez la boîte de dialogue Définir la recherche de répertoire pour spécifier les attributs de répertoire que vous souhaitez rechercher. Les attributs renvoyés par la recherche de répertoire sont alors comparés aux valeurs des champs.

Important : Si une chaîne de requête de répertoires contient des caractères réservés à LDAP tels que !, &, ), (, etc., ce texte de requête est interprété comme un opérateur lorsque la requête est exécutée sur des répertoires externes. Par conséquent, le traitement de la requête échoue, car cet opérateur apparaît comme un point non valide dans le filtre de requête.

Cette boîte de dialogue contient les champs suivants :

DN de base

Définit le DN de base à rechercher comme suit :

DC=ca,DC=com. 

Ceci permet de définir l'emplacement dans le répertoire à partir duquel la recherche commence. Le DN de base est comparé aux répertoires configurés (au moyen de l'assistant d'ajout d'un annuaire). Si aucun répertoire configuré n'est trouvé, la recherche échoue. Spécifiez le DN complet, par exemple :

winnt://domain/base DN 

Un autre exemple :

ldap://directory name/base DN
filtres

Définit les filtres pour rétrécir le champ de la recherche.

Liste des opérateurs de filtrage :

Opérateur de filtrage

Description

=

Egal à

<=

Inférieur ou égal à

>=

Supérieur ou égal à

&

AND

|

OU

!

NOT

La syntaxe de requête est en notation de préfixe.

Exemple 1 :

X AND Y 

Serait exprimé de la manière suivante :

(&(X)(Y))

Exemple 2 :

X OR Y 

Serait exprimé de la manière suivante :

(|(X)(Y))

Pour obtenir une requête plus efficace, utilisez un attribut indexé comme premier attribut dans le filtre de recherche. Reportez-vous aux exemples ci-dessous.

Attributs

Définit les attributs à renvoyer et à comparer à ce champ. Par exemple :

userCn,email,givenName
Champ d'application

Un champ de recherche définit la profondeur de recherche dans la base.

Si vous sélectionnez un seul niveau, la recherche s'effectue sur les objets immédiatement subordonnés à l'objet de la base.

Si vous sélectionnez le niveau sous-répertoire, la recherche s'effectue sur l'ensemble de l'arborescence à partir du nom distingué par la base.

Résultats de la recherche

Répertorie les valeurs qui correspondent aux conditions spécifiées dans les champs précédents.

Si un attribut contient plusieurs valeurs, par exemple, directReports ou memberOf, une nouvelle rangée est ajoutée pour chaque valeur.

Exemples : Filtrage

Si vous souhaitez rechercher tous les utilisateurs dont le prénom est Bill ET le nom de famille Smith OU Adams, le filtre ressemblera à ce qui suit :

(&(&(objectClass=user)(givenName=Bill)(|(sn=Smith)(sn=Adams)))) 

Le signe ! (l'opérateur NOT) peut être appliqué à un terme unique, comme dans l'exemple qui suit :

(&(&(objectClass=user)(&(sn=Adams)(!givenName=Bill)(!givenName=Mary)))) 

Le filtre ci-dessus permet de trouver les utilisateurs dont le nom de famille est Adams, mais dont le prénom n'est ni Bill ni Mary.

Les requêtes prennent également en charge les astérisques comme caractère générique. La recherche suivante permet de trouver tous les utilisateurs dont le nom de famille commence par la lettre J :

(&(objectClass=user)(sn=j*)) 

Les recherches ne sont pas sensibles à la casse, et vous pouvez effectuer votre recherche avec des astérisques en début et en fin de chaîne (*chaîne*) afin de pouvoir trouver les mots contenant une certaine chaîne de caractère. Ce genre de recherche prend plus de temps. Si possible utilisez uniquement un astérisque en début ou en fin de chaîne mais pas les deux.

Vous pouvez utiliser un caractère générique tout seul afin de tester l'existence ou l'absence d'un attribut. Si vous souhaitez trouver tous les utilisateurs qui n'ont pas d'adresse électronique, vous pouvez effectuer la recherche suivante :

(&(objectClass=user)(!email=*)) 

Le caractère d'échappement dans une recherche est la barre oblique inverse (\). Il s'agit d'un caractère réservé, tout comme * ( ) et NUL. Pour rechercher les caractères réservés en tant que partie de valeur d'attribut, vous devez faire précéder chaque caractère réservé du caractère échappement et de l'un des codes numériques suivants :

Caractère

Séquence d'échappement

*

2a

(

28

)

29

\

5c

Par exemple, si vous voulez rechercher tous les utilisateurs dont le nom affiché se termine par une parenthèse fermante, procédez comme suit :

(&(objectClass=user)(displayName=*\29)) 

Informations complémentaires :

Noms d'attributs DSM