Смена пароля пользователя windows server 2008

Обновлено: 03.07.2024

Способ 1

В следующем окне выбираем запуск командной строки.

Теперь нам надо файл utilman.exe, находящийся в папке windows\system32, заменить на cmd.exe. Вводим в командной строке:

move D:\windows\system32\utilman.exe D:\windows\system32\utilman.bak
copy D:\windows\system32\cmd.exe D:\windows\system32\utilman.exe

Обратите внимание, что буква диска может отличаться, в зависимости от конфигурации системы. В нашем случае это диск D.

Загружаем Windows и дожидаемся окна приветствия. В окне кликаем мышкой на значке специальных возможностей или нажимаем Win+U.

net user administrator P@$$w0rd

Закрываем командную строку и вводим учетную запись доменного админа с новым паролем.

Дело сделано, пароль сброшен. Можно заходить в систему и делать все что захотим.

Остается только вернуть на место utilman.exe. Для этого придется еще раз загрузиться с установочного диска, и в командной строке ввести:

delete D:\windows\system32\utilman.exe
move D:\windows\system32\utilman.bak D:\windows\system32\utilman.exe

Способ 2

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

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

Выбрав диск, указываем путь к файлам реестра (обычно windows\system32\config).

Выбираем, какие разделы реестра загружать для редактирования. За учетные записи отвечают разделы SAM, System и Security.

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

И выбираем из списка пользователя, которого будем редактировать. Предупрежу сразу, русские буквы программа не понимает, и если вместо Administrator мы видим непонятный набор символов, то следует указать RID пользователя, как в примере.

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

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

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

cd c:\temp
instsrv PassRecovery c:\temp\srvany.exe

Таким образом INSTSRV устанавливает SRVANY как службу с названием PassRecovery.

Служба установлена, теперь нужно ее настроить. Открываем редактор реестра и идем в раздел HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PassRecovery. Как видно из названия, этот раздел был создан при установке службы PassRecovery.

Теперь осталось настроить параметры запуска службы. Открываем оснастку Службы (Services) и находим в ней службу PassRecovery.

Перезагружаем сервер и заходим в систему с учетной записью администратора и новым паролем.

Убедившись что пароль сброшен, запускаем командную строку, останавливаем созданную нами службу и удаляем ее:

net stop PassRecovery
sc delete PassRecovery

И удаляем все из папки C:\temp.

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

На этом все, и надеюсь что вам не придется взламывать пароль на своих (и тем более чужих) серверах.

С миру по нитке. В своём блоге я стараюсь не публиковать решение проблем, которые легко нагуглить. Большинство моих статей - сборная солянка из множества методов, один из которых обязательно поможет именно вам.

суббота, 5 июля 2014 г.

Сброс пароля пользователя Windows 7 и Windows Server 2008/2008 R2

Я рассмотрю несколько способов сброса пароля пользователя средствами самой системы, без привлечения стороннего ПО.

Для этого нам понадобится только установочный диск или USB-флешка с Windows Server 2008/2008 R2 или Windows Vista/7.

Первоначальный этап для первых трёх способов одинаков:

  1. Грузимся с диска/флэшки.
  2. На экране с кнопкой Установить выбираем в левом нижнем углу ссылку Восстановление системы;
  3. На следующем экране выставляем переключатель в верхнюю позицию ("Используйте средство восстановления. ") и нажимаем Далее;
  4. Здесь выбираем ссылку Командная строка;
Способ 1. Суть - заставить загружаться командную строку вместе с Windows. В командной строке набираем regedit и жмём Enter. Откроется редактор реестра. Выделяем раздел HKEY_LOCAL_MACHINE. Затем из меню Файл выбираем пункт Загрузить куст. Переходим на диск, где установлена Windows, и открываем файл:<буква_диска>:\Windows\System32\config\SYSTEM Вводим произвольное имя для загружаемого раздела. Например - temp. Переходим в раздел HKEY_LOCAL_MACHINE\temp\Setup. Затем щелкаем два раза по параметру:
* CmdLine, вводим cmd.exe и нажимаем ОК.
Выделяем раздел temp в HKEY_LOCAL_MACHINE, затем из меню Файл выбираем пункт Выгрузить куст.
  1. В командной строке последовательно вводим несколько команд (предполагается, что Windows установлена на диске С, но при загрузке в консоль восстановления литера С присваивается скрытому загрузочному разделу, а системному присваивается литера D):
