Comment filtrer la valeur null ou vide attributs à partir d'une Requête Active Directory
Je travaille avec des clients Active Directory qui a beaucoup de trucs à elle. Il y a des centaines d'Utilisateurs avec vide givenName et les attributs sn. Je voudrais filtrer les enregistrements qui ont un vide sn ou un vide prénom de mon les résultats de la requête que ces enregistrements ne peuvent pas être traitées par mon application.
Cela fonctionne comme pour mes besoins, mais je crois qu'il doit y avoir une meilleure façon de le faire:
(&(objectClass=User)(|(!(!(sn=*))))(!(!(givenName=*)))))
Est-il plus clair et concis façon d'accomplir ceci avec une requête ldap?
Vous devez vous connecter pour publier un commentaire.
sn
etgivenName
ont comme à leur supérieur lename
attribut, qui est deDirectoryString
syntaxe, qui est, la syntaxe est1.3.6.1.4.1.1466.115.121.1.15
. Les attributs qui sont de la syntaxeDirectoryString
ne sont pas autorisés à être nulle, ce qui est, unDirectoryString
est nécessaire d'avoir au moins un caractère.Le filtre
sn=*
est unpresent
filtre (pas une sous-chaîne ou expression régulière), ce qui signifie que l'entrée serait filtré sur les possibles résultats de la recherche si lesn
attribut n'est pas présent (si elle est présente, elle doit avoir au moins un caractère). De même pourgivenName=*
.Un simple filtre peut être
'(&)'
, où la demande de recherche contient les éléments suivants dans sa liste d'attributs doivent être retournés:@User
, qui sera de retour tous les attributs duUser
objectClass pour chaque entrée qui correspond au filtre, puis de l'application de l'extrait de lasn
etgivenName
attributs de chaque entrée est retourné. Si le nombre d'entrées retournées est important d'utiliser la Simple Paginé Demande de Résultats de Contrôle pour limiter le nombre d'entrées retournées à un plus gérable valeur.Ou ... peut-être que Active Directory n'est pas compatible LDAP et ne prend pas en charge la
inetOrgPerson
objectClass et syntaxe des attributs qui y sont correctement et ne permettre à vide ounull
des valeurs d'attributs pourDirectoryString
attributs, bien que je ne peux pas imaginer Microsoft devrait livrer un produit qui n'est pas compatible LDAP.voir aussi
(!(!(givenName=*))) = (!givenName=*)
https://technet.microsoft.com/en-us/library/ee198810.aspx