推荐用 powershell 批量移动用户:先确保目标 ou 存在,再用 get-aduser 筛选、move-adobject 迁移;小批量可用 ad 管理中心图形化操作;跨域迁移须用 admt 工具并验证信任与 dns。
批量迁移域用户到不同组织单位(ou)在 windows server 中有多种可靠方式,关键看环境规模、自动化需求和是否需要保留密码、sid 或权限映射。
用 PowerShell 批量移动用户(推荐日常运维)
这是最灵活、可审计、无需额外工具的方式,适合中大型环境:
- 确保目标 OU 已存在,例如 ou=Marketing,dc=corp,dc=com
- 用 Get-ADUser 筛选源用户(支持按部门、城市、属性等过滤):
Get-ADUser -Filter "department -eq 'Sales'" -SearchBase "dc=corp,dc=com" - 管道传递给 Move-ADObject,指定目标 OU 的 DistinguishedName:
| Move-ADObject -TargetPath "ou=Sales,dc=corp,dc=com" - 若需按 Excel 表格迁移(如 HR 提供的部门映射),先用 Import-Csv 读取,再循环匹配并移动,支持错误日志记录
用 Active Directory 管理中心(图形化,适合小批量或临时操作)
适合不熟悉命令行、但需快速处理几十到几百个用户的场景:
- 打开“Active Directory 管理中心”,定位到源 OU 或域根
- 右键 → “查找” → 切换到“高级”选项卡
- 设置筛选条件:字段选“部门”,条件选“等于”,值填“财务部”等(也可用 city、title 等属性)
- 点击“立即查找”,勾选全部结果 → 右键 → “移动” → 导航选择目标 OU → 确定
- 注意:此方式不支持跨域,且无法自动处理重名或属性冲突
跨域/跨林迁移(需保留 SID 和密码)
当目标 OU 位于另一个域(如从 old.corp 迁至 new.corp)时,必须用专业工具:
- 使用 ADMT(Active Directory Migration Tool):微软官方方案,支持 SIDHistory 保留、密码迁移(需提前部署密码导出服务 PES)、组成员身份同步
- 务必提前验证双向信任、DNS 解析、防火墙端口(389/636/445)及域功能级别兼容性
- 迁移前在目标域预建对应 OU 结构;迁移后需手动校验登录、邮箱、GPO 应用是否正常
注意事项与避坑点
无论用哪种方式,以下细节直接影响迁移成败:
- 目标 OU 必须已存在,PowerShell 不会自动创建;ADMT 可配置自动创建,但需开启对应选项
- 移动后用户权限不会自动继承新 OU 的 GPO,需检查 GPO 链接和安全筛选是否生效
- 禁用/启用账户、强制改密等后续操作可一并脚本化,例如移动后批量启用并设“下次登录必须改密码”
- 生产环境务必先在测试 OU 小批量试迁(建议 5–10 人),验证属性、登录、邮件、权限无异常再全量执行