cd /d D:\
cd Windows\System32
move Utilman.exe Utilman.original или move sethc.exe sethc.original
copy cmd.exe Utilman.exe или copy cmd.exe sethc.exe
Примечание. Если вы затрудняетесь определить букву раздела с Windows, попробуйте способ из этой статьи или последовательно перебирайте буквы разделов с использование команды dir после каждой буквы.

После перезагрузки:


  1. На стартовом экране Windows нажмите кнопку Специальные возможности в левом нижнем углу (если подменяли Utilman.exe) или 5 раз нажмите на клавишу Shift (если подменяли sethc.exe).
2. Запустится командная строка.
3. Последний шаг - выполните команду:

где <Имя_пользователя> - имя пользователя, которому нужно сбросить пароль, например, Администратор;
<пароль> - новый пароль учётной записи.

Примечание 1. Если имя или пароль содержат пробелы, введите их в "кавычках".
Примечание 2. Введите команду net user без параметров, чтобы отобразить все имеющиеся учётные записи.

Внимание! Данная операция сделает недоступными шифрованные файлы для данного пользователя и его приватные ключи (если таковые имеются). Возможно, лучше будет создать нового пользователя и включить его в группу Администраторы.

  1. В командной строке набираем regedit и жмём Enter. Откроется редактор реестра.
  2. Выделяем раздел HKEY_LOCAL_MACHINE. Затем из меню Файл выбираем пункт Загрузить куст.
  3. Переходим на диск, где установлена Windows, и открываем файл:<буква_диска>:\Windows\System32\config\SAM
  4. Вводим произвольное имя для загружаемого раздела. Например - temp.
  5. Теперь выбираем раздел HKEY_LOCAL_MACHINE\temp\SAM\Domains\Account\Users\000001F4 и дважды кликаем по ключу F. Откроется редактор, в котором первое число в строке 038 (это 11) меняем на 10. Внимание! Поменять надо только его, не добавляя и не удаляя другие числа!
  6. Выделяем раздел temp в HKEY_LOCAL_MACHINE, затем из меню Файл выбираем пункт Выгрузить куст.
  7. Закрываем редактор реестра. Перезагружаемся.

Способ 4. Последний способ не требует даже диска с Windows! Оригинал статьи - здесь.

Была как то у меня на обслуживании не большая организация, внедрял я там Windows Server 2008 R2, поднял терминальный сервер.
Притеры, пользователи, пароли, все как обычно. Ну, пароль Администратора у меня остался. Через некоторое время,
по не понятным причинам, они взяли системного администратора на полную ставку. Ну причины мне не особо интересны.
Сдал я сервер мальчику заочнику-первокурснику, и спокойненько ушел. Первая мысль была примерно такая: «Ломать тут нечего, сервер терминалов будет крутить, надет все в интернете, почтовый вряд ли тронет.»
Ну и ушел с почти спокойной душой. Прошло пол года, звонят, у нас вот так и так что то не так. (Ну как всегда у пользователей. «У нас что то не так, а что сказать не можем, приходите»). Спросил про мальчика админа, сказали уволили нафиг. Ну думаю бывает.
Собираюсь, приезжаю. Мальчик смог поломать сервер терминалов, саму Windows Server 2008 R2 тоже потрепал не плохо (Контроллер домена на 15 пользователей? Нафига вот? Да еще и не поднятый. Как он вообще эту роль НеДоподнял, не понимаю. ), почтовый сервер, и понаставить кучу нелицензионного ПО на клиентские места. (Ну фиг с ней с лицензией, а вот, то что это ПО просто бесполезное…)

