скрипт на создание пользователей в active directory

👥 Импорт пользователей в Active Directory из CSV или XLS

скрипт на создание пользователей в active directory. 1 53. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-1 53. картинка скрипт на создание пользователей в active directory. картинка 1 53. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

В этой статье мы рассмотрим простой скрипт PowerShell, который позволяет импортировать пользовательские данные из файла CSV / XLS и создавать для них учетные записи в домене Active Directory.

Прежде всего, создайте файл NewUser.xlsx в Excel со следующей структурой заголовка:

Заполните файл Excel данными всех пользователей, которых вы хотите создать в Active Directory (обычно эти данные предоставляются из системы учета персонала).

скрипт на создание пользователей в active directory. 1 49. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-1 49. картинка скрипт на создание пользователей в active directory. картинка 1 49. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Экспортируйте файл Excel в формат CSV с запятыми в качестве разделителей (Файл> Сохранить как> Тип файла: CSV, Имя файла: new_as_users.csv).

скрипт на создание пользователей в active directory. 1 50. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-1 50. картинка скрипт на создание пользователей в active directory. картинка 1 50. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Создайте файл import_ad_users.ps1 со следующим кодом PowerShell (измените имя своего домена и организационную единицу Active Directory, в которой вы хотите создать пользователей):

Запустите скрипт из командной строки PowerShell, затем откройте консоль ADUC и убедитесь, что в указанном подразделении появились новые пользователи.

Источник

Создаем пользователей AD в powershell используя New-ADUser

скрипт на создание пользователей в active directory. PowerShell2 giMEP04. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-PowerShell2 giMEP04. картинка скрипт на создание пользователей в active directory. картинка PowerShell2 giMEP04. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Создание пользователей в Powershell можно выполнить через команду New-ADUser. Мы рассмотрим как создавать в определенной OU, с паролем, из CSV и с другими параметрами.

Если мы наберем просто команду, то нам предложат ввести логин и наш пользователь создастся отключенным в папке User:

скрипт на создание пользователей в active directory. 1. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-1. картинка скрипт на создание пользователей в active directory. картинка 1. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Навигация по посту

Создание пользователя в Powershell с параметрами New-ADUser

У командлета есть много параметров (больше 60) и мы рассмотрим основные из них. Для того что бы увидеть все параметры выполните следующее:

Или если хотите найти конкретный параметр (в моем случае все где есть Name):

Обычно нам нужно создать учетку AD с паролем, именем и фамилией и она должна быть активна. Для создания пользователя AD с паролем используется другой командлет Powershell. Я объявлю пароль в переменной, но можно сразу и при создании пользователя:

Затем создадим пользователя:

скрипт на создание пользователей в active directory. 2. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-2. картинка скрипт на создание пользователей в active directory. картинка 2. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

скрипт на создание пользователей в active directory. 4. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-4. картинка скрипт на создание пользователей в active directory. картинка 4. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Создание пользователя в Powershell в определенной OU используя New-ADUser Path

Для добавления пользователя в другой OU нужно использовать ключ Path. На примере домена domain.local и организационной единице Moscow путь будет выглядеть так:

Причем может появится ошибка:
new-aduser объект каталога не найден
Т.к. в пути вместо OU указывают контейнер CN.

Или если в нас вложенные OU:

скрипт на создание пользователей в active directory. 3. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-3. картинка скрипт на создание пользователей в active directory. картинка 3. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Создание пользователей AD из CSV в Powershell New-ADUser

Я создал в Excel такой файл и сохранил как CSV:

скрипт на создание пользователей в active directory. 5. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-5. картинка скрипт на создание пользователей в active directory. картинка 5. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Для того что бы импортировать файл есть командлет Import-Csv. Нужно обратить внимание какой разделитель (делимитер) в файле и у вас в системе. Увидеть это можно так:

Если есть отличия, то тогда в команде импорта нужно добавить ключ ‘-Delimiter’ и указать тот, который в файле. Отличия будут, например, если файл был создан в русской локализации, а импорт идет на сервере с английской.

Импорт и создание пользователей делается так:

Сложение в Path сделано для демонстрации такой возможности и не является обязательным.

