Принудительная проверка обновлений Windows Server 2019 через Интернет в обход WSUS
Симптомы блокировки поиска обновлений через Интернет
При попытке запустить проверку обновлений в оснастке параметров Windows Server 2019 процесс завершается ошибками 0x8024401C, 0x8024500C или 0x80240438, либо кнопка «Проверить наличие обновлений в сети» отсутствует из-за примененных доменных групповых политик (GPO), принудительно направляющих трафик на недоступный или несинхронизированный сервер WSUS.
| Симптом | Где регистрируется | Причина |
|---|---|---|
| Ошибка 0x8024401C / 0x8024500C | Интерфейс Windows Update / CBS.log | Таймаут подключения к локальному серверу WSUS или блокировка прямого выхода во внешнюю сеть |
| Опция проверки через Интернет скрыта | Параметры обновления | Включена политика DoNotConnectToWindowsUpdateInternetLocations |
| Зависание сканирования на 0% | WindowsUpdate.log | Повреждение кэша метаданных клиента SoftwareDistribution |
Пошаговый алгоритм принудительного поиска обновлений через Интернет
Для прямого обращения к официальным серверам Microsoft Update требуется переопределить ветку реестра Windows Update и вызвать сканирование через модуль USO (Update Session Orchestrator).
- Временно отключите привязку к внутреннему серверу WSUS в реестре:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" -Value 0 -Type DWord -Force; Restart-Service -Name wuauserv -Force - Инициируйте прямое сканирование через Windows Update API с помощью PowerShell:
$updateSession = New-Object -ComObject Microsoft.Update.Session; $updateSearcher = $updateSession.CreateUpdateSearcher(); $updateSearcher.ServerSelection = 2; $searchResult = $updateSearcher.Search("IsInstalled=0 and Type='Software'"); $searchResult.Updates | Select-Object Title, MsrcSeverity, IsDownloaded - Запустите фоновый процесс поиска и инсталляции через UsoClient:
USOClient.exe StartInteractiveScan; USOClient.exe StartDownload; USOClient.exe StartInstall - Альтернативное использование командлета PSWindowsUpdate: установите модуль и запустите сканирование с прямым указанием службы Microsoft Update Service ID:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force; Install-Module PSWindowsUpdate -Force; Get-WindowsUpdate -ServerSelection MicrosoftUpdate -Install -AcceptAll -IgnoreReboot
Важно: После завершения установки не забудьте вернуть параметр UseWUServer = 1, если сервер должен управляться корпоративным регламентом WSUS/SCCM, либо выполните команду gpupdate /force для автоматического применения параметров из GPO.
Частые вопросы (FAQ)
Чем отличается значение ServerSelection = 2 от других?
В COM-объекте Windows Update Session константа 2 принудительно переключает клиента на внешний каталог Windows Update Catalog в Интернете, игнорируя локальный корпоративный WSUS.
Почему wuauclt /detectnow не работает в Windows Server 2019?
Утилита wuauclt признана устаревшей начиная с Windows Server 2016. Управление сессиями обновлений перенесено на подсистему Update Session Orchestrator (UsoClient.exe).
Какие URL-адреса должны быть открыты на корпоративном шлюзе для доступа к обновлениям?
Необходим доступ по портам 80/443 к *.update.microsoft.com, *.windowsupdate.com, *.download.windowsupdate.com и *.delivery.mp.microsoft.com.
Как принудительно сбросить зависший кэш загруженных обновлений перед поиском?
Остановите службы wuauserv и bits, очистите каталог C:\Windows\SoftwareDistribution\Download и запустите службы заново.