class Connect_ldap:
def __init__(self): #初始化
self.server ='10.10.10.10' #ldap服务器地址
self.user ='cn=Directory Manager' # Bind DN or user
self.base_dn ='dc=bizenit,dc=com' #base_dn
self.pwd ='XXXXXXX' #密码
self.port =5389 #端口
def connect(self): #连接ldap服务
server = Server(host=self.server, port=self.port, get_info=ALL)
conn = Connection(server=server, user=self.user, password=self.pwd, auto_bind=True)
return conn
def add_user(self): #添加条目
i =1
j =17300000001
conn =self.connect()
while i <220000:
mail =str(j) +"@mail.com"
print(conn.add("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),
object_class=['top', 'inetOrgPerson', 'person', 'organizationalPerson',
'smart-extends', 'customized-extends'], #类型
attributes={'cn':"username%s" % (i), 'smart-type':"E1",
'departmentNumber':"D1155073", 'mobile': j,
'smart-status':1, 'mail': mail, 'telephoneNumber': j,
'userPassword':"smart123"})) #属性
i +=1
j +=1
def delete_user(self): #删除条目
i =1
conn =self.connect()
while i <220000:
print(conn.delete("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i)))
i +=1
def modify_user(self): #修改条目
i =793123
j =17300793123
conn =self.connect()
while i <1000000:
conn.modify("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),
{"objectClass": [(MODIFY_ADD, ['customized-extends', 'smart-extends'])]})
mail =str(j) +"@mail.com"
a = conn.modify("uid=sidl%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),
{"departmentNumber": [(MODIFY_ADD, ['D1155073'])], "smart-type": [(MODIFY_ADD, ["E1"])],
"telephoneNumber": [(MODIFY_ADD, [j])], "userPassword": [(MODIFY_ADD, ["smart123"])],
"smart-status": [(MODIFY_ADD, [1])], "mail": [(MODIFY_ADD, [mail])]})
print(a)
print(i)
i +=1
j +=1
def modify_dn_user(self): #移动条目
i =1
j =17300000001
conn =self.connect()
print(conn.modify_dn("uid=username%s,ou=People,dc=bizenit,dc=com" % (i), 'uid=username%s' % (i),
new_superior="ou=Internal,ou=People,dc=bizenit,dc=com"))
i +=1
j +=1
if __name__ =="__main__":
a = Connect_ldap()
a.add_user()
你说的是AD域账号吧?先安装lpda3的库
在cmd命令行下运行:
pin install ldap3
然后开始写python脚本
from ldap3 import *
user = "CN=visitor02 ,OU=level1,DC=hello,DC=com,DC=cn" # 定义你要给谁改密码
admin='xxxxxx' #xxxx换成你域控的管理员账号如hello\administrator, hello是域名
adminpwd = 'xxxx' # 域控的管理员密码
s = Server('10.10.xx.xx', get_info=ALL, use_ssl=True) #10.10.xx.xx换成你域控的IP地址,这条是定义域服务器信息
c = Connection(s,user=admin, password=adminpwd, auto_bind=True) #登录域服务器
print(c.extend.microsoft.modify_password(user,"123456")) #这行就是改密码。如果print出true,就是成功了。如果false,再在下面加一条
print(c.response) #会显示为什么失败。
如果想了解更多的python ldap3库,可以看这个链接网页链接
默认页面只能测试,这里需要大概改下才能使用vim backend-sample-app.py
python backend-sample-app.py &
backend-sample-app.py其中html=``````修改后如下
http://192.168.88.188:5601/