В состав модуля Active Directory Module для Windows PowerShell входит командлет Add-ADGroupMember, который можно использовать для добавления пользователей в группы безопасности и распространения Active Directory.
Для использования командлетов из модуля ActiveDirectory нужно сначала загрузить данный модуль в вашу сессию PowerShell (на контроллерах домена с Windows Server 2012 и выше, этот модуль загружается автоматически):
Import-Module ActiveDirectory
Чтобы добавить пользователя dvstrelkov в доменную группу ‘Domain admins’, выполните следующую команду в консоли PowerShell с правами администратора:
Add-ADGroupMember "Domain admins" dvstrelkov
Теперь выведем всех, кто теперь входит в данную группу:
Get-ADGroupMember "Domain admins"
Вы можете добавить в группу сразу нескольких пользователей, их учетные записи нужно перечислить через запятую:
Add-ADGroupMember "Managers" AAIvanov,VVPetrov
Это самые простые примеры использования командлета Add-ADGroupMember для добавления пользователей в группы AD. Рассмотрим несколько более сложных примеров.
К примеру, вам нужно получить список пользователей одной группы (HQManagers) и добавить эти учетные записи в другую группу AD (GlobalManagers). Для получения списка пользователей группы HQManagers мы воспользуемся командлетом Get-ADGroupMember. Итоговая команда может выглядеть так:
Get-ADGroupMember “HQManagers” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “GlobalManagers” -Members $_}
Вы можете добавить в группу всех пользователи из определенной OU:
Get-ADUser -Filter * -SearchBase ‘OU=Users,OU=Msk,OU=RUS,DC=vmblog,DC=ru’|ForEach-Object -process {Add-ADGroupMember -identity "HQManagers" -Members $_.SamAccountName}
После выполнения команды вы можете открыть консоль ADUC и убедиться, что все пользователи были добавлены в указанную группу.
Вы можете выбрать пользователей на основе значения какого-то атрибута AD и добавить их в нужную группу. Например, для добавления всех пользователей в группу RusUsers, у которых в поле AD co указано Russia, выполните команду:
Get-ADUser -filter {(co -eq "RusUsers")} | ForEach-Object -process {Add-ADGroupMember -identity "RusUsers" -Members $_.SamAccountName}
Вы можете создать текстовый CSV файл со списком пользователей, которых нужно добавить в определенную группу AD.
Также можно создать текстовый CSV файл со списком учетных записей (samAccountNames) и с помощью простого PowerShell скрипта добавить всех пользователей из файла в группу AD.
Создадим такой CSV-файла со списком учеток пользователей (можно получить, просто скопировав столюец с именами пользователей из Excel):
$List = Import-CSV .\users.csv
$ErrorActionPreference='Continue'
$error.Clear()
ForEach ($User in $List)
{Add-ADGroupMember -Identity ‘RusUsers’ -Members $User.username}
if ($error.Count -gt 0)
{
echo "Errors count: " $error.Count
}
$success=$($i-$error.Count)
if ($success -gt -1)
{
echo $success "Все пользователи успешно добавлены в группу"
}
Аналогичным образом вы можете добавить пользователей в группу распространения (группу рассылки) Exchange:
Import-CSV .\Users.csv | ForEach-Object -process {Add-DistributionGroupMember -Identity "AllRusUsersMailing" -Members $_.username }
2 комментария
{Add-ADGroupMember -Identity ‘RusUsers’ -Member $User.username} тут небольшая ошибка. нужно указывать Members в замен Memder
Спасибо, поправил.