Массовое создание пользователей в Active Directory

Массовое создание пользователей в Active Directory

Создание пользователей Active Directory через PowerShell скрипт

Введение

Администрирование корпоративной инфраструктуры требует высокой эффективности и точности. Ручное создание учетных записей занимает много времени, особенно при массовом найме, и подвержено человеческим ошибкам. Когда требуется ввести в должность целый отдел из 50 сотрудников, автоматизация становится не просто удобством, а необходимостью. Современные инструменты Windows Server позволяют решать эту задачу быстро и безопасно. В данной статье мы рассмотрим надежный метод автоматизации через консоль управления, который исключает рутину и стандартизирует процесс.

Подготовка исходных данных

Перед запуском автоматизации необходимо тщательно структурировать информацию. Стандартным форматом для хранения данных является CSV, так как он легко читается скриптами и редактируется в Excel. Файл должен содержать обязательные атрибуты: имя, фамилию, логин (SAMAccountName), временный пароль и целевое подразделение (OU). Это гарантирует, что импорт пользователей AD PowerShell скрипт пройдет без сбоев и данные корректно запишутся в базу. Убедитесь, что кодировка файла UTF-8, чтобы избежать проблем с кириллицей при чтении имен и фамилий.

Реализация через PowerShell

Модуль Active Directory предоставляет мощный командлет New-ADUser. Ниже приведен пример кода, который читает CSV-файл и создает объекты. Обратите внимание на обработку паролей и принудительное включение учетных записей. Скрипт проверяет наличие модуля и последовательно обрабатывает каждую строку файла, создавая полноценные объекты безопасности.

Import-Module ActiveDirectory
# Импорт данных из CSV файла
$Users = Import-Csv -Path "C:\NewUsers.csv" -Encoding UTF8

foreach ($User in $Users) {
    # Формирование полного имени
    $FullName = "$($User.FirstName) $($User.LastName)"
    
    # Создание учетной записи в домене
    New-ADUser -Name $FullName `
               -SamAccountName $User.Login `
               -UserPrincipalName "$($User.Login)@domain.local" `
               -AccountPassword (ConvertTo-SecureString $User.Password -AsPlainText -Force) `
               -Enabled $true `
               -Path $User.OU `
               -ChangePasswordAtLogon $true
}

Параметры командлета

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

Параметр Описание Пример значения
-Name Полное отображаемое имя Ivan Ivanov
-SamAccountName Логин для входа в домен iivanov
-Enabled Статус учетной записи $true
-Path Путь к подразделению OU=Sales,DC=domain,DC=local
-ChangePasswordAtLogon Требовать смену пароля $true

Проверка и безопасность

После выполнения следует проверить Active Directory через оснастку ADUC или командлет Get-ADUser. Убедитесь, что новые пользователи находятся в правильных OU и могут авторизоваться. Важно удалить исходный CSV-файл с паролями после завершения работы, чтобы не компрометировать безопасность. Также рекомендуется настроить политику паролей так, чтобы пользователи сменили их при первом входе. Это соответствует лучшим практикам информационной безопасности.

Вопрос-ответ (FAQ)

Вопрос 1: Что делать, если скрипт выдает ошибку доступа?

Ответ 1: Убедитесь, что вы запустили PowerShell от имени администратора и у вашей учетной записи есть права на создание объектов в целевом подразделении домена.

Вопрос 2: Можно ли создать пользователей без пароля?

Ответ 2: Нет, политики домена обычно требуют сложности пароля. Используйте генератор случайных паролей в CSV-файле перед запуском скрипта.

Вопрос 3: Как откатить изменения при ошибке?

Ответ 3: Используйте Remove-ADUser для удаленных записей или восстановите состояние системы из резервной копии контроллера домена.

Обсуждение закрыто.