Je voudrais filtrer pour tous les objets LDAP où le CN ne correspond pas au samaccountName. Par conséquent, j'ai écrit la requête suivante, qui malheureusement, ni ne fonctionne ni ne semble être conforme à RFC: P>
Quelqu'un sait-il que la fonctionnalité souhaitée? P>
meilleures salutations
Thomas P> (! (cn = samaccountName)) code> p>
3 Réponses :
Utilisation de ce filtre entraînera la sortie de toutes les entrées dans une réponse de recherche où la valeur de l'attribut Peut-être que vous vouliez utiliser p>
(! (cn = samaccountName)) code> est "conforme RFC", car le côté droit de l'affirmation est considéré comme une valeur du
CN code> attribut . p>
CN code> est présent et la règle correspondante de
CN code> retourne
FALSE CODE> pour la valeur insensible à la case
SamAccountName Code> (en supposant que la règle correspondante d'attribut
CN code> n'a pas été modifiée de la norme publiée). Les résultats seront soumis à: p>
cn = nom de la valeur de SamAccount-nom code> li>
ul>
Si vous êtes dans un environnement Windows, vous pouvez utiliser PowerShell Expression Language pour cela.
Get-ADUser -Filter * -Server my.domain.name -Properties CN | Where-Object {$_.CN -ne $_.sAMAccountName}
Les filtres LDAP ne permettent pas d'utiliser la valeur d'un autre attribut pour la comparaison du filtre. Vous devez récupérer l'entrée et comparer les deux valeurs. P>
La question ne semble pas avoir de sens comme étant posée. Voulez-vous vraiment récupérer chaque enregistrement sauf i> celui-là? Quelle est votre exigence réelle?
Comme indiqué, je veux récupérer tous les objets (dans mes utilisateurs de cas) où le nom commun ne correspond pas au SamAccountName. Je pensais que la requête serait (cn! = Samaccountname) qui peut également être écrit comme (! (CN = samaccountname)) ... mais apparemment, je ne suis pas expert LDAP :)
Non, cela renvoie tous les enregistrements où l'attribut "CN" n'a pas de valeur "SamaccountName", pris comme littéral. Je ne pense pas que vous puissiez écrire un filtre pour ce que vous voulez. Ce n'est que le LHS qui est pris comme nom d'attribut.
Jetez un coup d'œil à Publication du blog de Scott Lowe sur l'utilisation du journal Analyseur pour faire cela .