Active Directory (AD) является основным инструментом управления учетными записями пользователей и ресурсами в корпоративной сети. Автоматизация создания пользователей с помощью PowerShell значительно упрощает администрирование, повышает точность и снижает вероятность ошибок. В данной статье рассмотрим, как написать PowerShell-скрипт для добавления нового пользователя в AD.
Предварительные требования
Перед созданием пользователя через PowerShell необходимо:
- Иметь учетную запись с правами администратора домена.
- Убедиться, что на компьютере установлен RSAT (Remote Server Administration Tools).
- Импортировать модуль Active Directory в PowerShell:
Import-Module ActiveDirectory
- Определить организационную единицу (OU), в которую будет добавлен новый пользователь.
Создание скрипта
1. Определение параметров нового пользователя
Прежде чем добавлять учетную запись, необходимо задать основные параметры, такие как имя, фамилия, логин и пароль. Для этого можно создать переменные в PowerShell:
$GivenName = "Иван"
$Surname = "Петров"
$UserName = "ivan.petrov"
$Password = "P@ssw0rd!"
$OU = "OU=Users,DC=example,DC=com"
2. Создание учетной записи пользователя
После определения параметров создаём нового пользователя с помощью команды New-ADUser
:
New-ADUser -SamAccountName $UserName `
-UserPrincipalName "$UserName@example.com" `
-Name "$GivenName $Surname" `
-GivenName $GivenName `
-Surname $Surname `
-DisplayName "$GivenName $Surname" `
-Path $OU `
-AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) `
-Enabled $true `
-ChangePasswordAtLogon $true `
-PassThru
Этот код добавляет пользователя с указанными параметрами в AD и делает его учетную запись активной.
3. Дополнительные настройки
Можно добавить пользователя в определенную группу, чтобы задать ему нужные права:
Add-ADGroupMember -Identity "IT_Users" -Members $UserName
Если требуется создать несколько пользователей одновременно, можно использовать CSV
-файл:
$users = Import-Csv "C:\users.csv"
foreach ($user in $users) {
New-ADUser -SamAccountName $user.UserName `
-UserPrincipalName "$($user.UserName)@example.com" `
-Name "$($user.GivenName) $($user.Surname)" `
-GivenName $user.GivenName `
-Surname $user.Surname `
-DisplayName "$($user.GivenName) $($user.Surname)" `
-Path $OU `
-AccountPassword (ConvertTo-SecureString $user.Password -AsPlainText -Force) `
-Enabled $true `
-PassThru
}
Что должно быть в CSV-файле
В CSV-файле должны быть столбцы с данными, необходимыми для создания пользователей в Active Directory:
GivenName,Surname,UserName,Password
Иван,Петров,ivan.petrov,P@ssw0rd!
Алексей,Сидоров,alexey.sidorov,P@ssw0rd2
Мария,Иванова,maria.ivanova,P@ssw0rd3
Разъяснение столбцов:
- GivenName – имя пользователя.
- Surname – фамилия.
- UserName – логин (SamAccountName в AD).
- Password – пароль (можно заменить на сгенерированный при создании).
Файл users.csv
должен быть сохранен в формате UTF-8 без BOM, чтобы избежать проблем с кодировкой в PowerShell.
Если тебе нужно добавить дополнительные параметры, например должность или email, можно расширить CSV-файл:
GivenName,Surname,UserName,Password,Title,Email
Иван,Петров,ivan.petrov,P@ssw0rd!,Системный администратор,ivan.petrov@example.com
Алексей,Сидоров,alexey.sidorov,P@ssw0rd2,Менеджер IT,alexey.sidorov@example.com
Мария,Иванова,maria.ivanova,P@ssw0rd3,Разработчик,maria.ivanova@example.com
Заключение
Использование PowerShell для автоматического создания пользователей в Active Directory значительно экономит время и снижает риск ошибок. Скрипт можно модифицировать и расширять, добавляя дополнительные параметры и функции.