Active Directory PowerShell脚本:复制用户Member Of属性至新账号
AD用户MemberOf属性复制PowerShell实现方案
存在可用的PowerShell脚本实现该需求,你需要先在运行环境中安装Active Directory模块(属于RSAT工具集的一部分),再按照以下步骤操作。
最简复制脚本
适用于已经提前创建好目标用户的场景,替换脚本中的源用户、目标用户标识即可运行:
# 导入AD模块 Import-Module ActiveDirectory # 替换为实际的源用户和目标用户SamAccountName $sourceUser = Get-ADUser -Identity "源用户账号" -Properties MemberOf $targetUser = Get-ADUser -Identity "目标用户账号" # 批量复制组权限 $sourceUser.MemberOf | ForEach-Object { Add-ADGroupMember -Identity $_ -Members $targetUser -ErrorAction SilentlyContinue }
新建用户+自动复制组合脚本
如果需要在创建新用户的同时直接复制源用户的组权限,可以使用以下整合脚本:
Import-Module ActiveDirectory # 自定义配置项 $sourceSamAccount = "源用户Sam账号" $newUserSam = "新用户Sam账号" $newUserUpn = "新用户邮箱前缀@域后缀" $newUserDisplayName = "新用户显示名" $newUserPassword = ConvertTo-SecureString "新用户初始化密码" -AsPlainText -Force $newUserOU = "OU=普通用户,DC=contoso,DC=com" # 替换为实际的用户存放OU路径 # 创建新用户 New-ADUser -Name $newUserDisplayName ` -SamAccountName $newUserSam ` -UserPrincipalName $newUserUpn ` -AccountPassword $newUserPassword ` -Enabled $true ` -Path $newUserOU # 复制源用户组权限 $sourceUser = Get-ADUser -Identity $sourceSamAccount -Properties MemberOf $targetUser = Get-ADUser -Identity $newUserSam $sourceUser.MemberOf | ForEach-Object { Add-ADGroupMember -Identity $_ -Members $targetUser -ErrorAction SilentlyContinue }
注意事项
- 运行脚本的账号需要拥有对应AD组的成员修改权限、用户创建权限,通常为域管理员账号或已委派对应权限的域账号
- 命令中
-ErrorAction SilentlyContinue参数的作用是忽略目标用户已加入对应组的报错,不需要时可直接删除该参数 - 该脚本仅复制域内安全组/通讯组权限,不会同步本地计算机组、用户其他属性,如有额外需求可扩展
Get-ADUser拉取的属性列表 - 运行前可先执行
$sourceUser.MemberOf打印源用户的所有组信息,确认后再执行复制操作
内容的提问来源于stack exchange,提问作者CoreyCBurton
相关产品推荐
相关产品推荐

