Назад | Перейти на главную страницу

Добавление нескольких пользователей из группы в группу Active Directory с помощью Powershell

У меня есть сценарий PowerShell, который должен пройти через конкретный ou и сохранить группы в переменной $ groups. Вот код, который я использую в скрипте:

$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
        }
    }
}