Работа с группами Active Directory с помощью Powershell
1. Импорт пользователей в группы Active Directory с помощью Powershell. Задача — добавить пользователей в группы AD из файла CSV.
Содержание CSV-файла:
ADGroup | ADUsers
ServerAdmin | vasya;petya;danya
ServerAdmin | vasya;petya;danya
Скрипт:
$src = Import-CSV -Path "C:\scripts\add-adgroupmember\test.csv" -delimiter ";" -Encoding Default foreach($line in $src){ $users = $line.ADUsers -split ";" $groups = $line.ADGroup foreach($user in $users){ Add-ADGroupMember -Identity $groups -Members $user } }
Если пользователь уже есть в группе, то вылезет ошибка и скрипт продолжит работать.
2. Удалить пользователей по списку из группы Aсtive Directory.
Содержание txt-файла — samaccountname пользователей по одному на каждой строчке без пробелов.
Скрипт удаления пользователей из группы:
$remove = get-content "c:\scripts\test.txt" $remove | foreach {Remove-ADGroupMember -Identity "Testgroup" -Members $_ }
3. Создать группы Active Directory из списка с помощью Powershell.
Содержание CSV-файла:
ADGroup | ADGroupComment
ServerAdmin | Администраторы SQL серверов
ServerAdmin | Администраторы SQL серверов
Скрипт:
$Groups = Import-CSV -Path "C:\scripts\test.csv" -delimiter ";" -Encoding Default foreach ($Group in $Groups) { $Name = $Group.ADGroup $Description = $Group.ADGroupComment New-ADGroup -Name $Name -SamAccountName $Name -GroupCategory Security -GroupScope Universal -DisplayName $Name -Path "OU=test,OU=test2, DC=vasya,DC=ru" -Description "$Description" }
4. Удаление групп Active Directory по списку из файла.
$groups = Get-Content "C:\scripts\empty_groups_delete.txt" $groups | % { Remove-ADGroup -Identity "$_" -Confirm:$false}
5. Список пользователей в нескольких группах Active Directory.
#$Groups = Get-ADGroup -Filter {Name -like "Groupname_Mask*"} $Groups = 'Group1','Group2','Group3' $Groups | foreach { Get-ADGroupMember $_ -Recursive | Select name, distinguishedName }