У меня так же была ошибка:

Причины возникновения не совсем ясны. Хоть ошибка и указывала на начало командлета New-AdUser, но проблема была в Path. Из рекомендаций были убрать в CSV файле пустые строки, проверить, что у нас нет путаницы с кавычками ( что мы не используем » ‘ в одном объекте), а так же вынести значение Path вне цикла в переменную. Мне помогло, как я понял, замена кавычек в ключе, экранирование скобками и удаление пробелов в этом ключе.

Само собой мы можем в Csv файле создать больше колонок. Например мы можем там создать и пароль, что бы у всех пользователей он был разный, но нужно будет обязательно сконвертировать его через ConvertTo-SecureString.

Источник

Добавление пользователей в Active Directory из CSV файла при помощи скрипта PowerShell

скрипт на создание пользователей в active directory. 486042 635990776676419457. скрипт на создание пользователей в active directory фото. скрипт на создание пользователей в active directory-486042 635990776676419457. картинка скрипт на создание пользователей в active directory. картинка 486042 635990776676419457. Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).

Всем привет. Сегодня я покажу вам как можно автоматизировать добавление пользователей в AcriveDirecotory при помощи скрипта. Данные о пользователе будем брать из CSV файла.

Пример моего файла CSV:

ФИО;должность;отдел;номер комнаты;номер телефона;электронная почта;идентификатор
Иванов Иван Иванович;директор;76;345;123;[email protected];00000001
Петрова Ирина Петровна;лаборант;77;367;124;[email protected];00000002
Васильев Василий Васильевич;управляющий;78;389;125;[email protected];00000003
Александров Александ Александрович;зам. Директора;79;411;126;[email protected];00000004
Сергеев Сергеей Сергеевич;лаборант;80;433;127;[email protected];00000005

Соответственно все поля мы будем заносить в AD. ФИО будет разбиваться на фамилию, имя и отчество. Имя пользователя у нас будет формироваться из первой буквы имени и фамилии, переведенных в транслит.

В случае, если имя пользователя уже существует — мы берем 2 буквы из имени и так далее.

Обратите внимание на поле идентификатор. Он как раз нужен для того, чтобы определить добавлять нового пользователя или редактировать существующего, если появляется однофамилец.

В случае появления записи с существующим идентификатором — данные о пользователе обновляются.

Я тестировал работу скрипта на Windows 2008R2 с установленным powershell 5.1, т. е. он должен так же работать и на 2012 и на 2016 виндах.

Для того что бы powershell дал запусткать скрипт нужно выполнить команду от имени администратора:

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

Источник

Создание пользователя в Active Directory, Exchange и Skype средствами PowerShell

Создание пользователей одна из самых тривиальных задач системного администратора. И казалось бы в большинстве случаев нет необходимости что-то писать на PowerShell. Однако это не так. И вот таким простым скриптом можно существенно облегчить себе жизнь при создании любого количества пользователей.

По заголовку понятно, что предлагаемый скрипт создает пользователя в домене, затем создает ему почтовый ящик и учетную запись в Skype для бизнеса. Однако этим функционал не ограничивается. Скрипт так же генерирует для пользователя логин на основе его фамилии и первой буквы имени, генерирует сложный пароль (удовлетворяющий требованиям AD), работает с csv, а потому может создавать пакетно большое количество пользователей ну и в конце отправляет отчет в почту администратора.

Формат файла csv традиционный — разделенный запятыми. При желании вы можете переписать скрипт с использованием формы, мне вполне удобно и универсально показалось использовать именно csv формат. Скрипт необходимо запускать на контроллере домена, для подключения к серверам Exchange и Skype for Business скрипт запросит учетные данные перед запуском. Предполагается, что для обоих сервисов это одна учетная запись с правами администратора. Любые дополнения, комментарии и критика приветствуются. Все компоненты скрипта были собраны из разных источников в интернете, т.е. я не такой крутой программист как хотелось бы 😉

