【问题标题】:Corresponding ldap query for "dsquery partition"对应“dsquery 分区”的 ldap 查询
【发布时间】:2015-07-24 04:52:59
【问题描述】:

有没有一种方法可以使用 LDAP 查询找到所有分区? 我的 Active Directory 中有一个父域和多个子域。全局编录设置在子域上,我想从这里搜索 Active Directory 中所有父域和子域上的所有分区。

在子域上运行“dsquery partition”会给我列表,但我正在编写一个 Python 程序来获取它。目前我正在使用以下 python-ldap 方法,它只给我当前子域的分区。

baseDNs = conn.search_s('', ldap.SCOPE_BASE,
                                '(objectClass=*)', ['namingContexts'])

我应该向这个方法传递什么参数才能看到所有分区?

【问题讨论】:

    标签: python active-directory ldap python-ldap


    【解决方案1】:

    在林配置命名上下文的 CN=Partitions 容器中获取所有 crossRef 对象 (objectClass=crossRef),您将拥有所需的一切。

    【讨论】:

    • 谢谢,但这只是一半的帮助。例如,以下 dsquery 为我提供了正确的分区 DN,但相应的 search_s() 方法未显示此属性。 dsquery 是 dsquery * "cn=partitions,cn=configuration," -scope subtree -filter "(objectClass=crossRef)" -attr nCName。我使用的对应的search_s()方法是conn.search_s('cn=partitions,cn=configuration,', ldap.SCOPE_SUBTREE, "(objectClass=crossRef)", ['nCName']) 这给了我一个空白输出
    • 我没有任何 Python 知识可言。是否可以从您正在测试的框中获取网络跟踪并查看实际的 LDAP 请求是什么样的?这将是我的出发点。
    • 我正在连接到没有此属性的全局编录端口。连接到 LDAP 端口并显示 nCName 属性。感谢所有的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多