Короткий ответ

Общий пароль встроенного Administrator на парке рабочих станций и серверов — это не «удобство helpdesk», а один NTLM-хеш на всю организацию. Компрометация любой машины WS-042 даёт тот же хеш, что и на файловом сервере. Решение: уникальный пароль на каждый компьютер через Windows LAPS, хранение в AD (атрибуты msLAPS-*), отдельная группа на чтение пароля, локальная группа Administrators без доменных пользователей «на всякий случай».

Не переименовывайте Administrator и не считайте это защитой. Не отключайте учётку, пока не проверили LAPS и аварийный вход. Не кладите Domain Admins в локальные администраторы «чтобы RDP всегда работал» — для повседневной работы это отдельная тема: Domain Admin для обычной работы.

Целевое состояние для contoso.example: на WS-042 локальный админ только LAPS-управляемый, пароль не совпадает с соседними хостами, прочитать его из AD может CONTOSO\Helpdesk-LAPS, а не вся группа Domain Users.

Симптомы и как отличить

Типичная картина в малом и среднем домене:

  • helpdesk вспоминает один пароль P@ssw0rd! или стикер «локальный админ» на шкафу;
  • вход на любой ПК под .\Administrator с одним и тем же секретом;
  • в Administrators на станциях сидят Domain Users, Helpdesk целиком или персональные учётки сотрудников;
  • Windows LAPS / legacy Microsoft LAPS не настроены, атрибут пароля на объекте компьютера пуст.
Что видноЭто не «плохой Local Admin»Куда смотреть
Один ПК, остальные с уникальным паролемсломан LAPS на OULAPS не работает
Одинаковый пароль везде, LAPS «вроде включён»политика не доехала или конфликт legacy/Windows LAPSэта статья и диагностика LAPS
Пользователь сам в Administratorsраздутые права, не парольСлишком много прав
Вход Domain Admin с ежедневной учёткимодель привилегийDomain Admin для работы

Возможные причины

От частых к редким:

  1. Образ Windows / sysprep с одним локальным паролем, который никто не менял после ввода в домен.
  2. Скрипт «сбросить Administrator на всех» из одного файла паролей.
  3. Helpdesk требует предсказуемый пароль «чтобы не ходить в AD».
  4. В GPO нет Windows LAPS, либо компьютеры не в OU, куда линкуется политика.
  5. В локальных Administrators лежат широкие доменные группы — пароль локального админа уже не единственная дыра.
  6. Смешаны legacy LAPS (ms-Mcs-AdmPwd) и Windows LAPS без понимания, какая политика побеждает на 23H2/24H2 и Server 2022/2025.

Диагностика

Подставьте свои имена. Рабочая станция WS-042.contoso.example, DC DC01.contoso.example.

1. Кто в локальных администраторах

На WS-042:

Get-LocalGroupMember -Group 'Administrators'
Get-LocalUser -Name 'Administrator' | Format-List Name, Enabled, PasswordLastSet, PasswordExpires

Ожидание после hardening: встроенный Administrator (или явно указанная в LAPS учётка), возможно группа CONTOSO\WS-042-Admins из 1–2 человек, нет Domain Users и нет персональной учётки бухгалтера.

2. Есть ли LAPS на объекте компьютера

С машины, где установлены RSAT и права на чтение:

Get-Command *Laps*
Get-LapsADPassword -Identity 'WS-042' -AsPlainText -ErrorAction SilentlyContinue
Get-ADComputer 'WS-042' -Properties msLAPS-PasswordExpirationTime, 'ms-Mcs-AdmPwdExpirationTime' |
  Format-List Name, msLAPS-PasswordExpirationTime, 'ms-Mcs-AdmPwdExpirationTime'

Пустой результат при живом компьютере — схема, ACE self-permission или GPO. Не печатайте пароль в общий чат; для заявки достаточно факта «пароль есть / нет» и срока истечения.

3. Политика на клиенте

gpresult /h C:\Temp\gp-ws042.html /f
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Policies\LAPS' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft Services\AdmPwd' -ErrorAction SilentlyContinue
Get-WinEvent -LogName 'Microsoft-Windows-LAPS/Operational' -MaxEvents 20 -ErrorAction SilentlyContinue

Если ветка Windows LAPS пуста, а legacy AdmPwd заполнена — вы на старом продукте. На Windows 11 23H2/24H2 и Server 2022/2025 цель — встроенный Windows LAPS, не MSI 2015 года, если нет жёсткой причины держать legacy.

4. Сравнение «один пароль на всех»

Не собирайте хеши «для отчёта». Достаточно опросить 5–10 машин: если helpdesk входит одним паролем на WS-042 и на соседний хост — проблема подтверждена без утилит для дампа SAM.

Решение

Сценарий A. Чистый Windows LAPS в AD

  1. Расширьте схему один раз, с учётки Schema Admin, против хозяина схемы (часто DC01):
Update-LapsADSchema
  1. Выдайте компьютерам право писать свой пароль на OU рабочих станций:
Set-LapsADComputerSelfPermission -Identity 'OU=Workstations,DC=contoso,DC=example'
  1. Отдельная группа на чтение, не «все админы домена»:
