Короткий ответ
Общий пароль встроенного 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 на OU | LAPS не работает |
| Одинаковый пароль везде, LAPS «вроде включён» | политика не доехала или конфликт legacy/Windows LAPS | эта статья и диагностика LAPS |
| Пользователь сам в Administrators | раздутые права, не пароль | Слишком много прав |
| Вход Domain Admin с ежедневной учётки | модель привилегий | Domain Admin для работы |
Возможные причины
От частых к редким:
- Образ Windows / sysprep с одним локальным паролем, который никто не менял после ввода в домен.
- Скрипт «сбросить Administrator на всех» из одного файла паролей.
- Helpdesk требует предсказуемый пароль «чтобы не ходить в AD».
- В GPO нет Windows LAPS, либо компьютеры не в OU, куда линкуется политика.
- В локальных Administrators лежат широкие доменные группы — пароль локального админа уже не единственная дыра.
- Смешаны 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
- Расширьте схему один раз, с учётки Schema Admin, против хозяина схемы (часто
DC01):
Update-LapsADSchema- Выдайте компьютерам право писать свой пароль на OU рабочих станций:
Set-LapsADComputerSelfPermission -Identity 'OU=Workstations,DC=contoso,DC=example'- Отдельная группа на чтение, не «все админы домена»:
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'-
GPO на OU: Computer Configuration → Administrative Templates → System → LAPS (Windows LAPS). Включите backup в Active Directory, сложность и длину пароля, срок ротации. Если управляете не встроенным
Administrator, укажите имя учётки явно. -
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.
Как проверить, что проблема устранена
- На
WS-042локальные Administrators соответствуют стандарту. Get-LapsADPassword -Identity WS-042возвращает срок истечения в будущем.- Вход под локальным админом новым паролем из AD работает, старый общий — нет.
- Соседний компьютер не принимает тот же новый пароль.
- Учётка без группы
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 закрывает локальный слой. Доменные админы всё равно не должны сидеть на ежедневном ПК, см. разделение учёток.