2 votes

Utilisation d'un fichier pour stocker une requête ldapsearch

Je dois interroger les attributs d'environ 10 000 utilisateurs. J'ai une requête ldapsearch qui fonctionne pour un seul utilisateur. Voici la partie intéressante, où je recherche l'attribut objectGUID attribut de l'utilisateur abc123 :

ldapsearch -h somehost.com -D "CN=valid_user,DC=valid_everything" -q -b "OU=valid_ou,DC=valid_dc" -s sub "cn=abc123" -L objectGUID 

J'aimerais placer toutes mes requêtes dans un fichier et utiliser la fonction -f myqueries.txt option. Étant donné que cette requête sera effectuée via SSL, j'aimerais éviter les 10k négociations SSL que j'obtiendrais si je devais exécuter 10k ldapsearch séparés.

J'ai essayé avec un fichier qui ressemble à ceci :

(cn=abc123)
(cn=lmn456)
(cn=xyz789)

Avec cette ligne de commande modifiée :

ldapsearch -v -h somehost.com -D "CN=valid_user,DC=valid_everything" -q -b "OU=valid_ou,DC=valid_dc" -s sub -f myqueries.txt -L objectGUID 

Mais je reçois toujours un Bad search filter erreur.

Je n'ai pas pu déterminer de quelle version de ldapsearch il s'agit. Il fonctionne sur une distribution Linux personnalisée.

Comment puis-je utiliser le -f option pour que ldapsearch utilise des requêtes lues dans un fichier ?

4voto

wolfg Points 51

Le fichier doit ressembler à ceci :

abc123
lmn456
xyz789

et la commande comme suit :

ldapsearch -v -h somehost.com -D "CN=valid_user,DC=valid_everything" -q -b "OU=valid_ou,DC=valid_dc" -s sub -f myqueries.txt "(cn=%s)" -L objectGUID 

Le fichier donné après -f ne peut contenir que les paramètres de la requête, et non la requête elle-même.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X