使用python编写脚本同步AD域控中账号密码到另一个AD域控中如果账号存在则更新账号不存在则创建
以下是一个简单的Python脚本,可以实现同步AD域控中账号密码到另一个AD域控中,如果账号存在则更新,账号不存在则创建。需要安装pyad库。
import pyad.adquery
import pyad.aduser
# 源AD域控连接信息
src_username = "Administrator"
src_password = "password"
src_server = "domain_controller_1"
# 目标AD域控连接信息
dst_username = "Administrator"
dst_password = "password"
dst_server = "domain_controller_2"
# AD域控中的OU路径
ou_path = "OU=Users,DC=company,DC=com"
# 连接源AD域控
pyad.set_defaults(username=src_username, password=src_password, server=src_server)
# 查询源AD域控中的所有用户
q = pyad.adquery.ADQuery()
q.execute_query(attributes=["sAMAccountName", "userPrincipalName", "displayName", "password"])
users = q.get_results()
# 连接目标AD域控
pyad.set_defaults(username=dst_username, password=dst_password, server=dst_server)
# 遍历所有用户,同步账号密码到目标AD域控
for user in users:
username = user["sAMAccountName"]
password = user["password"]
email = user["userPrincipalName"]
displayname = user["displayName"]
try:
# 更新已存在的账号
aduser = pyad.aduser.ADUser.from_cn(username)
aduser.update_attribute("userPrincipalName", email)
aduser.update_attribute("displayName", displayname)
aduser.set_password(password)
aduser.update()
print("Updated user:", username)
except pyad.adobject.ADObjectNotFoundError:
# 创建不存在的账号
aduser = pyad.aduser.ADUser.create(username, ou_path)
aduser.update_attribute("userPrincipalName", email)
aduser.update_attribute("displayName", displayname)
aduser.set_password(password)
aduser.update()
print("Created user:", username)
需要根据实际情况修改源AD域控连接信息、目标AD域控连接信息和OU路径。可以使用Windows计划任务等工具定期运行此脚本,实现自动同步账号密码
原文地址: https://www.cveoy.top/t/topic/fQUx 著作权归作者所有。请勿转载和采集!