Как с помощью VBScript создавать новых пользователей в Active Directory

В системе Windows Server 2008 для работы с пользователями в Active Directory зачастую применяется утилита под названием VBScript, которая позволяет максимально оптимизировать и автоматизировать системные задачи администратора. VBScript  создает специальные сценарии, которые могут автоматизировать практически все действия пользователя. Сценарии создаются в виде текстовых документов, доступных для изменения в любом текстовом редакторе, например WordPad. Чтоб запустить такой сценарий, достаточно выполнить двойной клик по документу, и он запустится как элемент команды Wscript.

Последовательность создания учетных записей в VBScript

Создать учетную запись в VBScript с помощью командной строки не получится, поэтому пользователю придется проделать ряд несложных действий. Для начала  необходимо выполнить подключение к контейнеру VBScript, затем задействовать специальную библиотеку ADSI или Active Directory Services Interface. Правильность  добавления библиотеки описана в инструкции Get-Object. В ней же пользователь может ввести LDAP-запрос в отведенную строку. Строка запроса представлена в виде протокола моникер-типа LDAP://, включающим в себя DN-имя объекта.

Многострочный запрос

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

Set objOU=GetObject(“LDAP://OU=Менеджмент,OU=Гости,dc=testdomain,dc=com”).

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

Код вида: Set objUser=objOU.Create(“user”,”CN= Максим Иванов”). Третья строка запроса работает с методом Put, здесь нужно присвоить имя атрибуту и задать нужное значение (разбивается на несколько строк, включает в себя также транслитерацию отдельных частей имени пользователя). Завершающая строка сохраняет сделанные изменения, с помощью ввода: objUser.SetInfo().

Модифицированная версия Windows Server 2008 (R2) обзавелась усовершенствованным инструментом Windows PowerShell, который способен управлять объектами службы Active Directory. PowerShell работает на платформе .Net Framework  и является самой мощной средой для работы с командной строкой,  автоматизации действий системных файлов и приложений, а также администрирования. PowerShell оборудован более чем 150-ю командлетами (подслужбами, которые работают с командной строкой), каждый из которых используется для определенных управленческих действий. Оболочка PowerShell представлена в виде одного из компонентов системы Windows.

 

Как использовать командлет New-ADUser

Служба Active Directory позволяет создавать новых пользователей с помощью командлета New-ADUser. Назначение свойств пользователя происходит благодаря присвоению параметров New-ADUser. Например, чтобы отобразить имя LDAP, нужно указать параметр Path. Path указывает специальный контейнер или OU-подраздел, куда будет отправлена новая учетная запись. В случае отсутствия этого параметра командлет поместит пользователя в контейнер Users (используется по умолчанию). Пароль новому пользователю присваивается параметром AccountPassword (указываем также значение Read-Host -AsSecureString «Желаемый пароль к пользователю»). Еще полезный параметр Country, с помощью которого можно указать код страны, а также региональный язык, который будет использовать пользователь. Другие параметры командлета практически идентичны параметрам принципала безопасности и выполняют те же функции.

Примером использования командлета может послужить код вида:

New-ADUser -SamAccountName 'Maksim.Ivanov'-Name 'Максим Иванов' -GivenName 'Максим' -Surname 'Иванов' -DisplayName
'Максим Иванов' -Path 'OU=Менеджемент,OU=Гости(Пользователи),DC=testdomain,DC=com' -CannotChangePassword $false
-ChangePasswordAtLogon $true -City 'Киев' -State 'Киев' -Country UA -Department 'Менеджмент' -Title 'Менеджер'
-UserPrincipalName 'Maksim.Ivanov@testdomain.com' -EmailAddress maksim.ivanov@testdomain.com' -Enabled $true
-AccountPassword (Read-Host -AsSecureString "Пароль к учетной записи")