使用文件来存储ldapsearch查询

我必须查询大约10 000个用户的属性。 我有一个适用于单个用户的ldapsearch查询。 这里是相关的部分,我在那里search用户abc123objectGUID属性:

 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后给出的文件只能保存查询的参数,而不是查询。