Местный сервер WSUS (Windows Server Update Services) можно использовать не только для развертывания обновлений для продуктов Microsoft (Windows, Office), но и для централизованной установки и обновления любого программного обеспечения сторонних производителей.
Для установки программного обеспечения сторонних производителей в сетях Windows обычно используются следующие варианты: Приложения в MSI-пакете можно установить с помощью GPO, сценариев входа в систему или отдельных продуктов, таких как ConfigMgr (SCCM). Однако вы можете устанавливать, обновлять или удалять обновления для любого стороннего программного обеспечения на компьютерах пользователей с помощью сервера обновлений WSUS (например, 7-Zip, Adobe Reader, Java, браузеры, обновление драйверов или встроенного ПО BIOS/UEFI и т. д.).
По умолчанию WSUS не поддерживает программное обеспечение сторонних производителей, но любой пакет/скрипт обновления можно опубликовать и распространить через WSUS, используя открытый WSUS API. В этой статье мы рассмотрим, как использовать открытый источник Издатель пакетов WSUS для создания пакета установки (обновления) для любого приложения, публикации его в WSUS, утверждения его для установки на компьютерах домена и отслеживания состояния его развертывания.
Как установить и настроить издателя пакетов WSUS
Преимущества издателя пакетов WSUS:
- Интеграция с WSUS: позволяет использовать инфраструктуру WSUS и существующие группы распространения обновлений;
- Вы можете создавать пакеты обновлений WSUS из файлов MSI/MSP, EXE-файлов или собственных сценариев;
- Позволяет отслеживать результаты установки обновлений программного обеспечения на компьютерах.
Мы предполагаем, что вы уже установили и настроили роль WSUS Update Server на Windows Server, установили .NET Framework 3.5 (или новее) и создали GPO для указания клиентам Windows на сервер WSUS.
- Скачайте файл Издатель пакетов WSUS бинарный архив с GitHub (https://github.com/DCourtel/Wsus_Package_Publisher/releases) и распакуйте его в локальный каталог на сервере WSUS;
- Запустите
Wsus Package Publisher.exe
; - Подключитесь к локальному серверу WSUS;
- При первом запуске инструмента вам будет предложено создать сертификат, который будет использоваться для подписи обновлений. Выберите Инструменты -> Сертификаты;
- Если у вас нет собственной инфраструктуры PKI, утилита сгенерирует самоподписанный сертификат Code Signing (для создания самоподписанного сертификата можно использовать PowerShell);
- Экспортируйте сертификат в файл .CER файл и установите его на компьютеры, которые будут получать обновления программного обеспечения от WSUS;
- Самый простой способ — развернуть сертификат на клиентских компьютерах с помощью GPO. Откройте консоль управления групповой политикой домена (
gpmc.msc
), выберите GPO, содержащий параметры клиента WSUS. Перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Public Key Policies -> Trusted Root Certification Authorities и импортируйте сертификат в Доверенные корневые центры сертификации и Доверенные издательства магазины; - Затем перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Update — > Manage updates offered from Windows Server Updates Service и включите опцию Разрешить подписанное содержимое из расположения службы обновлений Microsoft в интрасети. Если вы хотите устанавливать обновления и программы на компьютерах, не являющихся доменом (в рабочей группе), включите следующий параметр реестра на клиентах:
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /f /v AcceptTrustedPublisherCerts /t REG_DWORD /d 1
Создание пользовательского пакета обновлений сторонних производителей для развертывания через WSUS
Теперь можно создать пакет обновления (установки) программы, который будет распространяться WSUS. В этом примере мы собираемся обновить старые версии архиватора 7-Zip на компьютерах, подключенных к домену.
- Выберите Обновления -> Создать новое обновление;
- Загрузите последнюю версию установщика 7 Zip MSI с официального сайта и укажите путь к нему;
Издатель пакетов WSUS также может использоваться для развертывания EXE-файлов. MSI Wrapper можно использовать для преобразования некоторых инсталляторов EXE в пакеты MSI.
- Укажите имя и описание пакета, которые будут отображаться в диалоговом окне Windows Update на клиентских компьютерах;
- Следующим шагом будет указание критериев, по которым WSUS будет определять, что данное обновление (программа) уже установлено на компьютере. В примере 7 Zip мы проверим, что программа
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-Zip
ключ реестра имеет значениеDisplayVersion
параметр со значением 23.01 (это последняя версия 7Zip). Правило пакета WSUS будет выглядеть следующим образом (Add Rule -> Registry Version in SZ):<bar:RegSz Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-Zip" Value="DisplayVersion" Comparison="EqualTo" Data="23.01"/>
Затем создайте правило, чтобы убедиться, что у вас установлена версия x64 Windows:<bar:Processor Architecture="9"/>
- Нажмите Следующий и создайте еще одно правило, чтобы решить устанавливать ли обновление на этом компьютере. В данном примере будет действовать обратное правило (когда в реестре нет значения с указанным значением). Вы можете просто включить Обратное правило в настройках;
В этом посте мы сделали правило WSUS немного проще, чем в реальной жизни. Наше правило установит 7ZIP на любой компьютер, даже если он еще не установлен В реальной среде первым делом проверьте, не установлена ли на вашем компьютере другая версия 7-ZIP.
- Щелкните . Следующий. WSUS Package Publisher создаст и опубликует пакет на сервере WSUS.
Теперь можно развернуть пакет обновлений программного обеспечения на клиентах WSUS. Обратите внимание, что для управления обновлениями сторонних производителей необходимо использовать консоль WSUS Package Publisher, поскольку эти пакеты не отображаются в стандартной консоли администрирования WSUS.
- Выберите пакет обновления в разделе Обновления и нажмите Одобрить;
- Выберите группу клиентов WSUS, которые должны одобрить установку программы (Одобрить установку);
Подробнее о том, как утверждать обновления в WSUS.
- Через некоторое время выполните сканирование на наличие обновлений на клиентских компьютерах. Клиентские компьютеры загружают и устанавливают обновления в соответствии с настройками политики WSUS;
- На клиенте проверьте, что пакет обновления 7-ZIP успешно загружен и установлен. Запустите
Get-WindowsUpdate
команду из модуля PSWindowsUpdate PowerShell.
В консоли можно отслеживать процесс установки обновлений на клиентских компьютерах. Выберите пакет и перейдите в раздел Отчет вкладка. Здесь можно увидеть количество компьютеров, на которых была установлена или обновлена программа.
Таким образом, с помощью WSUS можно легко обновлять любое программное обеспечение сторонних производителей на компьютерах в сети.