Установка и обновление сторонних программ с помощью WSUS

Сервер обновлений WSUS можно использовать не только для установки обновлений на продукты Microsoft (Windows, Office), но и для централизованной установки и обновления любых сторонних программ.

Обычно для установки сторонних приложений в сетях Windows используют возможности GPO по установке программ из MSI пакетов , логон скрипты , или отдельные продукты типа SCCM. Однако вы можете использовать ваш сервер обновлений WSUS для установки, обновления или удаления обновления любых сторонних приложений на компьютерах (например, 7-zip, Adobe Reader, Java, браузеров, обновления драйверов или прошивок BIOS/UEFI и т.д.).

По умолчанию WSUS не поддерживает сторонние программы, однако через открытый WSUS API можно опубликовать и распространить через WSUS любой пакет. В этой статье мы рассмотрим, как использовать open-source WSUS Package Publisher чтобы создать пакет установки (обновления) для любой программы, опубликовать его на WSUS, одобрить для установки на компьютерах домена и отследить статус распространения.

Установка и настройка WSUS Package Publisher

Преимущества WSUS Package Publisher:

  • Интеграция со WSUS: использование инфраструктуры WSUS и существующих групп распространения обновлений;
  • Можно создавать пакеты обновлений из MSI/MSP, EXE файлов или собственных скриптов;
  • Отслеживание результатов установки/обновления программ на компьютерах.

Подразумеваем, что вы уже установили и настроили роль сервера обновлений WSUS на Windows Server , установили .NET Framework 3.5 (или выше) и создали групповые политики для нацеливания Windows клиентов на WSUS сервер .

  1. Скачайте архив с бинарными файлами Wsus Package Publisher с GitHub ( https://github.com/DCourtel/Wsus_Package_Publisher/releases ) и распакуйте его в локальный каталог на сервере WSUS;
  2. Запустите Wsus Package Publisher.exe ;
  3. Подключитесь к локальному серверу WSUS;
  4. При первом запуске утилита укажет, что нужно создать сертификат, который будет использоваться для подписывания обновлений. Выберите Tools -> Certificates ; Запустить Wsus Package Publisher
  5. Если у вас отсутствует собственная инфраструктура PKI, утилита сгенерирует для вас самоподписанный сертификат типа Code Signing (можно создать самоподписанный сертификат с помощью PowerShell ); Создать сертификат для пакетов WSUS
  6. Сохраните сертификат в .CER файл и установите его на компьютеры, которые будут получать обновления программ;
  7. Проще всего распространить сертификат на клиентов с помощью GPO . Откройте консоль управления доменными групповыми политиками , выберите вашу GPO с настройками WSUS. Перейдите в раздел Computer Configuration –> Policies –> Windows Settings –> Security Settings –> Public Key Policies –> Trusted Root Certification Authorities и импортируйте сертификат в хранилища Trusted Root Certification Authorities и Trusted Publishers ; Установить сертификат WSUS на компьютеры
  8. Затем перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Update — > Manage updates offered from Windows Server Updates Service и включите параметр Allow signed content from intranet Microsoft update service location (если вы хотите устанавливать обновления и программы на компьютеры в рабочей группе, нужно включить на них параметр реестра: r eg add HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdate /f /v AcceptTrustedPublisherCerts /t REG_DWORD /d 1 ) Параметр GPO: Allow signed content from intranet Microsoft update service location

Создать пакет обновления программы для установки через WSUS

Теперь можно создать пакет установки (обновления) программы, который будет распространятся через WSUS. В этом примере мы будем обновлять старые версии архиватора 7-Zip на компьютерах в домене.

  1. Выберите меню Updates -> Create new update ;
  2. Скачайте последнюю версию установочного MSI файла 7 zip с официального сайта и укажите путь к нему; Создать установочный пакет WSUS из MSI файла программы
    WSUS Package Publisher можно использовать и для распространения EXE файлов. Некоторые EXE установщики можно преобразовать в MSI пакеты с помощью MSI Wrapper.

  3. Укажите название пакета и описание, которые будут отображаться в окне Windows Update на клиентах;
  4. На следующем этапе нужно указать критерии, по которым WSUS будет определять, что данное обновление (программа) уже установлено на компьютере.
    В примере с 7 Zip мы будет проверять, что в ветке реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall7-Zip существует параметр DisplayVersion со значением 23.01 (это самая последняя версия 7Zip на текущий момент). Текущая версиях программы в реестре Это правило пакета WSUS будет выглядеть так (Add Rule -> Registry Version in SZ):
    <bar:RegSz Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWAREMicrosoftWindowsCurrentVersionUninstall7-Zip" Value="DisplayVersion" Comparison="EqualTo" Data="23.01"/>

    Также мы создадим правило, которое проверят что на компьютере установлена 64 битная версия Windows.

    <bar:Processor Architecture="9"/>

    Проверить, что программа уже установлена на комьютере

  5. Нажмите Next и создайте еще одно правило, которое будет определять, нужно ли устанавливать обновление на этом компьютере. В нашем случае это будет обратное правило (когда параметр реестра с указанным значением отсутствует). Можно просто включить опцию Reverse Rule в настройках правила. Создать правило установки пакета WSUS
    В рамках статьи мы немного упростили правило WSUS. Наше правило установит 7ZIP на любой компьютере, даже если он был там не установлен. В реальной среде нужно сначала проверить, что на компьютере установлен любая другая версия 7ZIP.
  6. Нажмите Next . WSUS package publisher создат пакет и опубликует на на WSUS. Публикация пакета со сторонней программой на WSUS

Теперь вы можете установить пакет WSUS на клиентах. Обратите внимание, что для управления сторонними приложениями нужно использовать консоль WSUS Package Publisher, т.к. сторонние пакеты не отображаются в стандартной административной консоли WSUS.

  1. Выберите свой пакет в разделе Updates и выберите Approve ; Одобрить пакет WSUS
  2. Выберите группу клиентов WSUS, на которые нужно одобрить установку программы (выберите Approve For Installation );

    Одобрить программу для установки на клиентах WSUS

  3. Через некоторое время выполните обнаружение обновлений на клиентских компьютерах. В зависимости от настроек политики WSUS, компьютеры должны скачать и установить обновление;
  4. Проверьте на клиенте, что пакет с обновлением 7-ZIP скачался и установился успешно. Выполните команду Get-WindowsUpdate из PowerShell модуля PSWindowsUpdate . Get-WindowsUpdate

Вы можете отслеживать статус установки/обновления программ на компьютерах клиентов в консоли. Выберите ваш пакет и перейдите на вкладку Report . Здесь видно на скольких компьютерах программы была установлена/обновлена. WSUS - статус установки (обновления) программы на компьютерах

Таким образом с помощью WSUS вы можете установить или обновить любые программы на компьютерах.

EnglishRussianUkrainian