Обновление 28.05.2019. Упрощен формат csv файла. Теперь достаточно ввести только ФИО, город, компанию, департамент, должность и телефон (в первой версии фамилия и имя вводились отдельно см. ссылку внизу статьи). Логин и прочие поля генерируются автоматически из ФИО. Так же добавлен флажок на отправку уведомления по электронной почте, который включен по умолчанию, но его можно отключить если нет необходимости в получении данных учетной записи по электронной почте.

Источник

Как быстро «забросить» 100500 новых юзеров в Active Directory (поднятую на MS Windows Server 2003) или Скрипт для добавления учетных записей пользователей в Active Directory

Так уж случилось, что я выбрал профессию системного администратора. И занимаюсь этим порою неблагодарным делом уже без малого около 6 лет.
Однажды, пару лет назад, передо мною встал вопрос, позже переросший в задачу, заключающийся в том, как же относительно быстро завести новые учётные записи пользователей в AD под MS Windows Server 2003?

Я думаю что всем известен способ добавления пользователя в домен, так сказать, «ручками». То есть, для добавления новых учётных записей пользователей AD приходится делать примерно следующие вещи: открыть оснастку «Пользователи и компьютеры» вышеназванной ОС, открыть соответствующую OU (Organization Unite), инициировать любым из известных способов создание пользователя, и затем в открывшемся окне создавать пользователей одного за другим. Согласитесь, это достаточно долго и муторно, особенно если необходимых учётных записей пользователей не 10, а скажем — 300, 500 и более. Особенно это станет рутинным делом тогда, когда нужно будет заполнить не только поля «логин» и «пароль», но и, расположенные во всевозможных вкладках, поля «Фамилия», «Имя Отчество», «Должность», «Отдел», «Организация» и т.д. Конечно, Вы скажете что методы «копипасты» и «слепого набора» еще никто не отменял, но вы попробуйте, и ощутите на каком по счету пользователе вы устанете, а если не устанете, то посчитайте потом количество совершенных ошибок при забивке данных.
В общем, поняв что нужно что-то делать с этим и так как время у меня было ограничено, я обратился к интернет ресурсам с целью поиска скрипта, который должен был существовать и решить эту проблему, как подсказывало мое чутье. Увы, я практически разочаровался в том, что увидел. В интернете было полно всевозможных скриптов для автоматизации различных задач в среде AD, но то, что мне было нужно — отсутствовало напрочь. Пришлось обратиться к англоязычным ресурсам, на одном из которых (увы, сайт-ссылку на момент написания статьи я уже утерял, есть мысли где искать, и если найду, то опубликую) был некий скрипт-«рыба» на VBS в очень «сыром» виде, что выяснилось при попытке его применить на тестовой системе ни к чему не приведшей — он просто, априори, не работал, ввиду наличия в нем множества недоработок и банальных ошибок, как выяснилось мною позже. Пришлось исправлять, дописывать код и стать, вдобавок ко всему, немного программистом на языке VBS 🙂
За сим, позвольте представить на суд уважаемой публики скрипт для добавления учетных записей пользователей в AD в предварительно созданные OU (1-го уровня). Если возникнет вопрос почему и OU не создаются автоматически, то отвечу заранее, что не нашел как это осуществить, да и контроль так жестче за производимыми изменениями в AD — все же приходится не в песочнице играться, а вносить ощутимые изменения в мощную и функционирующую в реальном времени систему, так называемую «Active Directory».

Важное замечание!
Заранее нужно создать файл, содержащий через разделитель «;» необходимые параметры:
Логин; Пароль; Имя Отчество; Фамилия; Должность; Отдел; Организация;
Обязательно наличие замыкающего разделителя «;» в каждой строке, например:
sirin-bird1; пароль1; Имя Отчество1; Фамилия1; Должность1; Отдел1; Организация1;
sirin-bird2; пароль2; Имя Отчество2; Фамилия2; Должность2; Отдел2; Организация2;
sirin-bird4; пароль3; Имя2 Отчество3; Фамилия3; Должность3; Отдел3; Организация3;
sirin-bird3; пароль4; Имя Отчество4; Фамилия4; Должность4; Отдел4; Организация4;
sirin-bird5; пароль5; Имя2 Отчество5; Фамилия5; Должность5; Отдел5; Организация5;
… … … … … … …
Создание такого файла можно поручить и неквалифицированному персоналу, умеющему обращаться с элементарным текстовым редактором. А потом всего лишь проверить правильность набора текста и расстановки разделителей, как и поступил Ваш покорный слуга.

