Python LDAP搜索不返回ActiveDirectory属性

时间:2018-05-09 10:36:10

标签: python python-2.7 active-directory ldap

对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()

1 个答案:

答案 0 :(得分:0)

除非指定要返回的属性,否则它将返回所有具有值的非构造属性。所以你应该得到一切。

构造属性类似于canonicalNamemsDS-PrincipalName等。如果您想从搜索中获取这些内容,则需要在search_sattrlist参数中指定这些内容。但是,在attrlist中指定任何内容后,您需要指定要查看的每个属性。

请注意,无论您指定什么,您都不会看到没有值的属性。你不会看到它的空值,你根本看不到它。