Event ID 5059 IIS WAS: отключение пула из-за ошибки входа
Симптомы сбоя удостоверения (Event ID 5059)
В системном журнале регистрируется ошибка от источника Microsoft-Windows-WAS: Event ID 5059: Application pool '[Имя_пула]' was disabled because of a logon failure for the identity configured for the application pool.
| Симптом | Последствия |
|---|---|
| Остановка пула приложений | Пул переходит в отключенное состояние сразу при обращении |
| Ошибка 503 в браузере | «HTTP Error 503. The service is unavailable» |
| Ошибки аудита 4625 | Журнал безопасности фиксирует неудачные попытки входа |
Пошаговое решение ошибки входа (Event ID 5059)
- Обновите пароль сервисной учетной записи в конфигурации IIS:
# Установка актуального пароля сервисной учетной записи:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" set config /section:applicationPools "/[name='ИмяПула'].processModel.password:ВашАктуальныйПароль"- Проверьте права учетной записи на вход в качестве пакетного задания:
Откройте secpol.msc > Параметры безопасности > Локальные политики > Назначение прав пользователя > Вход в качестве пакетного задания > Убедитесь, что учетная запись или группа IIS_IUSRS добавлена в список.
- Переведите пул на ApplicationPoolIdentity:
# Переключение пула на встроенное изолированное удостоверение:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" set apppool /apppool.name:"ИмяПула" /processModel.identityType:ApplicationPoolIdentity
# Запуск пула приложений:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" start apppool /apppool.name:"ИмяПула"Совет: Если сервисный пользователь находится в Active Directory, убедитесь, что его учетная запись не заблокирована политикой защиты от подбора паролей (Account Lockout Policy).
Частые вопросы (FAQ)
Почему возникает Event ID 5059?
Служба WAS не смогла выполнить вход от имени пользователя, указанного в параметрах Identity пула (неверный пароль, истекший срок действия или блокировка).
Как переключить все пулы сервера на ApplicationPoolIdentity одной командой?
Выполните в PowerShell: Get-IISAppPool | ForEach-Object { Set-ItemProperty ("IIS:\AppPools\" + $_.Name) -Name processModel.identityType -Value 4 }.
Чем отличается ApplicationPoolIdentity от NetworkService?
ApplicationPoolIdentity изолирует каждый пул под своим уникальным виртуальным SID, в то время как NetworkService является общей системной учетной записью.
Как проверить, заблокирован ли доменный пользователь?
Используйте команду: Get-ADUser -Identity "Username" -Properties LockedOut | Select-Object LockedOut.