Создание учетных записей пользователей в Active DirectoryВведениеОсновополагающим компонентом доменных служб в каждой организации являются принципалы безопасности (оригинальное название — Security Principal), которые предоставляют пользователей, группы или компьютеры, которым требуется доступ к определенным ресурсам в сети. Именно таким объектам, как принципалам безопасности можно предоставлять разрешения доступа к ресурсам в сети, причем каждому принципалу во время создания объекта присваивается уникальный идентификатор безопасности (SID), который состоит из двух частей. Идентификатором безопасности SID называется числовое представление, которое уникально идентифицирует принципал безопасности. Первая часть такого идентификатора представляет собой идентификатор домена. Ввиду того, что принципалы безопасности расположены в одном домене, всем таким объектам присваивается один и тот же идентификатор домена. Второй частью SID является относительный идентификатор (RID), который используется для уникальной идентификации принципала безопасности по отношению к ведомству, которое выдает SID. Несмотря на то, что планирование и развертывание инфраструктуры доменных служб в большинстве организаций выполняется лишь один раз и в большинство объектов изменения вносятся очень редко, к важному исключению из этого правила можно отнести принципалы безопасности, которые необходимо периодически добавлять, изменять, а также удалять. Одним из основополагающих компонента идентификации являются учетные записи пользователей. По сути, учетные записи пользователей представляют собой физические объекты, в основном людей, которые являются сотрудниками вашей организации, но бывают исключения, когда учетные записи пользователей создаются для некоторых приложений в качестве служб. Учетные записи пользователей играют важнейшую роль в администрировании предприятии. К таким ролям можно отнести:
Объекты учетных записей пользователей можно отнести к самым распространенным объектам в Active Directory. Именно пользовательским учетным записям администраторы обязаны уделять особое внимание, так как пользователям свойственно приходить работать в организацию, перемещаться между отделами и офисами, жениться, выходить замуж, разводиться и даже увольняться из компании. Такие объекты представляют собой набор атрибутов, причем только одна пользовательская учетная запись может содержать свыше 250 различных атрибутов, что в несколько раз превышает количество атрибутов на рабочих станциях и компьютеров, работающих под операционной системой Linux. Во время создания учетной записи пользователя создается ограниченный набор атрибутов, а уже потом вы можете добавлять такие пользовательские учетные данные как организационные сведения, адреса проживания пользователей, телефонные номера и многое другое. Поэтому важно обратить внимание на то, что одни атрибуты являются обязательными, а остальные — опциональными. В этой статье я расскажу о ключевых методах создания пользовательских учетных записей, о некоторых опциональных атрибутах, а также будут описаны средства, позволяющие автоматизировать рутинные действия, связанные с созданием учетных записей пользователей.
Создание пользователей при помощи оснастки «Active Directory — пользователи и компьютеры»В подавляющем большинстве случаев системные администраторы для создания основных принципалов безопасности предпочитают использовать оснастку «Active Directory — пользователи и компьютеры», которая добавляется в папку «Администрирование» сразу после установки роли «Доменные службы Active Directory» и повышения сервера до контролера домена. Этот метод является наиболее удобным, так как для создания принципалов безопасности используется графический пользовательский интерфейс и мастер создания учетных записей пользователя очень прост в применении. К недостатку данного метода можно отнести тот момент, что при создании учетной записи пользователя вы не можете сразу задать большинство атрибутов, и вам придется добавлять необходимые атрибуты путем редактирования учетной записи. Для того чтобы создать пользовательскую учетную запись, выполните следующие действия:
Рис. 1. Оснастки «Active Directory — пользователи и компьютеры» и создание нового пользователя
После того как заполните все требуемые поля, нажмите на кнопку «Далее»: Рис. 2. Диалоговое окно создания пользовательской учетной записи
Рис. 3. Создание пароля для создаваемой учетной записи
Создание пользователей на основании шаблоновОбычно в организациях существует множество подразделений или отделов, в которые входят ваши пользователи. В этих подразделениях пользователи обладают схожими свойствами (например, название отдела, должности, номер кабинета и пр.). Для наиболее эффективного управления учетными записями пользователей из одного подразделения, например, используя групповые политики, целесообразно их создавать внутри домена в специальных подразделениях (иначе говоря, контейнерах) на основании шаблонов. Шаблоном учетной записиназывается учетная запись, впервые появившаяся еще во времена операционных систем Windows NT, в которой заранее заполнены общие для всех создаваемых пользователей атрибуты. Для того чтобы создать шаблон учетной записи пользователя, выполните следующие действия:
Рис. 4. Свойства учетной записи пользователя
Рис. 5. Диалоговое окно копирования пользовательской учетной записи
Создание пользователей средствами командной строкиКак и в большинстве случаев, в операционной системе Windows есть утилиты командной строки с аналогичными функциями графического пользовательского интерфейса оснастки «Active Directory — пользователи и компьютеры». Такие команды называются командами DS, так как они начинаются с букв DS. Для создания принципалов безопасности используется команда Dsadd. После самой команды указываются модификаторы, которые определяют тип и имя DN объекта. В случае с созданием учетных записей пользователей вам нужно указать модификатор user, который является типом объекта. После типа объекта необходимо ввести DN имя самого объекта. DN (Distinguished Name) объекта является результирующим набором, который содержит отличительное имя. Следом за DN обычно указывают имя пользователя UPN или имя входа предыдущих версий Windows. Если в имени DN присутствуют пробелы, то такое имя нужно заключить в кавычки. Синтаксис команды следующий: Dsadd user DN_имя —samid имя_учетной_записи —UPN_имя —pwd пароль —дополнительные параметры С данной командой можно использовать 41 параметр. Рассмотрим самые распространенные из них: -samid — имя учетной записи пользователя; -upn — имя входа пользователя пред-Windows 2000; -fn — имя пользователя, которое в графическом интерфейсе заполняется в поле«Имя»; -mi — инициал пользователя; -ln — фамилия пользователя, указываемая в поле «Фамилия» мастера создания пользовательской учетной записи; -display — указывает полное имя пользователя, которое автоматически генерируется в пользовательском интерфейсе; -empid — код сотрудника, который создается для пользователя; -pwd — параметр, определяющий пользовательский пароль. В том случае, если вы укажете символ звездочки (*), вам будет предложено ввести пароль пользователя в защищенном от просмотра режиме; -desc — краткое описание для пользовательской учетной записи; -memberof — параметр, определяющий членство пользователя в одной или нескольких группах; -office — местонахождения офиса, где работает пользователь. В свойствах учетной записи этот параметр можно найти во вкладке «Организация»; -tel — номер контактного телефона текущего пользователя; -email — адрес электронной почты пользователя, который можно найти во вкладке«Общие»; -hometel — параметр, указывающий номер домашнего телефона пользователя; -mobile — телефонный номер мобильного пользователя; -fax — номер факсимильного аппарата, который использует текущий пользователь; -title — должность пользователя в данной организации; -dept — этот параметр позволяет указать наименование отдела, в котором работает данный пользователь; -company — название компании, в которой работает создаваемый пользователь; -hmdir — основной каталог пользователя, в котором будут расположены его документы; -hmdrv — путь к сетевому диску, на котором будет размещена домашняя папка учетной записи -profile — путь профиля пользователя; -mustchpwd — данный параметр указывает на то, что при последующем входе в систему пользователь обязан изменить свой пароль; -canchpwd — параметр, определяющий, должен ли пользователь изменять свой пароль. Если значением параметра указано «yes», то у пользователя будет возможность изменения пароля; -reversiblepwd — текущий параметр определяет хранение пароля пользователя с применением обратного шифрования; -pwdneverexpires — параметр, указывающий на то, что срок действия пароля никогда не истечет. Во всех этих четырех параметрах, значениями могут выступать только «yes» или «no»; -acctexpires — параметр, определяющий, через сколько дней срок действия учетной записи истечет. Положительное значение представляет собой количество дней, через которое учетная запись истечет, а отрицательное означает, что срок действия уже закончен; -disabled — указывает, что учетная запись уже отключена. Значениями для этого параметра также выступают "yes«или «no»; -q — указание тихого режима для обработки команды. Пример использования: Dsadd user «cn=Алексей Смирнов,OU=Маркетинг,OU=Пользователи,DC=testdomain,DC=com» -samid Alexey.Smirnov -upn Alexey.Smirnov -pwd * -fn Алексей -ln Смирнов -display «Алексей Смирнов» -tel «743-49-62» -email Alexey.Smirnov@testdomain.com -dept Маркетинг -company TestDomain -title Маркетолог -hmdir \\dc\profiles\Alexey.Smirnov -hmdrv X -mustchpwd yes -disabled no Рис. 6. Создание пользовательской учетной записи средствами утилиты Dsadd
Создание пользователей при помощи команды CSVDEЕще одна утилита командной строки CSVDE позволяет импортировать или экспортировать объекты Active Direcoty, представленные в виде cvd-файла —текстового файла с разделительными запятыми, которые можно создавать при помощи табличного процессора Microsoft Excel или простейшего текстового редактора Блокнот. В этом файле каждый объект представляется одной строкой и должен содержать атрибуты, которые перечислены в первой строке. Стоит обратить внимание на то, что при помощи данной команды вы не можете импортировать пользовательские пароли, то есть, сразу после завершения операции импорта пользовательские учетные записи будут отключены. Пример такого файла следующий: Рис. 7. Представление CSV-файла Синтаксис команды следующий: Csvde —i —f filename.csv —k где:
Пример использования команды: Csvde -i -f d:\testdomainusers.csv -k Рис. 8. Импорт учетных записей пользователей из CSV-файла
Импорт пользователей средствами LDIFDEУтилита командной строки Ldifde позволяет также импортировать или экспортировать объекты Active Directory, используя файловый формат LDIF (Lightweight Directory Access Protocol Data Interchange File). Данный файловый формат состоит из блока строк, которые образуют конкретную операцию. В отличие от файлов CSV, в данном файловом формате каждая отдельная строка представляет собой набор атрибутов, после которого следует двоеточие и само значение текущего атрибута. Также как и в CSV файле, первой строкой обязан быть атрибут DN. За ним следует строка changeType, которая указывает тип операции (add, change или delete). Для того чтобы научиться разбираться в этом файловом формате, вам нужно выучить по крайней мере ключевые атрибуты принципалов безопасности. Пример предоставлен ниже: Рис. 9. Пример LDF файла
Синтаксис команды следующий: Ldifde -i -f filename.csv -k где:
Создание пользователей c помощью VBScriptVBScript является одним из самых мощных инструментов, предназначенных для автоматизации административных задач. Данный инструмент позволяет создавать сценарии, предназначенные для автоматизирования большинства действий, которые могут выполняться посредством пользовательского интерфейса. Сценарии VBScript представляют собой текстовые файлы, которые обычно пользователи могут редактировать при помощи обыкновенных текстовых редакторов (например, Блокнот). А для выполнения сценариев нужно просто дважды щелкнуть мышью по значку самого сценария, который откроется с применением команды Wscript. Для того чтобы создать пользовательскую учетную запись в VBScript не существует определенной команды, поэтому вам сначала нужно подключиться к контейнеру, затем использовать библиотеку адаптеров Active Directory Services Interface (ADSI) при помощи инструкции Get-Object, где выполняется строка запроса LDAP, предоставляющая собой моникер протокола LDAP:// с DN именем объекта. Например, Set objOU=GetObject("LDAP://OU=Маркетинг,OU=Пользователи,dc=testdomain,dc=com"). Вторая строка кода активирует метод Create подразделения для создания объекта конкретного класса с конкретным отличительным именем, например, Set objUser=objOU.Create("user","CN= Юрий Соловьев"). В качестве третьей строки указывается метод Put, где нужно указать наименование атрибута и его значение. Последняя строка данного сценария подтверждает сделанные изменения, то есть objUser.SetInfo(). Пример использования: Set objOU=GetObject("LDAP://OU=Маркетинг,OU=Пользователи,dc=testdomain,dc=com" Set objUser=objOU.Create("user","CN= Юрий Соловьев«) objUser.Put «sAMAccountName»,"Yuriy.Soloviev" objUser.Put «UserPrincipalName» Yuriy.Soloviev@testdomain.com" objUser.Put «givenName»,"Юрий" objUser.Put "sn"Соловьев" objUser.SetInfo()
Создание пользователей при помощи 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
ЗаключениеВ этой статье вы узнали о понятии принципал безопасности и о том, какую роль представляют учетные записи пользователей в доменной среде. Были подробно рассмотрены основные сценарии создания пользовательских учетных записей в домене Active Directory. Вы научились создавать пользовательские учетные записи при помощи оснастки «Active Directory — пользователи и компьютеры», используя шаблоны, утилиты командной строки Dsadd, CSVDE и LDIFDE. Также вы узнали о методе создания пользовательских учетных записей при помощи языка сценариев VBScript и оболочки командной строки Windows PowerShell. Автор статьи:Дмитрий Буланов |