对ActiveDirectory用户运行ldap搜索时,我只返回属性的子集(通过在Active Directory资源管理器中查看同一用户进行验证)。
有没有办法查看这些缺失的属性,或者这是ldap模块的限制?
pp = pprint.PrettyPrinter(indent=2)
search_filter = '(cn=foouser)'
base_dn = 'DC=foo,DC=bar,DC=net'
ldap_connection.protocol_version = ldap.VERSION3
ldap_connection.simple_bind_s(bind_dn, bind_password)
try:
result = ldap_connection.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter)
pp.pprint(result)
except ldap.LDAPError, e:
print e
finally:
ldap_connection.unbind_s()
答案 0 :(得分:0)
除非指定要返回的属性,否则它将返回所有具有值的非构造属性。所以你应该得到一切。
构造属性类似于canonicalName
,msDS-PrincipalName
等。如果您想从搜索中获取这些内容,则需要在search_s
的attrlist
参数中指定这些内容。但是,在attrlist
中指定任何内容后,您需要指定要查看的每个属性。
请注意,无论您指定什么,您都不会看到没有值的属性。你不会看到它的空值,你根本看不到它。