Powershell Удалить участников из DL говорит, что нет, но они есть

У меня есть скрипт powershell, который должен очистить список рассылки. Он получает список членов в массив. Затем он передает массив в Remove-DistributionGroupMember. Каждый прогон будет иметь несколько участников, которые выдают ошибки "X не является членом группы Y". В конце цикла я повторно перечисляю пользователей и для всех, кто получил ошибку "не является членом группы", все еще является членом группы. Это не соответствует. Иногда все работает, но обычно есть разные члены группы, которые терпят неудачу.

$grp = (Get-DistributionGroup -Identity:$DLIST -ErrorAction:Stop)
$members = (Get-DistributionGroupMember -Identity:$grp -ErrorAction:Stop)
$members | % { 
    $member = $_
    try {
        Remove-DistributionGroupMember -Identity:$grp -Member:$_ -Confirm:$false -WarningAction:Stop -ErrorAction:Stop
        }
    catch {
        $LogStream.WriteLine((Get-Date).toString() + " Error removing ${member}:`n" + $_.toString())
        }
    }  
$members = (Get-DistributionGroupMember -Identity:$grp -ErrorAction:Stop)
write-host "Users in List:"
$members | % { $LogStream.WriteLine("  " +  $_.ToString())}  

20.03.2015 5:06:55 Ошибка удаления xxxxx.xxxx.com/North America/Spokane/Users/XXXXXX: получатель "xxxx.xxxx.com/North America/Spokane/Users/XXXXX" не является член группы "CN=* ГГГГ,OU=IT,DC=xxxxxxx,DC=xxxx,DC=com".

Пользователи в списке:

xxxxx.xxxx.com/North America / Spokane / Пользователи / XXXXXX

1 ответ

Попробуйте добавить это в начало вашего скрипта:

Set-ADServerSettings -ViewEntireForest $true

И я бы также добавил -ResultSize "Unlimited" на ваш Get- команды.

Другие вопросы по тегам