我必须查询大约10 000个用户的属性。 我有一个适用于单个用户的ldapsearch查询。 这里是相关的部分,我在那里search用户abc123的objectGUID属性:
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
我想把我所有的查询放在一个文件中,并使用-f myqueries.txt选项。 由于这个查询将通过SSL进行,我想避免10k SSL协商,如果我要运行10k单独的ldapsearch。
我尝试了一个如下所示的文件:
(cn=abc123) (cn=lmn456) (cn=xyz789)
有了这个修改后的命令行:
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
但我总是得到一个Bad search filter 。
我无法确定这是什么版本的ldapsearch。 它运行在一个定制的Linux发行版上。
如何使用-f选项使ldapsearch使用查询从文件中读取?
文件应该是这样的:
abc123 lmn456 xyz789
并像这样命令:
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
在-f后给出的文件只能保存查询的参数,而不是查询。