我有一个PowerShell脚本,应该通过一个特定的ou并将组存储到一个variables$组。 这里是我在脚本中使用的代码:
$Groups = Get-ADGroup -Properties * -Filter * -SearchBase "OU=GFS-USERS,OU=AFS-OU-Groups,OU=AFS,OU=FA,OU=DEPARTMENTS,DC=ou,DC=ad3,DC=blabla,DC=com" -Server "ou.ad3.blabla.com" Foreach($G In $Groups) { Write-Host $G.Name Write-Host "-------------" $G.Members }
这一步似乎工作正常。
在我的脚本的下一部分,我已经通过每个组,并尝试将来自每个组的用户添加到一个组中,他们应该被合并。 代码如下:
foreach ($group in $groups) { Add-ADGroupMember -Identity "CN=test,OU=AFS-OU-ACLs-EDMS,OU=AFS-OU-Groups,OU=AFS,OU=FA,OU=DEPARTMENTS,DC=ou,DC=ad3,DC=blabla,DC=com" -Members (Get-ADGroupMember $group) -Server "ou.ad3.blabla.com" }
当我运行这个脚本时,它对所有来自以下用户
OU=AFS,OU=FA,OU=DEPARTMENTS,DC=ou,DC=ad3,DC=blabla,DC=com
但对于所有其他用户,我收到以下错误:
Add-ADGroupMember : The server is unwilling to process the request At line:1 char:22
有谁知道这是否是一个权限问题,或者如果有什么我做错了?
考虑循环并从旧组中添加一个成员到新组。
$CombinedGroup = ... $Groups = Get-ADGroup ... foreach ($Group in $Groups) { $Members = GetADGroupMember $Group foreach ($Member in $Members) { Get-ADUser $Member | Set-ADGroup -Identity $CombinedGroup -Add $Member } } }