Сброс пароля учетной записи компьютера

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

Теория

В Active Directory класс"компьютер" является производным от класса "пользователь", соответственно, любая учетная запись компьютера содержит атрибут с паролем также, как и все обычные пользователи.

Для подключения к домену компьютер использует так называемый security channel (защищенный канал), по которому сообщает контроллеру домена свои данные (имя компьютера и пароль).

Пароль учетной записи компьютера устанавливается автоматически и так же автоматически меняется по инициативе локального компьютера с периодичностью раз в 30 дней (в Windows NT раз в 7 дней). Периодичность определяется ключом реестра HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters REG_DWORD:MaximumPasswordAge по умолчанию равному 30.

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

Напрашивающееся решение проблемы – принудительный сброс и синхронизация пароля между компьютером и контроллером домена. Вопрос только как это правильно сделать.

Практика

Привычный (неправильный) набор действий:

  1. Запуск консоли Active Directory Users and Computers;
  2. Сброс учетной записи компьютера через контекстное меню (Reset Account).
    image

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

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

Правильный набор действий.

  1. Входим в локальный компьютер с использованием учетной записи локального администратора;
  2. Открываем командную строку (Start -> Run... -> cmd);
  3. Набираем команду
    netdom resetpwd /server:<имя_контроллера_домена>
                                 /userD:<имя_домена>\<имя_администратора_домена> 
                                 /passwordD:<пароль_администратора_домена>
    Например,
    C:\>netdom resetpwd /server:DC1 /userd:contoso\administrator
    /passwordd:P@ssw0rd
  4. Выходим из сессии локального администратора (logoff);
  5. Вуаля! Логинимся доменной учетной записью без всяких перезагрузок!

Улыбка

Полный синтаксис команды доступен по команде netdom resetpwd /?

Внимание! Ключ PasswordD пишется с ДВУМЯ буковками "D" на конце (что явно подчеркивает, что в команде имя пользователя и пароль указываются именно для ДОМЕННОГО администратора).

 

Дополнительная информация

Если сбои из-за рассинхронизации пароля происходят часто, советую обратить внимание на статью KB154501 "How to disable automatic machine account password changes" http://support.microsoft.com/kb/154501
и статью KB175468 "Effects of machine account replication on a domain" http://support.microsoft.com/kb/175468. В них рассказано, как отключить автоматическую смену пароля через изменения в реестре или через Group Policy.

Утилита NETDOM.EXE доступна на всех серверах Windows Server 2008, в пакете RSAT для Windows 7, а также в составе Windows Support Tools для прежних версий Windows.

 

Выводы

Утилиту NETDOM.EXE, позволяющую корректно и без перезагрузок восстановить secure channel между компьютером и контроллером домена, полезно знать как службе технической поддержки (именно эти специалисты чаще всего встречаются с подобной ошибкой), так и системным администраторам, планирующим процедуры Disaster Recovery для серверов.

7 комментариев:

  1. Спасибо. Всегда считала, что вывод/ввод в домен - это единственный способ решить данную проблему.

    ОтветитьУдалить
  2. спасибо очень помогло!

    ОтветитьУдалить
  3. А если нужно сбросить учетку дополнительного контроллера домена(восстановленного из образа к примеру), команду можно использовать? В таком же синтаксисе?

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

    ОтветитьУдалить
  5. Анонимный19 мая 2012 г., 13:11

    Поправьте команду в примере,в ней обязательно имя сервера нужно указать.
    netdom resetpwd /s:server2 /ud:mydomain\administrator /pd:*

    ОтветитьУдалить
    Ответы
    1. Исправил. Спасибо за свежий взгляд :-)

      Удалить
  6. Добрый вечер, я в своей практике использовал одну перезагрузку для перезаведения комп-ра в домен. просто полное имя домена менял на Netbios Name и нажимал сохранить. при этом комп-р просит пароль доменного админа и перезагрузку, после чего комп-р снова в строю =)

    ОтветитьУдалить