如何使用python ldap列出根DN?

0 投票
1 回答
1031 浏览
提问于 2025-04-18 03:46

我正在使用 python3-ldap 这个库,它可以很好地连接到LDAP。不过,我不太确定,也找不到任何文档来列出所有的根DN。

有没有什么命令可以在服务器、连接或者其他地方让我列出这些DN呢?

1 个回答

0

你需要先用一个空值来进行搜索,然后在过滤器中指定你想要获取的对象类型(如果想要所有对象,可以用*)。你应该使用单层范围,这样只会获取到LDAP树中的第一层对象。

举个例子:

from ldap3 import Server, Connection, SEARCH_SCOPE_SINGLE_LEVEL

    s = Server('your_server')
    c = connection(s, user='your_user_dn', password='your_password', auto_bind=True)
    c.search('', '(objectClass=*)', search_scope=SEARCH_SCOPE_SINGLE_LEVEL)
    print(c.response)

you should get all the objects in the first level of the tree, if you want you can specify a filter with the object classes you need:

    c.search('', '(!(objectClass=organization)(objectClass=organizationalUnit))', search_scope=SEARCH_SCOPE_SINGLE_LEVEL)

撰写回答