Найти тему
IT БОЛОТО

Powershell для AD - копирование разрешений пользователей

Оглавление

Одна и задач в системном администрировании это добавление пользователей Active Directory. Когда есть большое количество групп, отсутствие точной принадлежности группы и типов пользователей.

У на уволился руководитель отдела и нужно перенести его разрешения на нового.

1. Сначала нужно получить список групп у уволившегося сотрудника:

# Логин пользователя
$OldUser = 'ivan'
# Пустой массив
$Groups = @()
# Список групп старого пользователя
$Groups = (Get-ADUser -Identity $OldUser -Properties MemberOf).MemberOf

! Нужно обратить внимание:

Не обаятельно создавать постой массив, но в больших сценариях стоит это сделать,

Get-ADUser возвращает несколько стандартных свойств. Для того что-бы получить членство пользователя в группах нужно добавить дополнительное свойств MemberOf.

2. Удаление пользователя уволенного из существующих групп

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

$OldUser = 'ivan'
$Groups = @()
$Groups = (Get-ADUser -Identity $OldUser -Properties MemberOf).MemberOf
# Удаление из групп
foreach ($Group in $Groups) {
Remove-ADGroupMember -Identity $Group -Members $OldUser
}

В ключе Identity указывается имя группы, в в Members пользователя.

3. Добавление нового пользователя в список полученных групп:

# Логин нового пользователя
$NewUser = 'dmitrii'
# Добавление в группу
foreach ($Group in $Groups) {
Add-ADGroupMember -Identity $Group -Members $NewUser
}

Проверяем результат

(Get-ADUser -Identity $NewUser -Properties MemberOf).MemberOf