Пробую залогинится на остатках сервера, пароль не принимает. Сменил. Ну оно и понятно. Звоню, диктует, не подходит (Мальчик как то ехидно посмивается.). Ну думаю фиг с тобой. Попробовал сбросить пароль способом уже ранее описанным тут.
Сбросил, зашел, требует перезагрузку. Перезагрузжаюсь, пароль не верный. Приехали. Пытаюсь снова сбросить, не сбрасывает. Типа пароль пустой и бла бла бла. Сегодня опишу еще один способ сброса пароля на Windows Server 2008 R2.

В отличии от предыдущей статьи, никакого стороннего ПО использовать не будем. Все что потребуется, пара рук, внимательность при прочтении этой статьи, и установочный диск от Windows Server 2008 R2. (к слову сказать, я всегда такой с собой тоскаю. Вообще в моей аптечке много всего, мало ли что )
Итак, вставляем диск в привод и грузимся с него.
С лева, в низу, будет «Ссылка» под названием «Восстановление системы» (англ. «Repair your computer«), вот ее и жмем.

One

Все параметры оставляем по умолчанию, и ничего не меняем. Жмем «Далее»

Two

Выбираем как средство восстановления «Командная строка»

Three

Далее все достаточно просто. Вводим несколько не замысловатых команд:


При использовании удалённого подключения к операционным системам Microsoft Windows/Windows Server по протоколу RDP в некоторых случаях может возникать потребность в смене пароля учётной записи пользователя. При этом инициатором смены пароля в разных ситуациях может выступать как сам пользователь, так и администратор Windows-системы. В некоторых сценариях может получиться так, что, казалось бы, несложная задача смены пароля может стать не такой уж и простой. Поэтому в данной записи я попробую собрать информацию о самых разнообразных способах смены пароля учётной записи пользователя в RDP-сессии.

Способ №1 - "Горячие" клавиши

В случае, если пользователю Windows необходимо самостоятельно изменить пароль своей учётной записи, то в стандартной Windows-сессии пользователем может использоваться всем известное сочетание "горячих" клавиш Ctrl-Alt-Del. Это сочетание клавиш вызывает специальный экран Безопасности Windows (Windows Security), с которого доступна функция изменения пароля :


Если же речь заходит об использовании горячих клавиш в RDP-сессиях, то стоит заметить то, что во избежание перехвата некоторых сочетаний клавиш локальной клиентской системой (системой, с которой запускается RDP-клиент), перенаправление сочетаний клавиш Windows должно быть явно разрешено в свойствах RDP-клиента. Например в клиенте mstsc.exe, встроенном в Windows, данную опцию можно включить на закладке управления локальными ресурсам.


В стандартной первичной RDP-сессии для вызова специального экрана Безопасности Windows с функцией изменения пароля используется сочетание клавиш: Ctrl-Alt-End

В случае использования вложенных RDP-сессий (второго и последующего уровней), то есть когда из одной RDP-сессии открывается другая RDP-сессия, стандартное сочетание клавиш работать не будет. В разных источниках в интернете можно найти информацию об использовании более сложных сочетаний клавиш, таких как Ctrl-Alt-Shift-End или Shift-Ctrl-Alt-End. Однако мои эксперименты с Windows 10/Windows Server 2012 R2 показали, что данные сочетания клавиш попросту не работают (возможно они работали в ранних версиях ОС Windows). В этом случае на выручку нам может прийти следующий способ.

Способ №2 - Экранная клавиатура

В составе Windows имеется приложение "Экранная клавиатура" (On-Screen Keyboard), расположенное по умолчанию в %SystemRoot%\System32\osk.exe. Используя это приложение, мы можем решить проблему использования "горячих" клавиш во вложенных RDP-сессиях.

Находясь во вложенной RDP-сессии, вызовем окно запуска приложений. Вызвать его можно разными способами, например, через контекстное меню по кнопке Windows, или через Диспетчер задач (Task Manager):


