Материал: Книга Active directory

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Занятие 3

Поддержка пользовательских объектов и учетных записей

123

DN. После ввода последнего DN и нажатия Enter нажмите комбинацию клавиш Ctrl+Z в начале следующей строки, а затем клавишу Enter, чтобы указать завершение команды. Команда будет выполнена для каждого введенного DN.

Более сложный способ состоит в передаче DN-имен команде Dsmod путем их помещения в конвейер результатов команды Dsquery. Команда Dsquery описана в главе 2. Она выполняет в Active Directory поиск согласно указанному критерию и возвращает DN - имена соответствующих объектов. Например, для изменения атрибута office (Комната) учетных записей пользователей Линда и Скотт Митчелл и их перемещения в офис Сидней используйте следующую команду:

dsquery user -name "• Митчелл" | dsmod user

- o f f i c e

"Сидней"

Команда DSMOD USER выполняет в

Active

Directory поиск пользователей,

имена которых заканчиваются словом Митчелл. Затем DN-имена найденных объектов помещаются в конвейер команды DSMOD USER, которая назначает д л я атрибута office значение Сидней.

В качестве еще одного примера предположим, что для всех пользователей требуется назначить д о м а ш н ю ю папку на машине SERVER01. Следующая команда меняет атрибуты homeDirectory и homeDrive объектов пользователей в подразделении Кадры:

dsquery

user "ои=Кадры,dc=contoso,dc=com" | dsmod user

-hmdir

"\\server01\users\%username%\documents" -hmdrv "U:"

Как мы уже говорили на занятии 1, при настройке значений параметров

-email,

-hmdir, -profile и -webpg с помощью команды DS можно использовать

специальный маркер %username% для представления атрибута sAMAccountName

объектов

пользователей.

К о м а н д а

Dsget

Команда Dsget извлекает и выводит выбранные атрибуты одного или нескольких объектов. Д а л е е показан синтаксис этой команды, который аналогичен синтаксису Dsmod:

dsget user ОЫ_попьзоватепя. . . параметры

DN-имена для множества пользователей можно указать в командной строке, разделив их пробелами, ввести в консоль или поместить результаты команды DSQUERY USER в конвейер. В отличие от Dsadd и Dsmod команда Dsget принимает только параметр без значения. В частности, она принимает параметр samid, как и команда Dsadd, однако не принимает значение. Вместо этого она выводит текущее значение атрибута. Например, д л я отображения имени входа пред - Windows 2000 пользователя Д ж е ф ф Ф о р д в подразделении Кадры используйте следующую команду:

dsget user "сп=Джефф Форд,ои=Кадры,dc=contoso,dc=com" -samid

Д л я отображения имен входа пред-Windows 2000 всех пользователей в комнате Сидней используйте следующую команду:

dsquery user - o f f i c e "Сидней" | dsget user -samid

-) 124 Пользователи Глава з

Управление атрибутами пользователей

с помощью Windows PowerShell и VBScript

Для чтения атрибута объекта пользователя с помощью Windows PowerShell или VBScript используется интерфейс ADSI, который подключается к объекту пользователя. Этот процесс называется привязкой. На занятии 2 мы подключались к подразделению для создания объекта. К существующему объекту можно подключиться напрямую. Один из способов выполнения этой задачи состоит в использовании пути к службам каталогов a D S P a t h (Active Directory Services Path) объекта, которым является моникер протокола L D A P : / / с отличительным именем объекта.

Далее приведена команда Windows PowerShell для подключения к учетной записи пользователя Джефф Форд в подразделении Кадры: $objUser=[ADSI]"LDAP://cn=fl)Ke(txt> ®opfl,ou=KaflPbi,dc=contoso, dc=com"

А вот аналогичная команда VBScript:

