Event ID 10100 WinRM: сбой регистрации SPN — решение
Симптомы ошибки регистрации SPN (Event ID 10100)
В журнале System фиксируется предупреждение или ошибка: Event ID 10100: The WinRM service failed to create the following SPNs: WSMAN/[Имя_Сервера] / WSMAN/[FQDN_Сервера] от источника Microsoft-Windows-WinRM.
| Симптом | Последствия |
|---|---|
| Отказ Kerberos при удаленном PowerShell (Enter-PSSession) | Подключение падает с ошибкой аутентификации или откатывается на NTLM |
| Ошибки в Windows Admin Center (WAC) | WAC не может удаленно управлять сервером через защищенный протокол |
| Отказ управления кластером WinRM | Сбои выполнения команд на удаленных узлах Hyper-V кластера |
Пошаговое устранение сбоя WinRM SPN (Event ID 10100)
Ошибка вызвана тем, что у учетной записи Network Service, под которой работает служба WinRM, отсутствуют права на запись атрибута servicePrincipalName в объект компьютера в Active Directory, либо обнаружен дубликат SPN.
- Проверьте наличие дубликатов SPN в домене Active Directory:
# Поиск дубликатов имени SPN в Active Directory:
setspn -X -F
setspn -Q WSMAN/ИмяВашегоСервера
setspn -Q WSMAN/ИмяВашегоСервера.domain.local- Зарегистрируйте SPN вручную от имени Администратора Домена:
# Ручная привязка SPN к учетной записи компьютера в домене:
setspn -S WSMAN/ИмяСервера ИмяСервера
setspn -S WSMAN/ИмяСервера.domain.local ИмяСервера- Предоставьте право учетной записи «NETWORK SERVICE» на запись SPN:
В оснастке dsa.msc (Active Directory — пользователи и компьютеры) включите Вид > Дополнительные компоненты > Откройте свойства объекта компьютера > вкладка Безопасность > Добавьте пользователя SELF и выдайте разрешение «Чтение/запись субъекта-службы (Read/Write servicePrincipalName)».
- Перезапустите службу WinRM:
# Перезапуск службы WinRM:
Restart-Service -Name WinRM -ForceСовет: Если на сервере выполнялось переименование, удалите старые SPN командой: setspn -D WSMAN/СтароеИмя ИмяКомпьютера.
Частые вопросы (FAQ)
Что такое SPN (Service Principal Name)?
Это уникальный идентификатор службы в Active Directory, используемый протоколом Kerberos для взаимной аутентификации клиента и сервера.
Будет ли работать PowerShell Remoting без зарегистрированного SPN?
Будет работать только в том случае, если клиент явно разрешит базовую аутентификацию или аутентификацию по протоколу NTLM / HTTPS.
Как проверить текущие SPN сервера?
Выполните команду: setspn -L ИмяСервера в командной строке.
Почему WinRM не может сам зарегистрировать SPN?
При перемещении сервера в защищенную OU права на самостоятельное изменение атрибутов (SELF) могут блокироваться политиками делегирования AD.