Либо можно использовать сочетание клавиш Win-R.

В окне запуска приложений выполним запуск исполняемого файла osk.exe


После того, как откроется приложение "Экранная клавиатура", нажмём на физической клавиатуре сочетание клавиш Ctrl-Alt, так, чтобы это отобразилось на экранной клавиатуре и затем, удерживая это сочетание клавиш, на экранной клавиатуре мышкой нажмём кнопку Del.


Таким образом мы отправим в удалённую RDP-сессию сочетание клавиш Ctrl-Alt-Del, в следствие чего откроется специальный экран Безопасности Windows с функцией изменений пароля пользователя.

Способ №3 – Ярлык на VBS-скрипт или Powershell

Вызов экрана Безопасности Windows можно выполнить не только интерактивными способами, но и программными, например, с помощью скриптов.

Создадим VBS-скрипт, например, с именем Windows Security.vbs . Наполним скрипт следующим содержимым:

Разместим скрипт в месте, доступном на чтение (но не для редактирования) для всех пользователей удалённого рабочего стола, например в каталоге %SystemRoot% ( C:\Windows ). А ярлык на запуск скрипта можно разместить в любом доступном пользователям месте, например, в каталоге общего профиля %SystemDrive%\Users\Public\Desktop\


При запуске данного ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля.

Для любителей PowerShell приведённый VBS-скрипт можно заменить PS-скриптом следующего вида:

Либо запускать из ярлыка команду вида:


Однако стоит отметить тот факт, что запуск варианта с PowerShell будет происходить медленней, чем варианта с VBS-скриптом.

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

Способ №4 – Ярлык оболочки Windows Explorer

Если говорить о создании ярлыка запуска экрана Безопасности Windows, то имеется ещё один вариант создания такого ярлыка. Создаётся ярлык со ссылкой на расширение оболочки Windows Explorer следующего вида:


Опять же, при запуске такого ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля. Этот способ одинаково хорошо работает на Windows 10 и на Windows Server 2012 R2.

Способ №5 – Панель управления Windows (локальные учётные записи)

Данный способ относится лишь к локальным учётным записям пользователей. Изменить пароль учётной записи рядового локального пользователя можно через Панель управления Windows. В Windows 10 из раздела Панели управления "Учётные записи пользователей" доступен вызов окна "Параметры компьютера", в котором имеется функция изменения пароля текущего локального пользователя.


Такие методы вызова апплета управления учётными записями пользователей Панели управления Windows, как, например команда "control userpasswords2", в качестве отдельного способа мы выделять не будем, так как подобные действия требуют административных прав в удалённой системе. То же самое касается и таких CLI-утилит Windows, как net.exe ( %SystemRoot%\System32\net.exe ) (пример команды "net user username newpassword"), так как они тоже требуют повышения уровня прав пользователя.

Ремарка

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

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


Как правило, это настраивается на уровне стандартных доменных групповых политик Active Directory и/или механизмов Password Settings objects (PSOs) .

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

Далее мы поговорим о сценарии, при котором требование смены пароля включается для учётной записи пользователя форсировано администратором сервера (для локальных учётных записей), либо администратором службы каталогов Active Directory (для доменных учётных записей).


Практика показывает, что как только администратором включено требование смены пароля пользователя при следующем входе в систему, у пользователя могут возникнуть проблемы с подключением по протоколу RDP, если на стороне RDS сервера (а в некоторых случаях и на стороне RDS клиента) предварительно не предпринято никаких действий по специальной настройке обработки таких ситуаций. Далее мы рассмотрим пару примеров такой настройки.

Способ №6 - Remote Desktop Web Access

Клиентский доступ к службам Windows Server RDS может быть организован через веб-интерфейс серверной роли Remote Desktop Web Access (RDWA). В функционале этой роли имеется выключенная по умолчанию возможность смены пароля пользователя в процессе аутентификации на веб-странице RDWA.

