7 votes

Attributs de comparaison LDAP

Je voudrais filtrer tous les objets LDAP pour lesquels le CN n'est pas égal au sAMAccountName. J'ai donc écrit la requête suivante, qui malheureusement ne fonctionne pas et ne semble pas être conforme à la RFC :

(!(cn=sAMAccountName))

Quelqu'un sait-il comment obtenir la fonctionnalité souhaitée ?

Meilleures salutations Thomas

2voto

Jiri Klouda Points 902

Les filtres LDAP ne permettent pas d'utiliser la valeur d'un autre attribut pour la comparaison des filtres. Vous devez extraire l'entrée et comparer les deux valeurs.

1voto

Terry Gardner Points 6895

(!(cn=sAMAccountName)) est "conforme à la RFC", car le côté droit de l'assertion est considéré comme une valeur de l'attribut cn attribut.

L'utilisation de ce filtre aura pour effet de renvoyer toutes les entrées dans une réponse de recherche où la valeur de l'option cn est présent, et la règle de correspondance de l'attribut cn renvoie à false pour la valeur non sensible à la casse samaccountname (en supposant que le cn la règle de correspondance des attributs n'a pas été modifiée par rapport à la norme publiée). Les résultats seront soumis à :

  • limite de temps du serveur
  • limite de taille du serveur
  • contrôles d'accès au serveur

Vous vouliez peut-être utiliser

  • cn=value-of-samaccount-name

1voto

Nic Points 767

Si vous êtes dans un environnement Windows, vous pouvez utiliser le langage d'expression PowerShell pour cela.

Get-ADUser -Filter * -Server my.domain.name -Properties CN |
  Where-Object {$_.CN -ne $_.sAMAccountName}

Cette requête est assez coûteuse car elle renvoie chaque objet utilisateur pour que PowerShell puisse le traiter, mais elle fonctionne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X