Еще одно важное замечание!
Параметр «Организация» является OU для соответствующего пользователя и не создается этим скриптом, поэтому чтобы все сработало — предварительно создайте соответствующие OU в корне домена (возле папки OU «Users»). Это объясняется тем, что у меня в домене было несколько организаций-клиентов со своими пользователями-сотрудниками, отсюда и такое разделение.

Итак, сам скрипт:
Set objArgs = WScript.Arguments
if objArgs.Count = 0 then
WScript.Echo «Добавляет пользователей в домен.»
WScript.Echo «add_to_ad.vbs [имя файла]»
WScript.Echo » [имя файла] — файл со списком пользователей»
WScript.Echo » формат файла: Логин; Пароль; Имя-Отчество; Фамилия; Должность; Отдел; Организация;»
WScript.Quit
end if
path = objArgs(0)

Set fso = CreateObject(«Scripting.FileSystemObject»)
Set objFile = fso.OpenTextFile(path, 1)
Do Until objFile.AtEndOfStream
str = objFile.ReadLine
for i = 1 to Len(str) step 1
strCh = Mid (str, i, 1)
if strCh = «;» then
select case Z
case 0
UserName = strRez ‘ *** Логин
case 1
UserPassword = strRez ‘ *** Пароль
case 2
FirstName = strRez ‘ *** Имя-Отчество
case 3
LastName = strRez ‘ *** Фамилия
case 4
Title = strRez ‘ *** Должность
case 5
Department = strRez ‘ *** Отдел
case 6
Company = strRez ‘ *** Организация
‘case 7
‘Manager = strRez’ *** Руководитель
‘case 8
‘OfficeRoom = strRez ‘ *** Комната
end select
strRez = «»
strCh = «»
Z = Z + 1
else
strRez = strRez + strCh
end if
next
strRez = «»
strCh = «»
Z = 0

Set objRoot = GetObject(«LDAP://RootDSE»)
Set objADSystemInfo = CreateObject(«ADSystemInfo»)
DomainDNSName = objADSystemInfo.DomainDNSName
DomainDN = objRoot.Get(«DefaultNamingContext»)
ContainerDN = «ou=» & Company & «,» & DomainDN

pName = UserName & «@» & DomainDNSName ‘»@snb.local»

Set objOU = GetObject(«LDAP://» & ContainerDN)

‘*************************** Создаем учетку пользователя домена ***********************
Set objUser = objOU.Create(«User», «cn=» + UserName)
‘ **** Login *****
objUser.Put «sAMAccountName», UserName
objUser.SetInfo

‘ ****** пароль *******
Set objUser = GetObject («LDAP://cn=» + UserName + «,» + ContainerDN)
objUser.SetPassword UserPassword

‘ ******* UPN **********
objUser.Put «userPrincipalName», pName

‘****** выключение аккаунта *******
objUser.AccountDisabled = TRUE

‘ ******** Имя *********
objUser.Put «givenName», FirstName

‘ ***** Фамилия *********
objUser.Put «sn», LastName

‘ ***** Выводимое имя ******
objUser.Put «displayName», LastName & » » & FirstName

‘ Инициалы
objUser.Put «initials», left(FirstName,1) & «.» ‘& left(LastName,1)

‘ ***** Должность ******
objUser.Put «title», Title

‘ ***** Отдел ******
objUser.Put «department», Department

‘ Организация
objUser.Put «Company», Company

‘ Руководитель
‘objUser.Put«manager», Manager

‘ комната
‘objUser.Put «physicalDeliveryOfficeName», OfficeRoom

‘ ***** Уст. Требовать смену пароля при следующем входе в систему ***
objUser.Put «pwdLastSet», CLng(0)

‘ WScript.Echo «Пользователь — » + UserName + » добавлен в AD»

Loop
WScript.Echo «Пользователи добавлены в AD»
objFile.Close

дополнительный код для вставки в скрипт:

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *