
После развертывания нового сервера WSUS в нашей корпоративной сети многие клиенты Windows не смогли получить обновления с сервера с ошибкой 0x80244010. Оказывается, эта ошибка возникает не только на компьютерах, которые загружают обновления с внутреннего сервера WSUS. Она также возникает на устройствах, которые получают обновления непосредственно из Windows Update. Давайте рассмотрим, как исправить ошибку 0x80244010 и восстановить работоспособность Windows Update.
Если вы видите ошибку в графической панели управления или панели настроек при попытке загрузить или установить обновление, вам нужно открыть журнал агента Windows Update. Это %Windir%\WindowsUpdate.log
в старых версиях Windows 7 и 8. В последних версиях Windows 10/11 и Windows Server 2022/2019 следует использовать PowerShell для создания файла WindowsUpdate.log:
В журнале обновлений я обнаружил следующие ошибки:
PT WARNING: Exceeded max server round trips: 0x80244010 PT WARNING: Sync of Updates: 0x80244010 WARNING: SyncServerUpdatesInternal failed: 0x80244010 Agent * WARNING: Failed to synchronize, error = 0x80244010 Agent * WARNING: Exit code = 0x80244010 Agent ** END ** Agent: Finding updates [CallerId = AutomaticUpdates] 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
Наиболее интересной строкой является ошибка «Превышено максимальное количество обходов сервера: 0x80244010″. В этом сообщении об ошибке говорится, что при попытке проверить наличие обновлений на сервере обновлений (в моем случае WSUS) было превышено максимальное количество запросов. Сервер обновлений отключает клиента, который превысил максимальное количество обращений (по умолчанию ограничение составляет 200 обращений).
SUS_E_PT_EXCEEDED_MAX_SERVER_TRIPS
в таблице кодов ошибок Windows Update.Windows Update также имеет ограничение в 200 КБ на максимальный размер XML-файла, который клиент может загрузить с сервера за одну поездку. Чем больше обновлений на сервере для проверки клиентом, тем больше размер XML-файла для загрузки. Если клиент не получил необходимые данные с сервера обновлений за 200 попыток, он временно отключится от сервера и вернет ошибку 0x80244010.
Наиболее распространенной причиной этой ошибки является плохое или нестабильное сетевое соединение с сервером обновлений, или если клиент пытается получить слишком много обновлений (новый клиент сервера WSUS или компьютер, который давно не обновлялся).
В большинстве случаев все, что нужно сделать пользователю, — это нажать кнопку Retry/Проверка обновлений Через несколько минут снова нажмите кнопку в Панели управления или выполните эту команду:
wuauclt.exe /detectnow
В большинстве случаев это решает проблему. Однако если в сети много клиентов, такой способ решения проблемы неприемлем.
По умолчанию клиент проверяет сервер на наличие обновлений каждые 22 часа (на самом деле это происходит между 17,5 и 22 часами). Обычно офисный компьютер выключается на ночь, и его рабочий день явно меньше 17 часов. Поэтому проверка обновлений выполняется один раз в день и заканчивается неудачей. И так далее, день за днем.
Вы можете изменить этот интервал с помощью параметров групповой политики компьютера. Откройте редактор локальной групповой политики (gpedit.msc
) или создайте GPO домена с помощью консоли управления групповой политикой (gpmc.msc
). Перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Windows Update.
Включите Частота обнаружения автоматического обновления и уменьшите частоту синхронизации клиента с сервером обновлений до 3 часы.
Также можно снять ограничение на максимальный размер XML-файла, который клиент может загрузить с сервера WSUS. Для этого откройте SQL Server Management Studio и подключитесь к базе данных SUSDB. Выполните следующую команду T-SQL:
USE SUSDB
GO
Проверьте и запомните текущее значение:
select MaxXMLPerRequest from tbConfigurationC
Отключите ограничение размера XML-файла:
UPDATE tbConfigurationC SET MaxXMLPerRequest = 0
Если вы не хотите изменять параметры базы данных WSUS, вы можете очистить сервер WSUS с помощью встроенной функции Мастер очистки (консоль Update Service -> Options -> Server Cleanup Wizard -> all options -> Next) и удалите старые, неиспользуемые или замененные обновления (особенно много мусора в обновлениях MS Office).
В результате клиент Windows Update будет получать гораздо меньше метаинформации от сервера WSUS, а его взаимодействие должно уложиться в 200 сессий по 200 КБ каждая.
Также, если в вашей компании много клиентов WSUS, необходимо увеличить производительность пула WsusPool в IIS на сервере WSUS (может вызывать ошибку Windows Update 0x80244022):
WsusPool (Пулы приложений -> WsusPool -> Дополнительные настройки):
- Ограничение частной памяти (КБ) — 0 (снимается ограничение на использование оперативной памяти рабочими процессами WSUS в размере 1,2 ГБ)
- Длина очереди — 25000 (увеличьте длину очереди пула приложений с 10000)
- Интервал ограничения (минуты) — 15 (увеличение времени сброса счетчика и дросселирования процессора с 5 до 15 минут)
- Ответ о недоступности сервиса — TcpLevel (при старом значении HttpLevel клиенту возвращается ошибка HTTP 503).
Отредактируйте файл конфигурации (C:\Program Files\Update Services\WebServices\ClientWebService\web.config), заменив в нем значение httpRuntime maxRequestLength="4096"
на httpRuntime maxRequestLength="204800" executionTimeout="7200"
Если все вышеперечисленные способы не помогли устранить ошибку обновления на клиенте, попробуйте полностью сбросить настройки агента обновления Windows на компьютере клиента и восстановить параметры по умолчанию. После этого выполните несколько циклов проверки обновлений.