Создание новых учетных записей пользователей в Active Directory с помощью ADUC и PowerShell
В этой статье мы рассмотрим, как создавать новых пользователей в домене Active Directory. Вы можете создавать новые учетные записи пользователей в своем домене с помощью графических оснасток mmc (Пользователи и компьютеры Active Directory).
dsa.mscи Административный центр AD
dsac.msc) или с помощью сценариев PowerShell.
Как создать нового пользователя Active Directory с помощью ADUC?
Самый простой способ создать нового пользователя домена в Active Directory — использовать графическую консоль ADUC mmc.
Откройте консоль Пользователи и компьютеры Active Directory, запустив команду
dsa.mscкоманда;
Выберите контейнер Active Directory (подразделение), в котором вы хотите создать новую учетную запись пользователя. Щелкните его правой кнопкой мыши и выберите Новый -> Пользователь;
Чтобы создавать новых пользователей в домене, ваша учетная запись должна быть членом группы «Администраторы домена» или «Операторы учетной записи». Или вы можете вручную делегировать разрешения на создание пользователей другим пользователям и группам домена.
Укажите имя, фамилию и полное имя пользователя, установите userPrincipalName (имя входа пользователя) и sAMAccountName. Нажмите «Далее»;
Затем установите пароль пользователя.
В этой форме вы можете дополнительно установить следующие параметры для атрибута UserAccountControl:
Пользователь должен сменить пароль при следующем входе в систему;
Пользователь не может сменить пароль - только администратор/оператор учетной записи может изменить/сбросить пароль пользователя;
Пароль не имеет срока действия - пароль пользователя никогда не истечет (если эта опция не включена, срок действия пароля пользователя определяется политика паролей домена Active Directory);
Учетная запись отключена - учетная запись пользователя в домене отключена и не может использоваться для входа в систему.Найдите пользователя в консоли ADUC и откройте его свойства. Здесь вы можете задать дополнительные атрибуты пользователя: номер телефона, адрес, описание, должность, компанию (и т.д.), добавить их в группы AD и задать другие атрибуты на вкладке Редактор атрибутов.
Путем копирования можно создавать новых пользователей AD с аналогичными настройками. Этот способ создания новых пользователей подходит для создания другого пользователя из того же отдела с тем же набором разрешений, адресом и описанием.
Нажмите на пользователя и выберите Копировать. При копировании пользователя AD в новую учетную запись пользователя будут скопированы членство в группе, адрес (кроме улицы), настройки атрибутов useraccountcontrol, настройки организации и ряд других атрибутов.
New-ADUser: создание пользователей Active Directory с помощью PowerShell
Выше мы показали, как вручную создать пользователя в домене Active Directory с помощью графической оснастки ADUC. Если вы постоянно добавляете в свой домен новых пользователей, гораздо удобнее автоматизировать этот процесс с помощью PowerShell.
Вы можете использовать командлет New-ADUser из модуля Active Directory для Windows PowerShell для создания учетных записей пользователей в AD.
Полный синтаксис командлета New-ADUser можно получить с помощью команды:
Get-Command New-ADUser -SyntaxВ простейшем случае для создания новой учетной записи пользователя в AD достаточно указать только ее имя:
New-ADUser testuser1
Как видите, новая учетная запись пользователя была создана в контейнере Пользователи по умолчанию. По умолчанию этот пользователь отключен. Чтобы использовать эту учетную запись, необходимо включить ее (командлет Enable-ADAccount), установить ее пароль (командлет Set-ADAccountPassword), настроить другие атрибуты (при необходимости).
Чтобы создать новую учетную запись в определенном контейнере Active Directory домена (OU) с паролем и немедленно включить ее, используйте следующую команду:
New-ADUser -Name "Albert Schmidt" -GivenName "Albert" -Surname "Schmidt" -SamAccountName "a.schmidt" -UserPrincipalName "a.schmidt@active-directory.ru" -Path "OU=Users,OU=Accounts,OU=Berlin,OU=DE,DC=active-directory,DC=com" -AccountPassword(Read-Host -AsSecureString "Input Password") -Enabled $trueКоманда предлагает указать пароль для нового пользователя (пароль передается защищенным способом).
Примечание. Пароль пользователя должен соответствовать политике безопасности паролей домена по длине, сложности и т. д., в противном случае командлет вернет ошибку: New-ADUser: пароль не соответствует требованиям к длине, сложности или истории пароля. домен. Вы можете использовать готовый скрипт PowerShell для генерации сложного пароля для каждого пользователя.
Получить информацию о созданном доменном пользователе можно с помощью командлета Get-ADUser:
Get-ADUser a.schmidtМассовое создание пользователей Active Directory из CSV с помощью PowerShell
Вы можете использовать сценарии PowerShell для массового создания нескольких пользователей в домене Active Directory. Рассмотрим простой скрипт для создания учетных записей пользователей из списка в файле CSV.
Заполните необходимые атрибуты пользователя в формате файла CSV (Excel). Например, мой файл Excel с пользователями имеет 8 столбцов и имеет следующий формат заголовка:
FirstName;LastName;SamAccountName;Phone;Department;JobTitle;Password;OUСохраните файл Excel в формате CSV с запятыми в качестве разделителя. Кодировка должна быть установлена UTF-8 (это важно!).
Вы можете получить доступ к значениям в ячейках Excel непосредственно из PowerShell. В этом примере я использую простой файл CSV, чтобы упростить код сценария.
Теперь вы можете импортировать этот CSV-файл (create_ad_users.csv) и создавать новых пользователей в домене AD. См. следующий пример сценария PowerShell, который можно использовать для создания пользователей в Active Directory.
Примечание.
Укажите имя подразделения, в котором вы хотите создать новую учетную запись пользователя, в формате отличительного имени (
"OU=Users,OU=Munich,OU=DE,DC=active-directory,DC=com"). Значение должно быть заключено в двойные кавычки (поскольку строка содержит запятые);
Если "; «используется в качестве символа-разделителя для файла CSV, добавьте
-delimiter ";"в качестве аргумента вашей команды Import-Csv;
Скрипт проверяет, существует ли пользователь в домене. Если такая учетная запись уже существует в домене, появится предупреждение и будет предложено ввести уникальное имя sAMAccountName.
Import-Module activedirectory
$domain=“@active-directory.ru”
Import-Csv "C:\ps\create_ad_users.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("User $_.SamAccountName exists", 'Specify a new user SamAccountName', $_.SamAccountName)
}
$upn = $userSAM + $domain
$uname = $_.LastName + " " + $_.FirstName
New-ADUser -Name $uname `
-DisplayName $uname `
-GivenName $_.FirstName `
-Surname $_.LastName `
-OfficePhone $_.Phone `
-Department $_.Department `
-Title $_.JobTitle `
-UserPrincipalName $upn `
-SamAccountName $userSAM `
-Path $_.OU `
-AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -Enabled $true
}
Кроме того, вы можете сохранить информацию о создании пользователя в файле журнала (пример использования файлов журнала в сценариях PowerShell).
После запуска сценария откройте консоль ADUC, разверните указанное подразделение Active Directory и убедитесь, что в AD появились новые учетные записи пользователей. Вы можете отслеживать события создания новых учетных записей пользователей следующим образом: Получить список учетных записей использования Active Directory, созданных за последние X часов/дней.
Вы можете немедленно добавить новые учетные записи пользователей в определенные группы AD с помощью командлета Add-AdGroupMember. Для этого нужно немного модифицировать скрипт, добавив в цикл For-Each такую строку:
Add-AdGroupMember -Identity AllowInternetAccess-Members $userSAMИли вы можете настроить фотографию пользователя в AD для ее отображения в Outlook и Lync с помощью командлета Set-ADUser:
Set-ADUser $userSAM -Replace @{thumbnailPhoto=([byte[]](Get-Content "C:\ps\l.wolf.jpg" -Encoding byte))}