Сразу стоит отметить то, что данный способ смены пароля будет доступен только в том случае, если на веб-узлах RDWA используется аутентификация на основе формы (Forms Authentication), а этот тип аутентификации несовместим с типом Windows Authentication, о подключении которого мы говорили ранее .


В перечне опций находим PasswordChangeEnabled и меняем установленное по умолчанию значение false на true:


Если серверов RDWA несколько и они работают в пуле за балансировщиком, например Windows NLB, то не забываем выполнить данное изменение на всех других серверах пула.

Теперь попытаемся от имени пользователя, у которого в свойствах учётной записи установлено требование смены пароля при следующем входе, аутентифицироваться на веб-странице RDWA:



На этой отдельной странице пользователь сможет ввести свои текущие учётные данные и новый пароль:


При необходимости ссылку на страницу смены пароля можно сделать доступной не только тем пользователям, у которых после аутентификации возникает требование смены пароля, но и всем остальным пользователям, чтобы они могли самостоятельно выполнять смену пароля по собственной инициативе через веб-страницу RDWA. Для этого можно будет внедрить ссылку на страницу password.aspx на странице входа login.aspx (по умолчанию страницы расположены в каталоге %windir%\Web\RDWeb\Pages\ru-RU )

Если же говорить про Windows Server 2008 R2, то в этой ОС для использования функции смены пароля в RDWA может потребоваться установка обновления KB2648402 - You cannot change an expired user account password in a remote desktop session that connects to a Windows Server 2008 R2-based RD Session Host server in a VDI environment .

Способ №7 – Специальный RDP-файл

Если пользователь выполняет подключение к удалённому рабочему столу на базе Windows Server 2012/2012 R2 через прямой запуск стандартного клиента mstsc.exe, то в ситуации с включенным признаком требования смены пароля, попытка подключения может быть завершена с ошибкой " You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support ".


Если ситуация требует того, чтобы пользователь самостоятельно изменил свой пароль при первом входе в систему, то это потребует некоторого изменения уровня безопасности настроек протокола RDP на стороне RDS сервера и подготовки специального RDP-файла на стороне клиента.

Сначала на клиентской стороне откроем mstsc.exe, настроим все нужные параметры подключения к серверу RDS и используя кнопку Сохранить как, создадим RDP-файл.


После этого откроем RDP-файл в текстовом редакторе и добавим в конец файла строку "enablecredsspsupport:i:0"


Добавление данного параметра в свойствах RDP-подключения позволит клиенту успешно установить RDP-сессию с удалённой системой и сменить пароль до получения доступа к удалённому рабочему столу. Однако этот параметр понизит уровень безопасности RDP-подключения, так как клиент не сможет использовать проверку подлинности на уровне сети - Network Level Authentication (NLA). И если на стороне RDS сервера включена обязательная проверка NLA, то пользователь всё равно не сможет подключиться и получит соответствующую ошибку " The remote computer requires Network Level Authentication, which your computer does not support. ".


Разрешить эту ситуацию можно только понизив уровень безопасности RDP на стороне RDS сервера, отключив обязательное требование проверки подлинности на уровне сети (NLA). Изменить эту настройку можно в свойствах системы на закладке Удалённый доступ:


В английской версии Windows название опции звучит как "Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)"

Если NLA нужно отключить на уровне коллекции серверов Windows Server 2012 R2, то сделать этом можно в свойствах коллекции сеансов, например через оснастку Server Manager:



И после этого пользователю будет показан экран, на котором он сможет задать новый пароль:


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

Заключение

Приведённый здесь перечень способов смены пароля при использовании протокола RDP не претендует на какую-то полноту и исключительность, а лишь отражает ту информацию, которую мне удалось найти в разных источниках по этому поводу. На мой взгляд, ни один из перечисленных способов нельзя считать наиболее удобным или универсальным, так как каждый из способов может применяться в определённых ограниченных сценариях и имеет, как преимущества, так и недостатки по сравнению с другими способами.

Читайте также: