Настройка WSUS после установки

После установки WSUS всё вроде бы идёт нормально,но потом… WSUS отваливается или клиенты Windows 10 не могут получить список обновлений.
К сожалению, это неизбежная ситуация на WSUS 2016/1019, у которых есть клиенты Windows 10 или Server 2016/2019.
Происходит из-за того, что на веб-сервере IIS у пула WsusPool не хватает памяти. При первом сканировании свежедобавленного клиента происходит слишком большой обмен информацией, и пул крашится.

Отредактируйте файл C:\Program Files\Update Services\WebServices\ClientWebService\web.config, заменив строку

<httpRuntime maxRequestLength="4096" />

на

<httpRuntime maxRequestLength="204800" executionTimeout="7200" />
Сделать это не так просто: файл по-умолчанию не разрешён для редактирования даже администратору системы! Необходимо стать владельцем файла (по-умолчанию владельцем значится Trusted Installer), а потом добавить возможность группе Administrators права на запись.

Далее с помощью консоли IIS Manager нужно внести следующие изменения в настройки пула WsusPool (Application Pools -> WsusPool -> Advanced settings)

  • Queue Length — 25000 (увеличиваем длину очереди к пулу приложения с 1000)
  • Limit Action — ThrottleUnderLoad (изначально может стоять NoAction)
  • Limit Interval (minutes)  15 (увеличиваем с 5 минут до 15 минут время для сброса счетчиков и выполнения CPU Throttling)
  • Service Unavailable Response  TcpLevel (при старом значение HttpLevel  клиенту возвращается ошибка HTTP 503, теперь соединение просто сбрасывается)
  • Private Memory Limit (KB)  0 или 4194304 для установки ограничения в 4ГБ (было 1258015, убирается лимит на использование памяти рабочим процессов WSUS, в результате служба может использовать более 1,2 Гб памяти)

Затем в настройках сайта WSUS Administration -> Advanced settings нужно изменить значение Connection Time-out со 180 на 320.

После изменения настроек необходимо перезапустить веб-сервер: iisreset

Источники информации:

Ошибка 0x80244022 и проблема остановки WsusPool из-за недостатка памяти
https://winitpro.ru/index.php/2017/08/10/oshibka-0x80244022-i-problema-ostanovki-wsuspool/

Ошибка 0x8024401c в Windows 10 при поиске обновлений на WSUS
https://winitpro.ru/index.php/2017/06/01/oshibka-0x8024401c-v-windows-10-pri-poiske-obnovlenij-na-wsus/

Полный список всех кодов ошибок Windows Update
https://winitpro.ru/index.php/2017/10/31/polnyj-spisok-vsex-kodov-oshibok-windows-update/

Настройка WSUS для недоменных компьютеров

Если необходимо настроить службу Windows Update на получение обновлений с сервера WSUS вручную, на помощь придёт .reg-файл со следующим содержимым:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"ExcludeWUDriversInQualityUpdate"=dword:00000001
"TargetGroupEnabled"=dword:00000001
"TargetGroup"="Servers"
"DoNotConnectToWindowsUpdateInternetLocations"=dword:00000001
"DisableDualScan"=dword:00000001
"WUServer"="https://wsus-server.yourdomain.local:80"
"WUStatusServer"="https://wsus-server.yourdomain.local:80"
"UpdateServiceUrlAlternate"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"DetectionFrequencyEnabled"=dword:00000001
"DetectionFrequency"=dword:00000004
"AUPowerManagement"=dword:00000000
"NoAutoUpdate"=dword:00000000
"AUOptions"=dword:00000002
"ScheduledInstallDay"=dword:00000000
"ScheduledInstallTime"=dword:0000000c
"UseWUServer"=dword:00000001

Подправить под себя адрес сервера, порт и TargetGroup.

Замена wuauclt в Windows 10 / Windows Server 2016

Начиная с Windows Server 2016 (и Windows 10) больше нет возможности запустить принудительную проверку апдейтов, введя команду wuauclt.exe /detectnow, она просто ничего не делает.
В новомодной панели управления доступна только кнопка Check for updates, которая проверяет, тут же скачивает и устанавливает найденные апдейты (рис.1)
При этом, если апдейты уже были найдены по расписанию, поискать заново апдейты без установки – никак (рис.2)… Только перезапуском службы. Кнопка Download также сразу начинает установку после скачивания.

В общем, есть замена wuauclt.exe. Встречаем – UsoClient.exe, расположенный в C:\Windows\System32.
В командной строке вместо wuauclt.exe /detectnow нужно ввести:

usoclient StartScan

Другие ключи запуска и ещё много полезной инфы: https://wuauclt.info/usoclient.asp