Смена пароля администратора Windows Server

смена пароля администратора windows server

Смена пароля администратора Windows Server выполняется через комбинацию клавиш Ctrl+Alt+Del или PowerShell-команду Set-LocalUser. При удалённом подключении через RDP используйте Ctrl+Alt+End. Процесс занимает минуту и не требует перезагрузки сервера.

Когда нужно менять пароль

Короче, пароль администратора сервера нужно менять регулярно. Это базовое правило безопасности. Microsoft рекомендует менять пароль каждые 60-90 дней. Хотя, если честно, в современных рекомендациях NIST акцент сместился на сложность пароля, а не частоту смены.

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

Знакомый сисадмин Алексей однажды обнаружил подозрительные логи на своём Dell PowerEdge R740 с Windows Server 2022. Кто-то пытался подобрать пароль к RDP. Пароль был 12 символов, подобрать не удалось, но на всякий случай Алексей сменил его тут же. Правильное решение.

Способ 1: через Ctrl+Alt+Del (локально)

Самый простой способ. Если вы сидите за сервером (или подключены через KVM/IPMI), нажмите Ctrl+Alt+Del. В появившемся меню выберите «Изменить пароль».

Введите старый пароль, затем новый дважды. Нажмите Enter. Всё, пароль изменён.

Тут такое дело: пароль должен соответствовать политике сложности. По умолчанию в Windows Server включена политика, которая требует:

  • Минимум 7 символов (а лучше 14 и больше)
  • Заглавные и строчные буквы
  • Цифры
  • Специальные символы
  • Не содержать имя пользователя

Способ 2: через RDP (удалённо)

Вот в чём прикол: при подключении через удалённый рабочий стол комбинация Ctrl+Alt+Del не работает. Она перехватывается локальным компьютером. Вместо неё используйте Ctrl+Alt+End. Это аналог Ctrl+Alt+Del для RDP-сессий.

Нажали Ctrl+Alt+End? Появится то же меню. Выбираем «Изменить пароль». Вводим старый, вводим новый, подтверждаем. Готово.

Кстати, в некоторых RDP-клиентах Ctrl+Alt+End тоже не работает (например, при подключении с Mac). В таком случае откройте экранную клавиатуру на сервере (osk.exe) и нажмите комбинацию через неё.

Способ 3: через PowerShell

Для локального администратора:

Set-LocalUser -Name "Administrator" -Password (ConvertTo-SecureString "N0vyJP@r0l!2024" -AsPlainText -Force)

Грубо говоря, эта команда устанавливает новый пароль напрямую, без запроса старого. Работает только если вы уже авторизованы как администратор.

Для доменного пользователя (если сервер в домене Active Directory):

Set-ADAccountPassword -Identity "Administrator" -Reset -NewPassword (ConvertTo-SecureString "N0vyJP@r0l!2024" -AsPlainText -Force)

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

Способ 4: через Управление компьютером

Открываем «Управление компьютером» (compmgmt.msc). Раскрываем «Локальные пользователи и группы». Переходим в «Пользователи». Находим Администратор. Правый клик, «Задать пароль».

По факту, этот способ тоже не требует знания старого пароля. Но требует права администратора на текущей сессии.

На самом деле, через «Управление компьютером» можно менять пароли всех локальных пользователей, а не только администратора. Полезно, если нужно сбросить пароль какому-нибудь сервисному аккаунту.

Способ 5: через командную строку

Старый добрый net user:

net user Administrator N0vyJP@r0l!2024

Простая команда. Работает во всех версиях Windows Server. Не требует PowerShell. Но есть минус: пароль будет виден в истории командной строки. Для серверов с повышенными требованиями безопасности лучше использовать PowerShell с SecureString.

Что делать, если забыли пароль

Тут такое дело: если вы забыли пароль и не можете войти в систему, ситуация сложнее, но не безнадёжная.

Если сервер в домене Active Directory, сбросить пароль локального администратора можно с контроллера домена. Или любой доменный администратор может войти на сервер и изменить пароль.

Если сервер автономный (не в домене), придётся загружаться с установочного диска Windows Server. Выбираем «Восстановление системы», открываем командную строку и используем net user для сброса пароля.

