Powershell: удалить список пользователей из OU - PullRequest
0 голосов
/ 11 января 2020

В настоящее время я выполняю некоторую очистку AD и у меня есть список из примерно 5000 пользователей, которые необходимо удалить из двух OU. Каждое подразделение содержит более 150 групп, в которые может входить один или несколько пользователей.

У меня есть два сгенерированных CSV:

List-of-users.csv
list-of-groups.csv

Что я пытаюсь:

$Us = import-csv List-of-users.csv

$Gs = import-csv list-of-groups.csv

ForEach($U in $US) {
    Remove-ADGroupMember -Identity $U -MemberOf $Gs
}

Я пытаюсь сравнить оба списка сами против каждого пользователя, поэтому ни один пользователь не будет в какой-либо группе.

Всякий раз, когда я запускаю его, -WhatIf показывает, что он выполняет "Set" для групп, но никаких изменений не будет.

1 Ответ

0 голосов
/ 12 января 2020

Вы можете попробовать что-то вроде этого, я уверен, что вы можете удалить список всех пользователей, но я не уверен, что произойдет, если пользователь еще не является частью группы. Но это должно сработать,

$Us = import-csv List-of-users.csv
$Gs = import-csv list-of-groups.csv

ForEach($group in $Gs) {
    ForEach($user in $Us) {
        Remove-ADGroupMember -Identity $group -Members $user -ErrorAction SilentlyContinue
    }
}
...