После установки нового сервера WSUS в сети нашей компании многие клиенты не смогли получить новые обновления с сервера с ошибкой 0x80244010. Как оказалось, эта ошибка характерна не только для компьютеров, обновляющихся с внутреннего сервера WSUS, но и для устройств, получающих обновления напрямую с Windows Update. Рассмотрим, основные способы исправления ошибки 0x80244010 и восстановления работоспособности системы обновлений.
Для диагностики проблемы нужно открыть лог агента обновлений WindowsUpdate.log (в Windows 7 и 8 он находится в каталоге %Windir% , а в Windows 10 его можно получить так). В журнале обновлений при этом будут присутствовать такие строки:
2018-04-10 18:40:38:994 828 11a3c PT WARNING: Exceeded max server round trips: 0x80244010
2018-04-10 18:40:38:994 828 11a3c PT WARNING: Sync of Updates: 0x80244010
2018-04-10 18:40:38:994 828 11a3c PT WARNING: SyncServerUpdatesInternal failed: 0x80244010
2018-04-10 18:40:38:994 828 11a3c Agent * WARNING: Failed to synchronize, error = 0x80244010
2018-04-10 18:40:39:024 828 11a3c Agent * WARNING: Exit code = 0x80244010
2018-04-10 18:40:39:024 828 11a3c Agent *********
2018-04-10 18:40:39:024 828 11a3c Agent ** END ** Agent: Finding updates [CallerId = AutomaticUpdates]
2018-04-10 18:40:39:024 828 11a3c Agent *************
2018-04-10 18:40:39:024 828 11a3c Agent WARNING: WU client failed Searching for update with error 0x80244010
2018-04-10 18:40:39:024 828 1017c AU >>## RESUMED ## AU: Search for updates [CallId = {128CCEAD-F84D-405E-9BC2-607D1694894B}]
2018-04-10 18:40:39:024 828 1017c AU # WARNING: Search callback failed, result = 0x80244010
2018-04-10 18:40:39:024 828 1017c AU # WARNING: Failed to find updates with error code 80244010
Наибольший интерес вызывает строка Exceeded max server round trips: 0x80244010. Т.е. превышено максимальное число обращений к серверу обновлений (WSUS) во время сканирования обновлений. Об этом же свидетельствует код ошибки Windows Update согласно таблице (SUS_E_PT_EXCEEDED_MAX_SERVER_TRIPS). Т.е. сервер отключает клиента, который превысил лимит обращений. Этот лимит обращений в протоколе получения обновлений Windows устанавливается на сервере обновлений и по умолчанию составляет 200 обращений. Также имеется лимит на максимальный размер XML файла, который клиент получает с сервера в рамках одного обращения — 200 Кб. Чем большее количество обновлений на сервере для клиента нужно проверить, тем больший размер скачиваемого XML файла. В том случае, если клиенту не удается получить необходимые данные за 200 сессий, он временно отключается от сервера и возвращает ошибку.
Эта ошибка возникает, как правило, из-за плохого или нестабильного сетевого соединения с сервером обновлений или когда клиенту нужно получить слишком большое количество обновлений (новый клиент сервера WSUS или компьютер, на котором давно не устанавливались обновлений).
Самый простой вариант попробовать на клиенте несколько раз (3-7 раз) нажать кнопку Try Again или выполнить команду
wuauclt.exe / detectnow
Важно. После каждого запуска поиска обновлений нужно выждать около 15 минут, чтобы дождаться окончания предыдущего цикла поиска обновлений).
В большинстве случаев это решает проблему, но в том случае если клиентов в сети много, такой способ решения проблемы неприемлем.
По умолчанию клиент проверяет обновления на сервере каждые 22 часа. Можно увеличить частоту таких синхронизаций с помощью групповой политики Automatic Update detection frequency (в секции Computer Configuration -> Adminsitrative Templates -> Windows Components -> Windows Update), например до 3 часов.
Также можно на стороне сервера WSUS убрать ограничение на максимальный размер XML файла, который может скачать клиент с сервера. Для этого придется выполнить следующую команду в базе данных WSUSDB.
USE SUSDB
GO
UPDATE tbConfigurationC SET MaxXMLPerRequest = 0
Если вам не хочется менять настройки в базе WSUS, можно выполнить очистку WSUS сервера с помощью встроенного мастера очистки (Консоль Update Service -> Options -> Server Cleanup Wizard -> все опции -> Next), удалив старые, неиспользуемые и замененные обновления (особенно много мусора от обновлений MS Office). В результате такой операции, клиент Windows Update будет получать намного меньше мета-информации с WSUS сервера, и его взаимодействие должно уместиться в 200 сессий по 200кб.
Кроме того, если клиентов сервера WSUS достаточно много, можно попробовать увеличить производительность пула WsusPool согласно рекомендаций из статьи: Ошибка обновления Windows 80244022.
Если все рассмотренные способы не помогли исправить ошибку обновления на каком-то клиенте, выполните на нем скрипт сброса текущих настроек WSUS и удаления локального кэша. После чего выполните несколько циклов поиска обновлений.