Как добавить нескольким пользователям несколько групп Active Directory с помощью Powershell

Задача — добавить одному пользователю Active Directory несколько групп из файла.
Если пользователь уже добавлен в какие то группы из списка(вылезет ошибка в процессе) — скрипт продолжит выполнение дальше.

Get-Content "C:\scripts\groups.txt" | Add-ADGroupMember -Members "vasiliy"

Задача — добавить нескольким пользователям из списка несколько групп с помощью Powershell.
Решение 1:
Если хоть один пользователь уже будет добавляемой группе, скрипт остановится. Запускать только если в добавляемых группах точно нет этих пользователей!

$users = Get-Content "C:\scripts\users.txt"
get-content "C:\scripts\groups.txt" | Add-ADGroupMember -Members $users

Решение 2:
Скрипт добавляет нескольких пользователей в несколько групп. С проверкой существования в этих группах.
Возможны варианты подгрузки данных, как из txt, csv, так и из самого файла.

#### Список групп ####
$group = Get-Content "c:\scripts\groups.csv"
#$group = Get-Content "C:\scripts\groups.txt"
#$group = 'TestGroup','test-group2'

#### Список пользователей ####
#Содержимое csv - колонка юзеров с sAMAccountName
$users = Import-Csv -Delimiter ";" "c:\scripts\users.csv" -Encoding Default
#Если список юзеров будет из скрипта - нужно удалить ".sAMAccountName" ниже в скрипте
#$users = 'user1','user2','user3'

foreach ($all in $group) {

# Поиск всех пользователей в группах из списка и выдёргивание их sAMAccountName
$members = @()
Get-ADGroupMember -Identity $all | Select-Object -ExpandProperty sAMAccountName | ForEach-Object{ $members += $_ }

# Проверка на существование пользователей из списка с группах и добавление их в группы
ForEach($user in $users) {
  If ($members -notcontains $user.sAMAccountName) {
      Add-ADGroupMember $all -members $user.sAMAccountName
      $members += $user.sAMAccountName
  }
}
}

Добавить комментарий

Ваш адрес email не будет опубликован.