Скрипт создания пользователей windows server 2016

В этой статье мы рассмотрим, как создать (добавить) нового пользователей в домен Active Directory. Вы можете создать учетные записи пользователей в Active

В этой статье мы рассмотрим, как создать (добавить) нового пользователей в домен Active Directory. Вы можете создать учетные записи пользователей в Active Directory с помощью графических mmc оснасток Active Directory Users and Computers (
dsa.msc
)/ AD Administrative Center (
dsac.msc
) или с помощью скриптов PowerShell.

Содержание:

  • Как создать нового пользователя в домене Active Directory?
  • New-ADUser: создать учетную запись пользователя с помощью PowerShell
  • PowerShell: Массовое создание новых пользователей в AD по CSV файлу

Как создать нового пользователя в домене Active Directory?

Самый простой способ создания нового доменного пользователе в Active Directory – воспользоваться графической mmc консоль ADUC.

  1. Запустите консоль Active Directory Users and Computers, выполнив команду
    dsa.msc
    ;
  2. Выберите контейнер (Organizational Unit, OU) Active Directory, в котором вы хотите создать нового пользователя. Щелкните по нему правой кнопкой и выберите New -> User; создать нового пользователя Active Directory вручную

    Для создания пользователей в домене ваша учетная запись должна состоять в группе администраторов домена, Account Operators или вы можете делегировать права на создание пользователей другим пользователям/группам.

  3. Укажите имя, фамилию и инициалы пользователя, выберите его userPrincipalName (имя входа пользователя) и sAMAccountName, нажмите Next;укажите имя и фаамилию нового пользователя AD и имя для входа в Windows
  4. Затем задайте пароль пользователя. На этой форме вы можете дополнительно включить для пользователя следующие опции атрибута UserAccountControl:задать пароль нового пользователя Active Directory
    User must change password at next logon — пользователь при первом входе должен будет изменить пароль;
    User cannot change password — пользователь не сможет самостоятельно изменить свой пароль (смена/сброс пароля может быть выполнена только администратором);
    Password never expires — срок действия пароля пользователя никогда не истечет (если эта опция не включена, тогда срок действия пароля пользователя определяется политикой паролей Active Directory);
    Account is disabled — учетная запись пользователя в домене отключена и не может использоваться для входа.
  5. Найдите пользователя в консоли ADUC и откройте его свойства. Здесь вы можете задать дополнительные атрибуты пользователя: номер телефон, адрес, описание, должность, компанию (и т.д.), добавить его в группы AD, и изменить другие атрибуты на вкладке Attribute Editor.новый пользователеь в домене active directory

Вы можете создавать новых пользователей с аналогичными параметрами с помощью копирования. Такой способ создания новых пользователей подходит, когда вы хотите создать еще одного пользователя из одного подразделения, с тем же набором прав, адресом и описанием.

скопировать пользователя AD

Щелкните по пользователю и выберите Copy. При копировании пользователя ему будет скопирован список групп, адрес (кроме улицы), настройки атрибута useraccountcontrol, параметры организации и ряд других атрибутов.

New-ADUser: создать учетную запись пользователя с помощью PowerShell

Выше мы показали, как вручную создать пользователя в домене AD с помощью графической консоли ADUC. Если вы постоянно создаете в домене новых пользователей, то гораздо удобнее автоматизировать этот процесс с помощью PowerShell.

Для создания учетных записей пользователей в AD можно использовать командлет New-ADUser из модуля Active Directory Module for Windows PowerShell.

Полный синтаксис командлета New-ADUser можно получить с помощью команды:

Get-Command New-ADUser –Syntax

New-ADUser - синтаксис

В минимальной версии для создания новой учетной записи пользователя в AD достаточно указать только его имя:
New-ADUser testuser1

Создаем нового пользователя в домене Active Directory

Как вы видите, новая учетная запись пользователя была создана в контейнере Users. По умолчанию этот пользователь отключен. Чтобы использовать эту учетную запись, ее нужно включить (командлет Enable-ADAccount), задать пароль (командлет Set-ADAccountPassword) и настроить другие атрибуты (по необходимости).

Чтобы создать новую учетную запись в определенном контейнере (OU) домена с паролем и сразу включить ее, воспользуйтесь такой командой:

