如何使用python ldap列出根DN?
我正在使用 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)