要搜索不属于特定组织单位的用户,可以使用以下LDAP搜索过滤器:
import ldap
# 设置LDAP服务器连接参数
ldap_server = 'ldap://ldap.example.com'
ldap_port = 389
ldap_base_dn = 'dc=example,dc=com'
ldap_username = 'cn=admin,dc=example,dc=com'
ldap_password = 'password'
# 建立LDAP连接
conn = ldap.initialize(ldap_server + ':' + str(ldap_port))
conn.simple_bind_s(ldap_username, ldap_password)
# 定义搜索过滤器
search_filter = '(&(objectClass=user)(!(memberOf=cn=特定组织单位,ou=组织单位,dc=example,dc=com)))'
# 执行搜索
result = conn.search_s(ldap_base_dn, ldap.SCOPE_SUBTREE, search_filter)
# 处理搜索结果
for dn, attrs in result:
print('DN:', dn)
for key, value in attrs.items():
print(key + ':', value)
# 关闭LDAP连接
conn.unbind()
请注意,上述代码是使用Python的ldap模块进行LDAP搜索的示例。你需要根据你的实际环境和需求进行适当的修改和调整。确保替换ldap_server、ldap_port、ldap_base_dn、ldap_username、ldap_password和search_filter等变量的值为你的实际值。
下一篇:不在条件