0
点赞
收藏
分享

微信扫一扫

python3+ldap3 连接控制windows域控(七)--模糊查询

1、通过账号,姓名,显示名查询

from ldap3 import Server, Connection, ALL, NTLM, MODIFY_REPLACE

# 输入域控地址,管理员账号密码
host_ip = '192.168.32.130'
admin_user = 'abcd\\administrator'
admin_password = '123.com'
# 创建server
server = Server(host=host_ip, get_info=ALL, use_ssl=True, port=636)
# 创建连接信息
conn = Connection(server, user=admin_user, password=admin_password, authentication=NTLM)
# 进行连接
conn.bind()
# 设置查询范围
search_base = 'OU=test,DC=abcd,DC=com'
# 用户账号,通过账号查询
user_cn = 't1'
# 通过账号信息查看是否存在账号,这里变量 使用++ 切分原有的引号进行连接
conn.search(search_base, search_filter='(cn='+user_cn+')')
print("账号查询:",conn.entries)
# 通过姓名查询
user_name = 't2'
conn.search(search_base, search_filter='(name='+user_name+')')
print("姓名查询:",conn.entries)
# 通过显示名称查询
user_dis_name = '张三'
conn.search(search_base, search_filter='(displayName='+user_dis_name+')')
print("显示名查询:",conn.entries)
# 综合写法 通过cn、name、displayName 或查询,seacrh_filter = '(|(条件)(条件))' |表示或,&表示与, !表示非
# 查询里面带一个* 表示某某开头查询,可以查询组与用户,还有部门与组织,因为查询条件里面没有写明查询具体内容,可以通过设置objectClass范围
# 模糊查询使用下面的
user_name = 't*'
conn.search(search_base, search_filter='(|(displayName='+user_name+')(name='+user_name+')(cn='+user_name+'))')
print("显示名查询:",conn.entries)
# 关闭连接
conn.unbind()

python3+ldap3 连接控制windows域控(七)--模糊查询_bc

举报

相关推荐

0 条评论