Création d’un filtre de requête

Un filtre de requête demande à Active Directory Domain Services de rechercher des données dans une syntaxe de requête LDAP. Toutes les technologies d’accès aux données indiquées dans la rubrique choix de la technologie de recherche prennent en charge la syntaxe de requête LDAP.

La syntaxe de la requête LDAP est la suivante :

<expression><expression>...

Un filtre peut contenir une ou plusieurs expressions. Une expression se présente sous la forme suivante :

(<logicaloperator><comparison><comparison...>)

où « < LogicalOperator > » est l’un des éléments suivants.

Opérateur Description
"|"
Ou logique
"&"
And logique
"!"
Not logique

et « < comparaison > » est le suivant :

(<attribute><operator><value>)

où « < attribute > » est le lDAPDisplayName de l’attribut à évaluer, « < value > » est la valeur à comparer et « < Operator > » est l’un des opérateurs de comparaison suivants.

Opérateur Description
"="
Égal à
"~="
Approximativement égal à
"<="
Inférieur ou égal à
">="
Supérieur ou égal à

En outre, selon la syntaxe d’attribut, la « < valeur > » peut contenir le caractère générique (« * »). Une « < valeur > » qui contient uniquement un caractère générique vérifie l’existence d’une valeur dans « < attribut > ». Si aucune valeur n’est définie pour « < attribute > », le test échoue.

Si l’un des caractères spéciaux suivants doit apparaître dans le filtre de requête comme littéraux, ils doivent être remplacés par la séquence d’échappement répertoriée.

Caractère ASCII Substitution de séquence d’échappement
*
« \ 2A »
(
" \ 28"
)
« \ 29 »
\
« \ 5C »
NUL
« \ 00 »

En outre, les données binaires arbitraires peuvent être représentées à l’aide de la syntaxe de séquence d’échappement en encodant chaque octet de données binaires avec la barre oblique inverse suivie de deux chiffres hexadécimaux. Par exemple, la valeur de 4 octets 0x00000004 est encodée sous la forme « \ 00 \ 00 \ 00 \ 04 » dans une chaîne de filtrage.

Exemples

La chaîne de requête suivante recherche tous les objets de type « Computer ».

(objectCategory=computer)

La chaîne de requête suivante recherche tous les objets de type « Computer » dont le nom commence par « Desktop ».

(&(objectCategory=computer)(name=desktop*))

La chaîne de requête suivante recherche tous les objets de type « Computer » dont le nom commence par « Desktop » ou un nom commençant par « Notebook ».

(&(objectCategory=computer)(|(name=desktop*)(name=notebook*)))

La chaîne de requête suivante recherche tous les objets de type « utilisateur » qui ont un numéro de téléphone privé.

(&(objectCategory=user)(homePhone=*))

Pour plus d’informations sur les chaînes de filtre de requête et des exemples d’utilisation, consultez :