【问题标题】:Python LDAP search not returning ActiveDirectory attributesPython LDAP 搜索不返回 ActiveDirectory 属性
【发布时间】:2018-05-09 10:36:10
【问题描述】:

当对 ActiveDirectory 用户运行 ldap 搜索时,我只返回属性的子集(通过在 Active Directory Explorer 中查看同一用户来验证)。

有没有办法查看这些缺失的属性,或者这是 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()

【问题讨论】:

    标签: python python-2.7 active-directory ldap


    【解决方案1】:

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

    构造属性是canonicalNamemsDS-PrincipalName 等。如果要从搜索中获取这些,则需要在search_sattrlist 参数中指定这些。但是一旦你在attrlist 中指定了anything,那么你需要指定每一个你想看到的属性。

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

    【讨论】:

    • 我有类似的问题,我无法获得division 属性,我检查了它,它有价值。我可以得到所有其他属性,除了这个。
    • @Azize 您是否正在阅读全局目录(端口 3268/3269)?因为division 属性没有复制到GC。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    相关资源
    最近更新 更多