Set obj User=GetObject("LDAP://сп=Джефф Форд, ои=Кадры,dc=contoso,dc=com"

Помните, что Windows PowerShell указывает интерфейс ADSI, a VBScript использует инструкцию GetObject. Для назначения объектной ссылки переменной в VBScript предназначена инструкция Set. В Windows PowerShell инструкция Set не используется, а все переменные помечены префиксом в виде знака доллара.

После получения переменной, ссылающейся

на объект, м о ж н о

извлечь

ее свойства. Например, в Windows PowerShell

д л я и з в л е ч е н и я

атрибута

sAMAccountName пользователя введите такую команду:

 

SobjUser.GetC'sAMAccountName")

 

 

В VBScript нужно указать на извлечение атрибута. Обычно д л я этого используется инструкция WScript.Echo, как показано в примере:

WScript.Echo objUser.GetC'sAMAccountName")

Довольно часто вам будет встречаться укороченный формат .свойство, например: $objUser.sAMAccountName в Windows PowerShell и objUser.,sAMAccountName

в VBScript. Хотя этот метод в большинстве случаев работает, рекомендуется использовать метод Get, особенно при работе с объектами Active Directory в Windows PowerShell.

Процесс модификации атрибута состоит из трех шагов. .

1.Подключение к объекту пользователя.

2.Модификация атрибута.

3.Подтверждение изменения.

Мы уже обсуждали механизм подключения к объекту. Второй шаг состоит

визменении атрибута. Большинство атрибутов являются однозначными. Их можно модифицировать с помощью метода Put объекта. Далее показан пример использования этого метода в Windows PowerShell:

SobjUser.putC'company","Contoso, Ltd.")

Занятие 3

Поддержка пользовательских объектов и учетных записей

125

А так метод Put используется в VBScript: objUser.put "company",."Contoso, Ltd."

Единственная разница заключается в том, что VBScript не использует круглые скобки д л я передачи параметров методу Put.

Во втором шаге можно назначить много атрибутов. После указания всех атрибутов нужно подтвердить изменения в каталоге с помощью метода Setlnfo. Далее приведена версия использования этого метода в Windows PowerShell:

SobjUser!SetlnfoC)

Версия метода Setlnfo в VBScript идентична, если не считать имени переменной:

objUser.SetInfo()

Объединив все три шага вместе, мы получим сценарий Windows PowerShell: $objUser=[ADSI]"LDAP://сп=Джефф Форд, ои=Кадры,dc=contoso,dc=com" SobjUser.putC'company", "Contoso, Ltd.")

{objUser.SetlnfoO

Далее показан этот же сценарий в VBScript:

Set obj Use r=GetObj ect (" LDAP: //сп=Джефф Форд, ои=Кадры, dc=contoso, dc=com" objUser.put "company","Contoso, Ltd."

objUser.SetlnfoO

Как полностью удалить атрибут? Вначале нужно подключиться к объекту. Затем строковому атрибуту можно присвоить пустую строку "", а числовому — значение О, если нуль является соответствующим представлением значения EMPTY. Однако атрибуты (кроме обязательных) также можно удалять полностью. Д л я этого нужно использовать метод PutEx объекта пользователя. Д л я удаления атрибута office, к примеру, в Windows PowerShell используется следующий код:

SobjUser.PutEx(1, "office", 0) SobjUser.SetlnfoO

В VBScript д л я удаления атрибута нужно ввести следующие строки кода: objUser.PutEx 1, "office", 0

objUser.SetlnfoO

Администрирование учетных записей пользователей

Основное н а з н а ч е н и е объектов пользователей в Active Directory состоит в поддержке проверки подлинности лица или службы. Учетные записи предоставляются, администрируются и в конечном счете аннулируются. Самые распространенные административные задачи, связанные с учетными записями пользователей, состоят в сбросе паролей, разблокировке учетной записи, отключении, включении, удалении, перемещении и переименовании объектов пользователей.

Вследующих подразделах описаны все эти задачи и методы их выполнения

спомощью интерфейса Windows, Windows PowerShell, VBScript или командной

-) 126

Пользователи

Глава з

строки. Для выполнения каждой задачи требуются соответствующие разрешения доступа к объектам пользователей. Делегирование административных разрешений описано в глане 2.

Сброс пароля пользователя

Если пользователь забыл свой пароль и пытается войти в сеть, он получит сообщение, показанное на рис. 3-7.

. " ; -.!'. * .'. • .••••

1

о ^Jiial^

•t «t • Ш view

VM

Turn

Windo*j

help

 

• 0 J.

2

. :

Ю О З • © Й

 

Ш И Ш Ш Ш Ш !

 

 

 

 

 

 

 

 

*

"

 

 

 

 

f X ) Н«<р«ое юм пользователя или пароль.

 

 

 

 

 

 

 

 

 

