Установка и обновление сторонних программ с помощью 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 ;
  5. Если у вас отсутствует собственная инфраструктура PKI, утилита сгенерирует для вас самоподписанный сертификат типа Code Signing (можно создать самоподписанный сертификат с помощью PowerShell );
  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 ;
  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 )

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

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

  1. Выберите меню Updates -> Create new update ;
  2. Скачайте последнюю версию установочного MSI файла 7 zip с официального сайта и укажите путь к нему;
    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. Наше правило установит 7ZIP на любой компьютере, даже если он был там не установлен. В реальной среде нужно сначала проверить, что на компьютере установлен любая другая версия 7ZIP.
  6. Нажмите Next . WSUS package publisher создат пакет и опубликует на на WSUS.

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

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

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

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

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

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

2 месяца ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

2 месяца ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

2 месяца ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

2 месяца ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

2 месяца ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

2 месяца ago