已摸索的代码:
from ldap3 import Server, Connection, ALL # host为域控服务器ip server = Server("192.168.0.245",get_info=ALL) # user(如domainAdministrator)和passwod为登录域控服务器的账户密码 conn = Connection(server, 'anecAnec', 'He123123!!', auto_bind=True) # # 搜索---------------------------------------------- res = conn.search('CN=Computers,dc=anec,dc=com', search_filter='(objectclass=person)',attributes=['cn']) # # search是否成功(True,False) # print(res) # # 查询失败的原因 # print(conn.result) #查询到的数据 print(conn.entries[0]) # #----------------------------------------------------- # # 添加部门,固定搭配:object_class='OrganizationalUnit' # res = conn.add('OU=ceshi,dc=anec,dc=com', object_class='OrganizationalUnit') # print(res) # print(conn.result) # """ # 参考: https://ldap3.readthedocs.io/tutorial_operations.html # :param userid: "linan" # :param username: "姓名" cn=姓名 # :param mobile: # :param mail: "xxx@domain.com" # :param title: # :param ou_dn: "ou=运维中心,dc=domain,dc=com" # :param gidnumber: 501 默认用户组 # :return: # """ # # # 添加用户,attributes支持的字段可以通过server.schema.object_classes['user']获取 # res = conn.add('CN=aa3,OU=ceshi,dc=anec,dc=com', object_class='user', attributes={ # 'mobile': '123', #座机电话 # 'sn': 'aa3', #姓 # 'mail': 'aa3@qq.com', #电子邮箱 # 'userPassword': 'He123123!!', # 'title': 'aaa3', # 'uid': 'aa2' # # 'gidNumber': gidnumber, # # 'uidNumber': uidNumber # # 'homeDirectory': '/home/users/%s' % userid, # # 'loginShell': '/bin/bash' # }) # print(res) # print(conn.result)