Быстрее ли удалить пользователей из огромного списка групп? - PullRequest
1 голос
/ 02 марта 2020

Я запускаю следующий код, чтобы удалить отключенных пользователей из списка 9874 групп:

 $user = get-aduser <userid> -Server "<server from another domain>"

 foreach ($Group in $Groups) {
    Write-Host "Removing $user from $group" -Foreground Green
    Remove-ADGroupMember -Identity $group -Members $user -Confirm:$false
}

Для меня это шея bottle, поскольку он проверяет / удаляет учетную запись из каждой группы. Есть ли способ ускорить это с помощью более эффективного кода PS?

1 Ответ

0 голосов
/ 02 марта 2020

Если memberOf - единственное, что вас интересует для данного пользователя, вы можете запустить следующее. Он только загружает свойство memberOf и удаляет пользователя из каждого из них. Повышает производительность, поскольку не загружаются все свойства учетной записи.

Get-ADUser <userid> -Server "<server from another domain>" -Properties MemberOf `
    | Select -Expand MemberOf | % { 
        Remove-ADGroupMember $_ -member <userid>"
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...