如何以批量方式获取 AD 专有名称 (DN)

How to fetch AD distinguished names (DN) in a bulk way

我正在通过下面的 python 代码获取 AD 专有名称 (DN)

...
enter code herequery = '(sAMAccountName=%s)' % utils.conv.escape_filter_chars(name)
resp = self.search(query, ad_server=ad_server)
...

它为单个 AD 用户获取 DN。

如何批量获取多个 AD 用户名的 DN? 那么,我要传递广告用户名列表并获取 DN 列表?

您可以安排一个 OR-type LDAP 查询,例如:

query = '(|%s)' % ''.join(['(sAMAccountName=%s)' % utils.conv.escape_filter_chars(x) for x in names])

这会产生类似 (|(sAMAccountName=foo)(sAMAccountName=bar)) 的查询,LDAP 服务器会对其进行解释。