Как добавить нескольким пользователям несколько групп 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 } } }