以下是一个简单的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计划任务等工具定期运行此脚本,实现自动同步账号密码

使用python编写脚本同步AD域控中账号密码到另一个AD域控中如果账号存在则更新账号不存在则创建

原文地址: https://www.cveoy.top/t/topic/fQUx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录