New-ADGroup -Name 'Helpdesk-LAPS' -GroupScope Global -Path 'OU=Groups,DC=contoso,DC=example'
Set-LapsADReadPasswordPermission -Identity 'OU=Workstations,DC=contoso,DC=example' -AllowedPrincipals 'CONTOSO\Helpdesk-LAPS'
Set-LapsADResetPasswordPermission -Identity 'OU=Workstations,DC=contoso,DC=example' -AllowedPrincipals 'CONTOSO\Helpdesk-LAPS'
  1. GPO на OU: Computer Configuration → Administrative Templates → System → LAPS (Windows LAPS). Включите backup в Active Directory, сложность и длину пароля, срок ротации. Если управляете не встроенным Administrator, укажите имя учётки явно.

  2. gpupdate /force на пилоте WS-042, затем Invoke-LapsPolicyProcessing (если cmdlet доступен на этой сборке) либо перезагрузка/ожидание цикла. Проверьте Get-LapsADPassword.

Сценарий B. Чистка локальной группы Administrators

После того как LAPS пишет пароль и вы его прочитали с тестовой машины:

# на WS-042, список членов сверить с политикой
Get-LocalGroupMember -Group 'Administrators'
# снять лишнее, пример:
Remove-LocalGroupMember -Group 'Administrators' -Member 'CONTOSO\Domain Users'

Лучше Restricted Groups / Group Policy Preferences с Replace только после пилота: неправильный Replace выкинет и LAPS-учётку, и вы потеряете вход.

Сценарий C. Нужен аварийный вход без домена

Оставьте встроенного администратора включённым, но с LAPS-паролем. Отключение Administrator «по CIS вслепую» без второй локальной учётки и без консоли гипервизора — способ потерять машину после сбоя secure channel. Консоль Hyper-V/iLO важнее переименования учётки.

Дополнительно: Restricted Admin для RDP (RestrictedAdmin), чтобы пароль локального админа не осел в памяти целевого хоста при входе с jump-сервера. Это не замена LAPS.

Как проверить, что проблема устранена

  1. На WS-042 локальные Administrators соответствуют стандарту.
  2. Get-LapsADPassword -Identity WS-042 возвращает срок истечения в будущем.
  3. Вход под локальным админом новым паролем из AD работает, старый общий — нет.
  4. Соседний компьютер не принимает тот же новый пароль.
  5. Учётка без группы Helpdesk-LAPS не читает атрибут пароля.
Get-LapsADPassword -Identity 'WS-042' | Select-Object ComputerName, PasswordUpdateTime, ExpirationTimestamp
Get-LocalGroupMember -Group 'Administrators'

Функциональный тест helpdesk: заявка «нужен локальный админ на WS-042» закрывается чтением пароля из AD, не звонком «напомни общий».

Если не помогло

  • Политика есть, пароля нет: схема, self-permission, компьютер не в OU, фильтр GPO, WMI-фильтр, отключённый LAPS в другой GPO с более высоким приоритетом. Разбор — LAPS не работает.
  • Пароль есть, вход не принимает: управляете не той учёткой (встроенный vs переименованный vs .\admin), рассинхрон часов, учётка disabled.
  • Entra-only joined ПК: backup directory должен быть Entra ID, не AD; эта статья про домен contoso.example.
  • Серверы с агентами backup/RMM, которые логинятся локальным админом по статическому паролю: переведите агент на gMSA/отдельную учётку до ротации, иначе «LAPS сломал бэкап».

Профилактика

  • Золотой образ без известного пароля админа: случайный на sysprep, сразу LAPS после join.
  • Запрет скриптов массового net user Administrator.
  • Мониторинг: компьютеры в OU без msLAPS-PasswordExpirationTime старше N часов после join.
  • Регулярный обзор членов локальных Administrators (см. базовые риски).
  • Helpdesk читает пароль только из AD, сессии администрирования — с jump-хоста, не с почты.

FAQ

Можно ли просто отключить встроенного Administrator?

Можно, если есть другая локальная учётка под LAPS и проверенный вход с консоли. На серверах чаще оставляют встроенного и крутят пароль LAPS. Отключение «чтобы сканер был зелёный» без запасного входа — простой.

Переименование Administrator защищает?

Нет. Имя учётки RID 500 легко находится. Уникальный пароль и узкий состав группы важнее имени.

Нужен ли LAPS на серверах или только на ПК?

На всех, где есть локальный админ с паролем. Одинаковый серверный пароль хуже, чем на ПК: с сервера дальше по домену. Исключения документируйте.

Windows LAPS или старый MSI LAPS?

Для Windows 11 23H2/24H2 и Server 2019/2022/2025 — встроенный Windows LAPS. Legacy оставляйте только на ОС, которые его не умеют, и планируйте вывод.

Кто должен читать пароль?

Отдельная группа helpdesk/admin, не Domain Users и не «все IT». Чтение журналируйте: это привилегированная операция.

LAPS заменяет отдельную privileged-учётку домена?

Нет. LAPS закрывает локальный слой. Доменные админы всё равно не должны сидеть на ежедневном ПК, см. разделение учёток.