Скрипт создания групп пользователей в AD (PoSh)

by Alexey Knyazev 14. мая 2009 16: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;

Tags: , ,

PowerShell | SQL Server

Комментарии

20.10.2010 12:10:09 #

gray

PowerGUI выдал ошибку:
----------------------------------------------------------------------------------------------
В экземпляре объекта не задана ссылка на объект.
В :строке:30 позиция:16
+ $gr=Get-QADGroup <<<<  -DisplayName $i;
----------------------------------------------------------------------------------------------
Хотя все txt файлы групп и пользователей этих групп созданы и заполнены.
В чем проблема?
P.S. Просьба не пинать.

gray Россия

20.10.2010 16:27:33 #

Alexey Knyazev

Кодировка вашего текстового файла какая? ANSI? Попробуйте сохранить ваш текстовый файл в кодировке Юникод

Alexey Knyazev Россия

21.10.2010 14:09:46 #

gray

Разобрался.
Дело не в юникоде, Алексей, просто напросто PGUI Script Editor записывает значения переменных после первого выполнения, и если певый запуск закончился с ошибкой (которые имеют место быть время от времени), она будет висеть пока переменные не скинешь.
Но все равно спасибо.

gray Россия

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


(Отображает Gravatar)

  Country flag

Click to change captcha
biuquote
  • Комментарий
  • Предпросмотр
Loading



Powered by BlogEngine.NET 1.6.0.0
Все права защищены © T-SQL.RU | Alexey Knyazev 2008-2012