Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Скрипт для добавления пользователей в AD

Ответить
Настройки темы
PowerShell - Скрипт для добавления пользователей в AD

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Nord18
Дата: 03-08-2014
Доброго времени суток, уважаемые форумчане!

Написал скрипт для добавления пользователей в AD с помощью импорта из CSV-файла.
Скрипт полностью жизнеспособный, но не могу понять как допилить его чтобы еще пользователи добавлялись в Группы безопасности.
Так же не очень понятно как добавить скриптом некоторые атрибуты учетной записи (например полное название страны, отчество сотрудника).
Параметр добавления кода страны указал в скрипте, возможно ли добавить параметр в CSV-файл? Тот же вопрос и с контейнером, в который добавляются пользователи (указан в скрипте).

Код: Выделить весь код
Import-CSV -Path "D:\Scripts\CreateNewUsersAD.csv"|ForEach-Object -process {New-ADUser -Name $_.Name 
-SamAccountName $_.SamAccountName -UserPrincipalName $_.UserPrincipalName 
-AccountPassword $_.Password -GivenName $_.GivenName -Surname $_.Surname 
-DisplayName $_.DisplayName -Company $_.Company -Department $_.Department -Title $_.Title 
-OfficePhone $_.OfficePhone -MobilePhone $_.MobilePhone -State $_.State 
-City $_.City -Country "RU" -StreetAddress $_.StreetAddress -PostalCode $_.PostalCode 
-CannotChangePassword $false -ChangePasswordAtLogon $false 
-PasswordNotRequired $true -Enabled $true -Path "ou=Users_Test,dc=domain,dc=ru"}
Прошу помощи...

В одну группу безопасности пользователей добавил запуском второго скрипта:

Код: Выделить весь код
Import-CSV -Path "D:\scripts\UserAddGpoup.csv"|ForEach-Object  -process{Add-ADGroupMember -Identity $_.Group-Members $_.SamAccountName}
Как добавить сразу в несколько групп по прежнему не понятно.

Код страны добавил соответствующим столбцом Country и значением RU.

Как добавить в CSV-файл поле с контейнером так же не ясно...

Отправлено: 13:45, 02-08-2014

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


1) полное название страны, отчество сотрудника - Использовать параметр OtherAttributes
-OtherAttributes @{'msDS-PhoneticDisplayName'="GlenJohn"}

2) В чем проблема указать несколько групп? Разделитель ; в csv файле для перечисления групп или заключить поле в двойные кавычки .

Код: Выделить весь код
Import-CSV -Path "D:\scripts\UserAddGpoup.csv"| ForEach-Object {
	$grs = $_.Group.split(";")
	$sam = $_.SamAccountName
	foreach($gr in $grs) {
		Add-ADGroupMember -Identity $gr -Members $sam
	}
}
PS. Необязательно использовать запятую в csv,можно скажем использовать ; и указать Import-CSV -Delimiter ";" и не возникнет проблем с указанием контейнера если там есть запятая.

Последний раз редактировалось Kazun, 03-08-2014 в 23:26.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:15, 03-08-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Вот скрипт который позволяет добавлять пользователей в режиме реального времени без файла
Write-Host “Welcome to corp”
# Set Variables from User Input
$FirstName = Read-Host “Введите Имя”
$LastName = Read-Host “Введите фамилию”
$ThirdName = Read-Host "Введите отчество"
$Login = Read-Host "Введите Login"
$domain = "corp.int"
$maildomain = "@corp.int"
$DisplayName = ($LastName + " " + $FirstName +" "+ $ThirdName)
$Title = Read-Host “Enter Empolyee’s Title”
$Department = Read-Host “Enter Employee’s Department”
$IPPhone = Read-Host “Enter Employee’s IPPhone Number”
$CN = (“CN=” + $LastName + ” ” + $FirstName + " "+ $ThirdName)
$mail = ($Login+ "" + $maildomain)
$user = ($Login+ "@" + $domain)
$Class = “User”
$strUserName = $CN

#connect to AD and create user
$objADSI = [ADSI]“LDAP://OU=Users,DC=corp,DC=int”
$objUser = $objADSI.Create($Class, $strUserName)
$objUser.Put(“sAMAccountName”, $FirstName)
# Commit the object in AD
$objUser.setInfo()
#Set General Tab Properties
#Bind to the user Object
$objADSI = [ADSI]“LDAP://$CN,OU=User,DC=corp,DC=int”
$objUser.Put(“userPrincipalName”, “$firstName”)
$objUser.Put(“givenName”, “$User”)
$objUser.Put(“SN”, “$LastName”)
$objUser.Put(“DisplayName”, “$DisplayName”)
$objUser.Put(“sAMAccountName”, “$Login”)
$objUser.Put(“Title”, “$Title”)
$objUser.Put(“Department”, “$department”)
$objUser.Put(“IPphone”, “$IPphone”)
$objUser.Put(“mail”, “$mail”)

$objUser.Put(“l”, “город”)
$objUser.Put(“streetAddress”, “улица”)
$objUser.Put(“company”, “ООО ""название"”")
$objUser.Put(“telephoneNumber”, “+7 .....”)


#set UserAccessControl
$objUser.put(“userAccountControl”, 544)
#Commit changes
$objUser.setInfo()

как добавить группы самого интересует
может быть данный скрипт будет полозен

Отправлено: 15:17, 04-08-2014 | #3


Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Если нужно могу выложить VBS скрипт такого же плана только с функцией перевода логина в латиницу состоящим из имя.фамилия

Отправлено: 16:21, 04-08-2014 | #4


Новый участник


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Kazun:
2) В чем проблема указать несколько групп? Разделитель ; в csv файле для перечисления групп или заключить поле в двойные кавычки .

Код: Выделить весь код
Import-CSV -Path "D:\scripts\UserAddGpoup.csv"| ForEach-Object {
	$grs = $_.Group.split(";")
	$sam = $_.SamAccountName
	foreach($gr in $grs) {
 Add-ADGroupMember -Identity $gr -Members $sam
	}
}


Спасибо тебе добрый человек за полезнейший скрипт. Но из-за отсутствия знаний PowerShell намучился с файлом *.csv (Тупил с заголовком)
Посему добавлю формат записи *.csv файла:

Код: Выделить весь код
SamAccountName,Group
User0,GG_test1;GG_test2;GG_test3
User1,GG_test1
User2,GG_test2

Отправлено: 15:52, 10-03-2016 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Скрипт для добавления пользователей в AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Скрипт для перемещения пачки пользователей в AD diga Скриптовые языки администрирования Windows 19 24-01-2012 10:40
VBS/WSH/JS - HELP!. Не работает скрипт заведения пользователей в AD userovich2 Скриптовые языки администрирования Windows 3 24-10-2010 23:17
Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD alex_frog Скриптовые языки администрирования Windows 6 22-07-2009 18:41
Скрипт для проверки списка пользователей и их удаление из AD alex_frog Microsoft Windows NT/2000/2003 0 22-07-2009 13:16
CuteNews - скрипт для добавления новостей. ran71me3rr0r Вебмастеру 5 11-07-2004 10:16




 
Переход