Не все фиксы, исправления и обновления для продуктов Microsoft доступны для установки в консоли Windows Server Update Services WSUS. Например, у вас в настройках может быть отключена синхронизация обновлений для определенного продукта, версии Windows или класса обновлений. Также в консоли WSUS отсутствуют обновления, которые предназначены для решения конкретной проблемы и не подразумевают массовой установки всем пользователям. Однако, если вы можете вручную добавить (импортировать) во WSUS или SCCM (Configuration Manager) любое обновление, доступное в каталоге обновлений Microsoft (Microsoft Update Catalog).
К примеру, мы хотим добавить в список обновлений WSUS отсутствующее в нем обновление KB3125574 (convenience roll-up update, позволяющий исправить проблему высокой загрузки RAM службой wuauserv и долгого поиска обновлений в Windows).
Импорт обновления во WSUS с помощью Internet Explorer
- Откройте консоль WSUS;
- В дереве консоли щелкните ПКМ по разделу Updates и выберите пункт Import Updates;
- После этого запустится Internet Explorer, который автоматически перейдет на страницу Microsoft Update Catalog;При первом посещении сайта каталога обновлений Microsoft в IE нужно будет установить специальное ActiveX расширение. Желательно также добавить сайт Microsoft Update Catalog в доверенные. Можно зарегистрировать данный ActiveX компонент командой:
regsvr32 c:\Windows\SysWOW64\MicrosoftUpdateCatalogWebControl.dll
- С помощью поиска найдите нужные вам обновления (KB) и добавьте их в корзину кнопкой Add (желательно добавлять во WSUS не более 20-30 обновлений за раз);
- Затем откройте корзину, нажав на ссылку View basket;
- Установите галку Import directly into Windows Server Update Services (если данная опция недоступна, проверьте что у вас имеются права администратора на сервере WSUS) и нажмите на кнопку Import;
- Дождитесь окончания загрузки обновлений (если загрузка прервется, повторите ее);
- Затем найдите добавленные вами обновления в консоли WSUS (в разделе All Updates). Одобрите установку обновлений на нужные группы компьютеров (как правило проще всего привязать компьютеры к группам WSUS через GPO).
Таким образом на WSUS сервер можно импортировать любые обновления из каталога Microsoft, в том числе драйвера, Service Pack, Feature Packs и т.д.
Ошибки импорта обновлений и драйверов во WSUS
В WSUS запущенном на Windows Server 2019/2016 при импорте обновлений вы можете столкнуться с ошибкой:
"This update cannot be imported into Windows Server Update Services. Cause: it is not compatible with your version of WSUS"
При появлении такой ошибки вам нужно вручную изменить URL адрес, который генерируется после нажатия на кнопку Import Updates. Замените в URL адресе
http://catalog.update.microsoft.com/… &Protocol=1.20
на
Protocol=1.80
.
Должна получиться примерно такая ссылка:
http://catalog.update.microsoft.com/v7/site/Home.aspx?SKU=WSUS&Version=10.0.14393.2248&ServerName=<servername>&PortNumber=8530&Ssl=False&Protocol=1.80
Если при импорте обновлений во WSUS появляется ошибка Failed (error number: 80131509), включите поддержку усиленного шифрования TLS 1.2 для версии .Net Framework 4 на сервере WSUS. Для этого нужно в реестре задать параметру SchUseStrongCrypto значение 1.
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319 /V SchUseStrongCrypto /T REG_DWORD /D 1
Добавление обновление во WSUS с помощью PowerShell
Вы можете добавить обновления на сервер WSUS с помощью PowerShell. Для этого нужно скачать файл обновления из каталога обновлений Microsoft и получить его GUID.
Найдите нужную вам KB в консоли WSUS и щёлкните по его названию. Откроется веб страница с описанием обновления. Скопируйте значение updateid, скачайте MSU файл обновления на локальный диск.
Подключитесь к серверу WSUS из консоли PowerShell:
$WsusSrv = Get-WsusServer
(если вы запустили консоль PowerShell непосредственно на сервере WSUS)
$WsusSrv = Get-WsusServer -Name msk-wsus -PortNumber 8531 –UseSsl
(если вы подключаетесь к серверу WSUS удаленно)
Теперь можно добавить скачанное обновление на WSUS. Используется следующая команда импорта:
$WsusSrv.ImportUpdateFromCatalogSite('UpdateGUID', 'Update.msu')
Например:
$WsusSrv.ImportUpdateFromCatalogSite(‘a5e40bf9-f1dc-4e6d-93e7-b62c6bf1ce3e’, c:\ps\updates\kb5005260.msu)
Можно проверить, что обновление импортировано успешно:
Просмотреть информацию про обновление можно так:
$WsusSrv.SearchUpdates(‘kb5005260’) | fl *
При импорте обновления через PowerShell может появится ошибка:
Exception calling “ImportUpdateFromCatalogSite” with “2” argument(s): “The underlying connection was closed: An unexpected error occurred on a send.” + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : WebException
Здесь также причина в том, что PowerShell пытается установить подключение к сайту через TLS 1.0, которое блокируется сервером WSUS. Для решения проблемы нужно добавить параметр SchUseStrongCrypto на сервере WSUS (и перезагрузить его):
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319 /V SchUseStrongCrypto /T REG_DWORD /D 1
После этого импорт обновления на сервер WSUS из PowerShell будет работать корректно.