如何使用PowerShell将特定组的成员身份复制给用户
复制特定OU(Accounting)内的AD用户组成员身份脚本修改
修改思路
原脚本会复制源用户的所有组,要实现仅复制Accounting OU下的组,需要在获取组列表后添加过滤逻辑,筛选出属于目标OU的组再执行添加操作。
修改后的脚本
$UserNameToCopyFrom = Read-Host "请输入要复制组成员身份的源用户名" $UserNameToCopyTo = Read-Host "请输入要复制组成员身份的目标用户名" # 替换为你的Accounting OU的完整DistinguishedName,示例格式:OU=Accounting,DC=contoso,DC=com $targetOU = "OU=Accounting,DC=contoso,DC=com" # 获取源用户的所有组,过滤出属于目标OU的组,再添加到目标用户 Get-ADUser -Identity $UserNameToCopyFrom -Properties memberof | Select-Object -ExpandProperty memberof | ForEach-Object { $group = Get-ADGroup -Identity $_ if ($group.DistinguishedName -like "*$targetOU*") { Add-ADGroupMember -Identity $group -Members $UserNameToCopyTo } } Write-Host "已成功为 $UserNameToCopyTo 复制Accounting OU内的组成员身份"
关键说明
- 替换目标OU路径:务必将
$targetOU变量的值替换为你环境中Accounting OU的实际完整DistinguishedName,可以通过AD管理工具查看该OU的属性获取。 - 过滤逻辑:通过
Get-ADGroup获取组的完整信息,检查组的DistinguishedName是否包含目标OU的路径,以此判断组是否属于Accounting OU。 - 批量处理:通过
ForEach-Object遍历每个组,符合条件的才执行Add-ADGroupMember操作。
内容的提问来源于stack exchange,提问作者nati
相关产品推荐
相关产品推荐