1 OK

1

 

 

 

 

 

 

 

 

 

 

 

 

Windows S e r v e r s

 

 

 

 

 

 

 

 

 

Enterprise

 

 

 

 

 

 

1

-•-

 

j •

_-.__.

 

J

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3-7.

Сообщение входа в систему, указывающее, что введено неверное имя пользователя

(или пароль)

 

 

 

 

 

 

 

 

 

 

 

Для успешного входа пользователя потребуется сбросить пароль, причем знать его старый пароль не нужно. Достаточно щелкнуть правой кнопкой мыши объект пользователя в Active Directory и применить команду Смена пароля (Reset Password). Когда откроется показанное на рис. 3-8 диалоговое окно Смена пароля (Reset Password), необходимо заполнить поля Н о в ы й пароль (New Password) и Подтверждение (Confirm Password). Это лучший метод потребовать смены пароля при следующем входе — пароль будет известен только пользователю.

твшиаявш..,.'.,

л\*1

НшьА парам,

ПсдттС"Ди«'Я

Р Тс*6'.ег>ть о-ему лкхя» rpn слевугшем ав систол,

НеоС,01ммо1ьат1'.из»ст**ы,,еаП1мв(*пем/ «ндо.чтобы

ИЭТ«Т»«Вбегут*/*s С'1Г;

Смтоаппввпгмтасвтм , четна, запий, па ftuvioc мхтроплкзп

Г разблокировать уиемро запись пользователя

| СК | Отмена j

Рис. 3-8. Окно смены пароля

Занятие 3

Поддержка пользовательских объектов и учетных записей

1 2 7

Вы также можете применить команду DS для сброса пароля пользователя и при желании потребовать сменить пароль при следующем входе пользователя. Введите такую команду:

dsmod user ОН_пользователя -pwd Новый_пароль -mustchpwd yes

В Windows PowerShell нужно ввести следующие команды:

Sobj User=[ADSI]"LDAP://ОЫ_пользователя"

SobjUser.SetPassword("Новый_пароль")

Отметим, что в отличие от ситуации с другими атрибутами метод Setlnfo не используется после применения команды SetPassword для настройки пароля пользователя. Однако чтобы потребовать сменить пароли при следующем входе, нужно задать такие команды:

SobjUser.Put ("pwdLastSet",0) SobjUser. S e t l n f o O

В VBScript код аналогичен:

Set obj User=GetObj ect("LDAP://0Ц_пользователя") objUser.SetPassword "Новый_пароль"

objUser.Put "pwdLastSet",0 objUser . Setlnfo

Пароли даже можно импортировать с помощью команды LDIFDE, описанной в занятии 1. Дополнительные сведения вы найдете в статье 263991 базы знаний Microsoft по адресу http://support.microsoft.com/default.aspx?scid=kb;enus;263991.

Разблокировка учетной записи

В главе 8 описана настройка политики паролей и блокировки учетных записей. П о л и т и к а б л о к и р о в к и предназначена для защиты от проникновения в корпоративную сеть путем многократного ввода различных паролей с целью определить корректный . При попытке входа с использованием некорректного пароля генерируется ошибка входа. Если в течение указанного периода времени, определенного политикой блокировки, возникает слишком много ошибок входа, учетная запись блокируется. При следующей попытке входа появляется сообщение о блокировке учетной записи.

ПРИМЕЧАНИЕ

Подключенные диски с альтернативными учетными данными

Распространенной причиной блокировок учетных записей является подключенный диск с альтернативными учетными записями. В случае изменения пароля альтернативной учетной записи и многократных попыток клиента Windows подключиться к диску учетная запись блокируется.

Политика блокировки учетных записей устанавливает период времени, по истечении которого выполняется автоматическое разблокирование учетной записи. Однако пользователь, пытающийся войти в сеть и обнаруживающий, что его учетная запись заблокирована, наверняка обратится в группу технической поддержки. Чтобы разблокировать учетную запись, щелкните ее правой кнопкой мыши, выберите пункт Свойства (Properties), перейдите на вкладку Учетная запись (Account) и установите флажок Разблокировать учетную запись ( Unlock Account).

Источник: https://studfile.net/preview/16435895/