После установки нового сервера WSUS в сети нашей компании многие клиенты не смогли получить новые обновления с сервера с ошибкой 0x80244010. Как оказалось, эта ошибка характерна не только для компьютеров, обновляющихся с внутреннего сервера WSUS, но и для устройств, получающих обновления напрямую с Windows Update. Рассмотрим, основные способы исправления ошибки 0x80244010 и восстановления работоспособности системы обновлений.
Если вы увидели ошибку получения или установки обнволения в графической Control Panel или панели Settings, нужно открыть лог агента WindowsUpdate.log. В старых версиях Windows 7 и 8 это файл
%Windir%\WindowsUpdate.log
. В современных Windows 10/11 и Windows Server 2022/2019 вы можете сгенерировать файл WindowsUpdate.log с помощью PowerShell:
Get-WindowsUpdateLog -logpath C:\PS\Logs\WindowsUpdate.log
В моем случае в журнале обновлений обнаружились такие ошибки:
PT WARNING: Exceeded max server round trips: 0x80244010 PT WARNING: Sync of Updates: 0x80244010 PT WARNING: SyncServerUpdatesInternal failed: 0x80244010 Agent * WARNING: Failed to synchronize, error = 0x80244010 Agent * WARNING: Exit code = 0x80244010 Agent ********* Agent ** END ** Agent: Finding updates [CallerId = AutomaticUpdates] Agent ************* Agent WARNING: WU client failed Searching for update with error 0x80244010 AU >>## RESUMED ## AU: Search for updates [CallId = {128CCEAD-F84D-405E-9BC2-607D1694894B}] AU # WARNING: Search callback failed, result = 0x80244010 AU # WARNING: Failed to find updates with error code 80244010
Обратите внимание на строку Exceeded max server round trips: 0x80244010. Эта ошибка говорит, что при обращении к серверу обновлений (в моем случае это WSUS) было превышено максимальное количество обращений. В результате чего сервер обновлений отключает клиента, который превысил лимит обращений (по умолчанию лимит — 200 обращений).
SUS_E_PT_EXCEEDED_MAX_SERVER_TRIPS
в таблице кодов ошибок Windows Update.Также в Windows Update есть ограничение в 200 Кб на максимальный размер XML файла, который клиент получает с сервера в рамках одного обращения. Чем большее количество обновлений на сервере для клиента нужно проверить, тем больший размер XML файла. Если клиент не смог получить необходимые данные с сервера обновлений за 200 сессий, он временно отключается от сервера и возвращает ошибку.
Чаще всего такая ошибка возникает из-за плохого или нестабильного сетевого соединения с сервером обновлений, или когда клиенту нужно получить слишком большое количество обновлений (новый клиент сервера WSUS или компьютер, на котором давно не устанавливались обновлений).
В большинстве случаев пользователю достаточно через несколько минут повторно нажать на кнопку Retry/ Check for Updates в панели управления или выполнить команду:
wuauclt.exe / detectnow
В большинстве случаев это решает проблему, но в том случае если клиентов в сети много, такой способ решения проблемы неприемлем.
По умолчанию клиент проверяет обновления на сервере каждые 22 часа. Вы можете изменить этот интервал с помощью параметров групповых политик компьютера. Откройте редактор локальной GPO (
gpedit.msc
) или отредактируйте доменные политику в консоли Group Policy Management Console (
gpmc.msc
). Перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update.
Включите параметр Automatic Update detection frequency и увеличьте частоту синхронизаций клиента с сервером обновлений до 3 часов.
Также можно на стороне сервера WSUS убрать ограничение на максимальный размер XML файла, который может скачать клиент с сервера. Для этого откройте SQL Server Management Studio и подключитесь к базе данных SUSDB. Выполните выполнить следующую команду T-SQL.
USE SUSDB
GO
Проверьте и запомните текущее значение:
select MaxXMLPerRequest from tbConfigurationC
Отключите ограничение:
UPDATE tbConfigurationC SET MaxXMLPerRequest = 0
Чтобы не менять настройки в базе WSUS, можно выполнить очистку WSUS сервера с помощью встроенного мастера очистки (Консоль Update Service -> Options -> Server Cleanup Wizard -> все опции -> Next). Это удалит старые, неиспользуемые, и замененные обновления (особенно много мусора от обновлений MS Office), из-за которых может долго выполняться сканирование.
В результате такой операции, клиент Windows Update будет получать намного меньше мета-информации с WSUS сервера, и его взаимодействие должно уместиться в 200 сессий по 200кб.
Также попробуйте увеличить производительность пула WsusPool в IIS на сервере WSUS по рекомендация из стати Ошибка обновления Windows 80244022
WsusPool (Application Pools -> WsusPool -> Advanced settings):
- Private Memory Limit (KB) – 0 (убрать лимит 1.2 на использование RAM рабочим процессов WSUS)
- Queue Length — 25000 (увеличить длину очереди к пулу приложения с 10000)
- Limit Interval (minutes) — 15 (увеличить минут время для сброса счетчиков и выполнения CPU Throttling с 5 минут до 15)
- Service Unavailable Response — TcpLevel (при старом значение HttpLevel клиенту возвращается ошибка HTTP 503)
Отредактируйте файл config ( C:\Program Files\Update Services\WebServices\ClientWebService\web.config), заменив строку
httpRuntime maxRequestLength="4096"
на
httpRuntime maxRequestLength="204800" executionTimeout="7200"
Если все рассмотренные способы не помогли исправить ошибку обновления на клиенте, попробуйте полностью сбросить на нем настройки Windows Update и восстановить настройки по-умолчанию. После чего выполните несколько циклов поиска обновлений.