by Alexey Knyazev
14. мая 2009 19:06
Часто, в моей работе необходимо создавать группы пользователей в AD, добавлять туда десятки пользователей. А этим группам давать те или иные права на работу с серверами БД.
Для этого я написал небольшой скриптик на PowerShell, который создаёт в Active Directory группы из списка указанного в текстовом файле и заливает в эти группы пользователей, список которых так же подаётся на входе в виде текстового файла.
$Domain = Read-Host "Введите адресс контролера";
$User = Read-Host "Введите логин";
$Password = Read-Host "Введите пароль" -AsSecureString;
#Подключаемся к контроллеру
Connect-QADService -Service $Domain -ConnectionAccount $User -ConnectionPassword $Password;
#Считываем список групп из текстового файла “C:\Groups.txt”
$GrList = Get-Content "C:\Groups.txt"
foreach ($i in $GrList)
{
$gr=Get-QADGroup -DisplayName $i;
if ($gr -eq $null)
{
#Создаём группы в цикле, если их не было в AD.
#Контейнер куда создаются группы=’DC=SQLServerGroups,DC=SERVERNAME,DC=COM’
New-QADGroup -ParentContainer "DC=SQLServerGroups,DC=SERVERNAME,DC=COM" -name $i -DisplayName $i -samAccountName $i;
"Создали новую группу="+$i;
}
else
{
"Группа была="+$i;
}
#Считываем список пользователей из текстовых файлов, где имя файла=”C:\имени группы”
$UserList = Get-Content "C:\$i.txt"
foreach ($j in $UserList)
{
#Так как у меня список юзеров хранится без указания домена,
#то префикс подставляю к коде, где Domain - имя вашего домена
add-QADGroupMember -identity $i -member "Domain\$j"
}
}
#Отключаемся от контроллера
disconnect-QADService;