Создание пользователей при помощи PowerShell

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

Для создания нового пользователя в домене Active Directory используется командлет New-ADUser, большинство значений свойств которого можно добавлять при помощи параметров данного командлета. Для отображения имени LDAP используется параметр –Path. Данный параметр задает контейнер или подразделение (OU) для нового пользователя. Если параметр Path не задан, командлет создает объект пользователя в контейнере по умолчанию для объектов пользователя в данном домене, то есть в контейнере Users. Для того чтобы указать пароль, используется параметр –AccountPassword со значением (Read-Host -AsSecureString "Пароль для вашей учетной записи"). Также стоит обязательно обратить внимание на то, что значением параметра –Country выступает именно код страны или региона выбранного пользователем языка. Синтаксис командлета следующий:

New-ADUser [-Name] <string> [-AccountExpirationDate <System.Nullable[System.DateTime]>] [-AccountNotDelegated<System.Nullable[bool]>] [-AccountPassword <SecureString>] [-AllowReversiblePasswordEncryption <System.Nullable[bool]>][-AuthType {Negotiate | Basic}] [-CannotChangePassword <System.Nullable[bool]>] [-Certificates <X509Certificate[]>][-ChangePasswordAtLogon <System.Nullable[bool]>] [-City <string>] [-Company <string>] [-Country <string>][-Credential <PSCredential>] [-Department <string>] [-Description <string>] [-DisplayName <string>][-Division <string>] [-EmailAddress <string>] [-EmployeeID <string>] [-EmployeeNumber <string>][-Enabled <System.Nullable[bool]>] [-Fax <string>] [-GivenName <string>] [-HomeDirectory <string>][-HomeDrive <string>] [-HomePage <string>] [-HomePhone <string>] [-Initials <string>] [-Instance <ADUser>][-LogonWorkstations <string>] [-Manager <ADUser>] [-MobilePhone <string>] [-Office <string>] [-OfficePhone<string>] [-Organization <string>] [-OtherAttributes <hashtable>] [-OtherName <string>] [-PassThru <switch>][-PasswordNeverExpires <System.Nullable[bool]>] [-PasswordNotRequired <System.Nullable[bool]>] [-Path <string>] [-POBox<string>] [-PostalCode <string>] [-ProfilePath <string>] [-SamAccountName <string>] [-ScriptPath <string>][-Server <string>] [-ServicePrincipalNames <string[]>] [-SmartcardLogonRequired <System.Nullable[bool]>] [-State <string>][-StreetAddress <string>] [-Surname <string>] [-Title <string>] [-TrustedForDelegation <System.Nullable[bool]>][-Type <string>] [-UserPrincipalName <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Как видно из данного синтаксиса, нет смысла описывать все параметры, так как они идентичны атрибутам принципала безопасности и не нуждаются в объяснениях. Посмотрим на пример использования:

New-ADUser -SamAccountName 'Evgeniy.Romanov' -Name 'Евгений Романов' -GivenName 'Евгений' -Surname 'Романов' -DisplayName'Евгений Романов' -Path 'OU=Маркетинг,OU=Пользователи,DC=testdomain,DC=com' -CannotChangePassword $false-ChangePasswordAtLogon $true -City 'Херсон' -State 'Херсон' -Country UA -Department 'Маркетинг' -Title 'Маркетолог'-UserPrincipalName 'Evgeniy.Romanov@testdomain.com' -EmailAddress 'evgeniy.romanov@testdomain.com' -Enabled $true-AccountPassword (Read-Host -AsSecureString "AccountPassword")


Рис. 10. Создание учетной записи пользователя средствами Windows PowerShell

Контрольные вопросы

1. Создание пользователей при помощи оснастки «Active Directory – пользователи и компьютеры»