Мой коллега Вадим однажды забыл пароль от автономного сервера HP ProLiant DL380 Gen10, который стоял в серверной без KVM-переключателя. Пришлось ехать в серверную, подключать монитор и клавиатуру, загружаться с флешки и сбрасывать пароль вручную. После этого он настроил LAPS (Local Administrator Password Solution) и больше паролей не забывал.

Настройка политики паролей через GPO

Кстати, по умолчанию Windows Server уже настроен неплохо, но можно докрутить. Открываем Group Policy Management (gpmc.msc), находим Default Domain Policy (или создаём новую GPO). Идём в Computer Configuration, Windows Settings, Security Settings, Account Policies, Password Policy.

Тут можно настроить:

  • Minimum password length — ставьте 14 и выше
  • Maximum password age — 90 дней (или 0, если доверяете пользователям)
  • Password must meet complexity requirements — Enabled
  • Enforce password history — 24 пароля (чтобы не использовали старые)
  • Minimum password age — 1 день (чтобы не меняли пароль 24 раза подряд, обходя историю)

По факту, последний пункт — это хитрость, о которой многие забывают. Без Minimum password age пользователь может сменить пароль 24 раза за 5 минут и вернуть старый. С задержкой в 1 день это невозможно.

Мой знакомый Егор, который администрирует домен на 200 пользователей (серверы Supermicro с Xeon E-2336G), рассказывал, что однажды обнаружил пользователя, который менял пароль 30 раз подряд через скрипт, чтобы вернуть свой любимый «Qwerty123!». После настройки Minimum password age проблема исчезла.

Настройка LAPS для автоматического управления паролями

Если вы управляете больше чем одним сервером, LAPS (Local Administrator Password Solution) — это то, что вам нужно. Грубо говоря, LAPS автоматически генерирует случайный сложный пароль для локального администратора на каждом сервере и хранит его в Active Directory.

Как это работает. LAPS ставится через Group Policy. На каждом сервере локальный пароль администратора меняется автоматически раз в 30 дней (настраивается). Пароль хранится в атрибуте ms-Mcs-AdmPwd объекта компьютера в AD. Только авторизованные администраторы могут его прочитать.

Вот в чём прикол: в Windows Server 2022 с последними обновлениями (и в Windows Server 2025) LAPS уже встроен в систему. Не нужно ничего скачивать отдельно. Просто настройте GPO и включите.

Настройка через PowerShell:

# Проверяем, поддерживает ли система встроенный LAPS
Get-Command Get-LapsAADPassword -ErrorAction SilentlyContinue

# Настраиваем через GPO:
# Computer Configuration > Administrative Templates >
# LAPS > Password Settings
# Включаем, задаём длину (20+ символов), срок жизни (30 дней)

Кстати, после настройки LAPS можно посмотреть текущий пароль любого сервера через PowerShell:

Get-LapsADPassword -Identity "SERVER01" -AsPlainText

Ну и ещё важный момент — аудит. Включите аудит изменения паролей через Advanced Audit Policy. Это позволит видеть в логах, кто и когда менял пароли. В случае инцидента безопасности эта информация бесценна.

Рекомендации по созданию безопасного пароля

Для сервера пароль должен быть особенно надёжным. Рекомендации:

  • Минимум 14 символов (а лучше 20 и больше)
  • Используйте фразу-пароль вместо набора символов: «Мой5ерверВМоскве!2024»
  • Не используйте словарные слова целиком
  • Не повторяйте пароли от других систем
  • Используйте менеджер паролей для хранения

А ещё настройте политику блокировки учётной записи. Если кто-то введёт неправильный пароль 5 раз, аккаунт заблокируется на 30 минут. Это защитит от перебора.

Массовая смена паролей на нескольких серверах

Если у вас десять серверов, менять пароль на каждом вручную — занятие для мазохистов. PowerShell Remoting решает эту проблему за минуту. Вот готовый скрипт:

$servers = @("SRV01", "SRV02", "SRV03", "SRV04")
$newPassword = Read-Host -AsSecureString "Введите новый пароль"

foreach ($server in $servers) {
    Invoke-Command -ComputerName $server -ScriptBlock {
        Set-LocalUser -Name "Administrator" -Password $using:newPassword
    }
    Write-Host "Пароль изменён на $server"
}

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

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

Ну и конечно, если вам нужна лицензия для Windows Server, загляните в keytrust24.store. У нас есть ключики для Windows Server 2019, 2022 и других версий.