New-ADUser -Name "Test User2" -GivenName "Test" -Surname "User2" -SamAccountName "testuser2" -UserPrincipalName "[email protected]" -Path "OU=Users,OU=Accounts,OU=SPB,DC=winitpro,DC=loc" -AccountPassword(Read-Host -AsSecureString "Input Password") -Enabled $true

Команда предложит сразу указать пароль нового пользователя (пароль передается в защищенном виде).

Примечание. Пароль пользователя должен соответствовать доменным политикам безопасности паролей по длине, сложности и т.д, иначе командлет вернет ошибку: New-ADUser : The password does not meet the length, complexity, or history requirement of the domain. Вы можете использовать готовый скрипт PowerShell для генерации сложного пароля для каждого пользователя.

Вы можете получить информацию о созданном пользователе домена с помощью командлета Get-ADUser:

Get-ADUser testuser2

PowerShell: Массовое создание новых пользователей в AD по CSV файлу

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

Заполните необходимые параметры пользователей в формате CSV (Excel) файла. Например, мой Excel файл с пользователями состоит из 9 колонок и имеет следующий формат шапки:

FirstName;LastName;Initials;SamAccountName;Phone;Department;JobTitle;Password;OU

Заполните данные пользователей и сохраните Exсel файл с в формате CSV c запятыми, в качестве разделителей. Кодировка файла должна быть обязательно UTF-8 (важно!).

Вы можете обращаться к значениям в ячейках Excel файла напрямую из PowerShell. Для упрощения кода скрипта в этом примере я использую плоский CSV файл.

список пользователей в excel

Теперь вы можете импортировать данный CSV файл (new_ad_users2.csv) и создать в домене новых пользователей. Код готового PowerShell скрипта представлен ниже:

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

Примечание.

  • Имя OU, в котором нужно создать пользователя указывается в формате distinguishedName (
    "OU=Users,OU=SPB,OU=RU,DC=winitpro,DC=ru"
    ). Значение нужно взят в двойные кавычки (т.к. строка содежрит запятые);
  • Имя пользователя в домене мы будем заводить на английском языке. Для транслитерации имен и фамилий пользователей с кириллицы в латиницу мы добавили в скрипт отдельную функцию Translit;
  • Если в качестве разделителя CSV файла используется “;”, в командлет Import-Csv нужно добавить аргумент
    -delimiter ";"
    . Проверьте, какой разделитель (делиметер) используется в вашей Windows по-умолчанию (команда
    (Get-Culture).TextInfo.ListSeparator)
    . Если системный разделитель отличается от разделителя в CSV файле, его нужно указать в параметре
    –Delimiter
    ;
  • Скрипт проверяет, существует ли пользователь в домене. Если в домене уже есть такая учетная запись, появляется предупреждение и предлагается ввести уникальный sAMAccountName (вы можете добавить порядковый номер в конце имени учетной записи).

$domain=“@winitpro.loc”
Import-Module activedirectory
Import-Csv "C:psnew_ad_users2.csv" | ForEach-Object {
$userSAM=$_.SamAccountName

if (@(Get-ADUser -Filter "SamAccountName -eq '$($_.SamAccountName)'").Count -ne 0) {
Add-Type -AssemblyName Microsoft.VisualBasic
$userSAM = [Microsoft.VisualBasic.Interaction]::InputBox("Пользователь с именем $_.SamAccountName уже существует", 'Укажите новое имя пользователя', $_.SamAccountName)
}
$upn = $userSAM + $domain
$uname = $_.LastName + " " + $_.FirstName + " " + $_.Initials
#переводим в транслит фамилию, имя и отчество
$transLastName=Translit($_.LastName)
$transFirstName=Translit($_.FirstName)
$transInitials=Translit($_.Initials)
$transuname = $transLastName + " " + $transFirstName + " " + $transInitials
New-ADUser -Name $transuname `
-DisplayName $uname `
-GivenName $_.FirstName `
-Surname $_.LastName `
-Initials $_.Initials `
-OfficePhone $_.Phone `
-Department $_.Department `
-Title $_.JobTitle `
-UserPrincipalName $upn `
-SamAccountName $userSAM `
-Path $_.OU `
-AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -Enabled $true
}


Ниже представлен код функции транслитерации (вставить выше кода основного скрипта):
#сама функция транслитерации
function global:Translit {
param([string]$inString)
$Translit = @{
[char]'а' = "a"
[char]'А' = "A"
[char]'б' = "b"
[char]'Б' = "B"
[char]'в' = "v"
[char]'В' = "V"
[char]'г' = "g"
[char]'Г' = "G"
[char]'д' = "d"
[char]'Д' = "D"
[char]'е' = "e"
[char]'Е' = "E"
[char]'ё' = "yo"
[char]'Ё' = "Yo"
[char]'ж' = "zh"
[char]'Ж' = "Zh"
[char]'з' = "z"
[char]'З' = "Z"
[char]'и' = "i"
[char]'И' = "I"
[char]'й' = "j"
[char]'Й' = "J"
[char]'к' = "k"
[char]'К' = "K"
[char]'л' = "l"
[char]'Л' = "L"
[char]'м' = "m"
[char]'М' = "M"
[char]'н' = "n"
[char]'Н' = "N"
[char]'о' = "o"
[char]'О' = "O"
[char]'п' = "p"
[char]'П' = "P"
[char]'р' = "r"
[char]'Р' = "R"
[char]'с' = "s"
[char]'С' = "S"
[char]'т' = "t"
[char]'Т' = "T"
[char]'у' = "u"
[char]'У' = "U"
[char]'ф' = "f"
[char]'Ф' = "F"
[char]'х' = "h"
[char]'Х' = "H"
[char]'ц' = "c"
[char]'Ц' = "C"
[char]'ч' = "ch"
[char]'Ч' = "Ch"
[char]'ш' = "sh"
[char]'Ш' = "Sh"
[char]'щ' = "sch"
[char]'Щ' = "Sch"
[char]'ъ' = ""
[char]'Ъ' = ""
[char]'ы' = "y"
[char]'Ы' = "Y"
[char]'ь' = ""
[char]'Ь' = ""
[char]'э' = "e"
[char]'Э' = "E"
[char]'ю' = "yu"
[char]'Ю' = "Yu"
[char]'я' = "ya"
[char]'Я' = "Ya"
}
$outCHR=""
foreach ($CHR in $inCHR = $inString.ToCharArray())
{
if ($Translit[$CHR] -cne $Null )
{$outCHR += $Translit[$CHR]}
else
{$outCHR += $CHR}
}
Write-Output $outCHR
}

powershell скрипт для массового заведения пользователей из CSV файла в домене Active Directory

После выполнения скрипта, откройте консоль ADUC, разверните указанный контейнер и убедитесь, что в AD появились новые учетки пользователей (отследить создание учетных записей в AD можно так: Получение списка учетных записей AD, созданных за последние 24 часа.)

новый пользователь в AD

Вы сразу можете добавить учетные записи в нужные группы AD с помощью командлета Add-AdGroupMember. Для этого нужно немного модифицировать скрипт, добавив в цикле строку:

Add-AdGroupMember -Identity AllowPublicInet -Members $userSAM

Также вы можете установить фотографию пользователя в AD, чтобы она отображалась в Outlook и Lync:

Set-ADUser $userSAM -Replace @{thumbnailPhoto=([byte[]](Get-Content "C:psuser1_photo.jpg" -Encoding byte))}

В самом простом варианте создание новой учетной записи пользователя занимает примерно пару минут. Открываем оснастку «Active Directory – Users and Computers», заходим в нужное подразделение (OU), в меню выбираем Создать — Пользователь, вводим имя пользователя и пароль. Все, учетка готова, можно работать.
А теперь представьте, что таким образом вам надо создать не одну, а скажем 50 учетных записей, и делать это регулярно.


Поскольку наврядли кому-то нравится проводить время, тупо набирая учетные данные пользователей, то делаем простой вывод — процесс заведения пользователей надо автоматизировать. И поможет нам в этом PowerShell.

Итак, представим, что нам нужно срочно создать 50 однотипных учетных записей. Пишем вот такой скрипт:

$org=″OU=Students,DC=contoso,DC=com″ 
$username=″student″
$count=1..50
foreach ($i in $count) 
{ New-AdUser -Name $username$i -Path $org -passThru }

создание однотипных учетных записей

Запускаем скрипт, и в подразделении Students создается 50 пользователей с именами student1-student50. По умолчанию учетки создаются отключенными, и пользователи все равно будут вынуждены к вам обращаться для их активации. Попробуем этого избежать:

$org=″OU=Students,DC=contoso,DC=com″
$username=″student″
$count=1..50
foreach ($i in $count)
{ New-AdUser -Name $username$i -Path $org -Enabled $True -ChangePasswordAtLogon $true  `
-AccountPassword (ConvertTo-SecureString «p@$$w0rd» -AsPlainText -force) -passThru }

Здесь создаем учетные записи уже активными и задаем p@$$w0rd как  пароль по умолчанию, а также указываем сменить его при первом входе в систему. Чтобы не передавать пароль в открытом виде, используем командлет ConvertTo-SecureString, который  переводит текстовую строку в защищенный формат

Теперь сделаем наш скрипт чуть более гибким. Используя командлет Read-Host заставим наш скрипт запрашивать имя  и количество пользователей:

$org=″OU=Students,DC=contoso,DC=com″
$username=Read-Host ″Enter name″
$number=Read-Host ″Enter number″

$count=1..$number
foreach ($i in $count)
{ New-AdUser -Name $username$i -Path $org -Enabled $True -ChangePasswordAtLogon $true `
-AccountPassword (ConvertTo-SecureString ″p@$$w0rd″ -AsPlainText -force) -passThru }

задаем имя и количество пользователей

Учетные записи созданы, пользователи могут заходить в систему и работать. Теперь их надо настроить — добавить в группы безопасности, прописать домашний каталог, сценарии входа и т.п. Сделать это можно с помощью шаблона. Проще говоря, создаем шаблонную учетную запись, полностью настраиваем ее, а затем делаем с нее нужное количество копий с помощью параметра -Instance :

$template = Get-AdUser -Identity ″student″
$org=″OU=Students,DC=contoso,DC=com″  
$username=Read-Host ″Enter name″
$number=Read-Host ″Enter number″

$count=1..$number
foreach ($i in $count)
{ New-AdUser -Name $username$i -UserPrincipalName $username$i -Path $org -Instance `
$template -Enabled $True -ChangePasswordAtLogon $true `
-AccountPassword (ConvertTo-SecureString ″p@$$w0rd″ -AsPlainText -force) -passThru }

копирование пользователя

Еще один способ автоматизировать создание учетных записей — импортировать их из CSV-файла. Этот способ подойдет в том случае, если вам предоставили список пользователей, и им надо завести учетные записи в соответствии с этим списком. Как правило, подобные списки создаются в Excel в виде таблицы со столбцами Имя, Должность, Отдел и т.п., примерно такого вида:

список пользователей

Наша задача — сохранить его в формате CSV и затем указать в скрипте с помощью командлета Import-CSV. Если ваш CSV-файл содержит все необходимые столбцы, то New-ADUser автоматически свяжет их с правильными атрибутами пользователя :

$csv = Import-CSV -Path ″C:scriptsusers.csv″
$csv | New-AdUser  -Path $org -Enabled $True -ChangePasswordAtLogon $true `
-AccountPassword (ConvertTo-SecureString ″p@$$w0rd″ -AsPlainText -force) -passThru

импорт из файла CSV

Таким образом можно импортировать сотни новых пользователей за несколько секунд, но есть в этом методе и подводные камни:

  • Названия столбцов должны полностью совпадать с названиями атрибутов пользователя, например Name (Имя), Organization (Организация), Title (должность), иначе ничего не получиться. Полный список атрибутов можно посмотреть здесь.
  • В таблице обязательно нужно указать SamAccountName, в противном случае будет выдана ошибка о том, что учетная запись уже существует.
  • Если атрибуты задаватьть в русской раскладке, как в нашем примере, то могут возникнуть проблемы с кодировкой. В решении этой проблемы мне помогло извлечение содержимго CSV-файла с помощью командлета Get-Content и сохранение его в другой CSV-файл: Get-Content users.csv >> users1.csv. После этого все русскоязычные атрибуты стали отображаться нормально.

В заключение несколько важных моментов:

Для запуска командлета New-ADUser необходимо предварительно импортировать модуль Active Directory для PowerShell. Делается это командой Import-Module ActiveDirectory, можно просто вставить эту строку в скрипт. Исключение составляет случай, когда вы запускаете скрипт из специальной оснастки «Модуль Active Directory для Windows PowerShell».

Модуль ActiveDirectory доступен на серверах под управлением Windows Server 2008R2/2012, а также на рабочих станциях Windows 7/8 c установленным пакетом администрирования RSAT.

Для работы модуля ActiveDirectory необходима веб-служба Active Directory (ADWS), предоставляющая веб-интерфейс для доступа к службе каталогов. По умолчанию эта служба устанавливается автоматически при добавлении ролей сервера AD DS и AD LDS на серверах под управлением Windows Server 2008R2 и выше. Для Windows Server 20032008 эту службу можно установить отдельно, скачав отсюда.

После того, как установлена роль Доменные службы Active Directory, пришло врем создать пользователя в домене в Windows Server 2016. Начиная с версии Windows Server 2008 появилась возможность восстанавливать из корзины обьекты Active Directory, в том числе пользователей домена. Если в Windows Server 2008 было возможно восстанавливать объекты из корзины из Power Shell, то начиная с версии Windows Server 2012 появилась возможнсоть работать с графическим интерфейсом.

Создание учётной записи в Windows server 2016.

1. Нажимаем Пуск, далее выбираем Диспетчер серверов.

create del restore user 2016 1

2. В «Диспетчер серверов» выбираем «Средства», затем «Пользователи и компьютеры Active Directory».

create del restore user 2016 2

3. В окне «Active Directory» выбираем домен, правой клавишей мыши — «Создать», далее «Подразделение».

create del restore user 2016 3

4. Создаём новое подразделение в домене. Для защиты контейнера отслучайного удаления не снимаем чекбокс. Нажимаем «ОК».

create del restore user 2016 4

5. В новом подразделении заведём пользователя домена. Для этого правой клавишей мыши на подразделение — «Создать» — «Пользователь».

create del restore user 2016 5

6. При создании пользователя в графе «Полное Имя» пользователь отображается в виде Имя-Отчество-Фамилие. Для удобства изменим отображение на более привычный вид Фамилие-Имя-Отчество. 

create del restore user 2016 6

7. Для этого в «Диспетчер серверов» выбираем «Средства», далее «Редактирование ADSI».

create del restore user 2016 7

8. В новом окне нажимаем «Действие» — «Подключение к…».

create del restore user 2016 8

9. В поле «Известный контекст именования:» выбираем «Конфигурация», нажимаем «ОК».

create del restore user 2016 9

10. Открываем «Конфигурация [домен]» — «CN=DisplaySpecifiers» — «CN=419». Далее «CN=user-Display» — «createDialog».

create del restore user 2016 10

11. В редакторе строковых атрибутов устанавливаем значение: %<sn> %<givenName>. Не забываем пробел в устанавливаемом значении и нажимаем «ОК».

create del restore user 2016 11

12. Теперь при заполнении полей создания пользователя графа «Полное имя» будет отображаться в виде Фамилияе-Имя-Отчество. Заполняем все графы в окне «Новый объект — Пользователь» и нажимаем «Далее».

create del restore user 2016 12

13. В следующем окне вводим пароль и подтверждение пароля для пользователя и нажимаем «Далее».

create del restore user 2016 13

14. Проверяем параметры создания нового пользователя, затем «Готово».

create del restore user 2016 14

15. Удалить пользователя в домене очень просто. Выбираем пользователя, правой клавишей мыши на обьекте, далее «Удалить». 

create del restore user 2016 15

16. Появится предупреждение «Вы действительно ходите удалить Пользователь …». При выборе «Да» пользователь будет удален из Active Directory.

create del restore user 2016 16

17. Для восстановления объектов Active Directory, в том числе пользователей», необходимо включить корзину. По умолчанию корзина выключена. В «Диспетчере серверов» выбираем «Средства», далее «Центр администрирования Active Directory».

create del restore user 2016 17

18. В новом окне выбираем наш домен, затем в правой части выбираем «Включить корзину…».

create del restore user 2016 18

19. Появится подтверждение включения корзины в Active Directory. Нажимаем «ОК».

create del restore user 2016 19

20. Для актуализации состояния корзины в домене необходимо обновить центр администрирования Active Directory. Нажимаем «ОК».

create del restore user 2016 20

21. Обновляем состояния центра администрирования.

create del restore user 2016 21

22. Для проверки работоспособности корзины удаляем пользователя в домене.

create del restore user 2016 22

23. Отвечаем «Да» на появление запроса на подтверждение удаления пользователя.

create del restore user 2016 23

24. Переходим в Центр администрирования Active Directory. Выбираем наш домен. Справа появится удаленный объект. Нажимаем правой клавишей мыши на удаленного пользователя, далее «Восстановить». Удаленный пользователь будет восстановлен в Active Directory.

create del restore user 2016 24

Посмотреть, что и как делать, можно здесь:

Читайте также:

Установка DNS и Active Directory — Windows Server 2016
Установка и настройка DHCP — Windows Server 2016
Второй контроллер домена — Windows Server 2016
Ввод компьютера в домен — Windows Server 2016
Переименование учётной записи администратора домена — Windows Server 2016
Windows server 2019 — установка и настройка Active Directory, DNS, DHCP

Skip to content

This is Step by Step How to Create a User Account using PowerShell in Windows Server 2016.

For this demo, I’m using DC-SERVER.Sifad.ae Domain that I previously deploy in Hyper-V, and for the client I prepare Windows 10 so that I can simulate the account created.

1 – Open your Windows Powershell which located in your taskbar.

12

2 – Next, in your Powershell, type New-ADOrganizationalUnit SifadHQ to create 1 new Organizational unit (for this demo, I create 1 new OU name SifadHQ).

34

3 – Open Active Directory User & Computer to confirm the new OU succesfully created.

5

4 – After your new OU successfully created, now you can create your new user (for this demo I’m using a new user call Sifad MCT). In Powershell, type and press Enter:

New-ADUser -Name Sifad -DisplayName “Sifad MCT” -GivenName MCT -Surname Sifad -Path “ou=SifadHQ,dc=Sifad,dc=ae”

*) Refresh Active Directory User and Computer to confirm your new user is created successfully.67

5 – Next, you must create password for your new user by typing: 

Set-ADAccountPassword Sifad

810

6 – Once your User password successfully created, you need to enable the account so that your new user can log in to their Windows 10 machine. Type and press Enter:

Enable-ADAccount Sifad 

1112

7 – Next, go to Windows 10 machine and try log in using Sifad account.

13.png14My new user now successfully log in to her Windows  10 machine.

that’s all for now.., any Doubts type a commend.. 🙂

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

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

New-ADUser

Логин (Name) — это единственный обязательный параметр для заполнения. Оно соответствует полю, которое выделено на рисунке ниже:

User logon

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

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

Get-Help New-ADUser -Parameter *

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

Get-Help New-ADUser -Parameter *Name*

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

$pass = ConvertTo-SecureString -String "Password133!" -AsPlainText -Force

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

New-ADUser -Name "a.strelnikov" -GivenName "Alex" -Surname "Strelnikov" -AccountPassword $pass -Enabled $true -UserPrincipalName "a.strelnikov@domain.local"

Где:

  • Name — логин
  • GivenName — имя
  • SurName — фамилия
  • AccountPassword — пароль, который мы объявили в переменной
  • Enbaled — делает пользователя активным
  • UserPrincipleName — соответствует полю выделенному на рисунке ниже

UserPrincipleName

new-aduser powershell примеры

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

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

$ou = "OU=Moscow,DC=domain,DC=local"
$pass = ConvertTo-SecureString -String "Password133!" -AsPlainText -Force
New-ADUser -Path $ou -Name "v.petushenko" -GivenName "Vladimir" -Surname "Petushenko" -AccountPassword $pass -Enabled $true -UserPrincipalName "v.petushenko.local"

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

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

$ou = "OU=Marketing,OU=Moscow,DC=domain,DC=local"

powershell создание пользователя ad в определенной ou

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

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

CSV Ad powershell New-AdUser

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

(Get-Culture).TextInfo.ListSeparator

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

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

#Импортируем пользователей. В моем случае разделитель ;
$users = Import-Csv -Path C:book.csv -Delimiter ";"
#Создаем пароль
$pass = (ConvertTo-SecureString "Password123!" -AsPlainText -Force)
#Создаем пользователей
$users | ForEach-Object {New-ADUser -Name $_.Name -GivenName $_.GivenName -Path ("OU="+$_.Path+",DC=domain,DC=local") -Surname $_.Surname -AccountPassword $pass -Enabled $true }

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

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

  • new-aduser указанное имя не является корректным именем пользователя
  • New-ADUser : The object name has bad syntax
  • New-ADUser : Directory object not found

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

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

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

Теги:

#powershell

#ad

Понравилась статья? Поделить с друзьями:
  • Скрин рабочего стола windows 10 где находится
  • Скрыть пустые диски в windows 10
  • Скринсейверы для windows 10 скачать бесплатно через торрент
  • Скрипт при входе в систему windows
  • Скрин отдельной части экрана сочетание клавиш windows