Wsus package publisher установка приложений
Как распространить программу при помощи WSUS и Local Update Publisher
Как распространить программу при помощи WSUS и Local Update Publisher
Всем привет сегодня расскажу как распространить программу при помощи WSUS и Local Update Publisher. Для разворачивания программ в среде Windows обычно используются logon-скрипты, групповые политики или SCCM. Для разворачивания обновлений Microsoft — дополнительно ещё и WSUS. На самом деле WSUS можно использовать и для разворачивания любых приложений, и для сторонних не-microsoft обновлений. Для этого он имеет API, но штатно им пользоваться может только SCUP, который требует для использования лицензию SCCM. Но можно воспользоваться и сторонним средством — Local Update Publisher. О нём и пойдёт речь далее.
Как распространить программу при помощи WSUS и Local Update Publisher-01
Как распространить программу при помощи WSUS и Local Update Publisher-02
Как распространить программу при помощи WSUS и Local Update Publisher-03
Экспортированный сертификат можно распространить на все компьютеры групповыми политиками. Сертификат должен быть включен в два хранилища — Доверенные корневые центры сертификации и Доверенные издатели.
Как распространить программу при помощи WSUS и Local Update Publisher-04
Как распространить программу при помощи WSUS и Local Update Publisher-05
На следующем шаге выбираем тип обновления — Application, пишем название пакета и описание. Обязательно записываем вендора и название продукта, новые версии продукта будут складываться туда же. Остальное опционально. Тут же можно задать зависимости от других пакетов (нам это не нужно в данном случае) и какие пакеты это обновление заменяет (понадобится при разворачивании новой версии).
Как распространить программу при помощи WSUS и Local Update Publisher-06
На следующем шаге надо задать правила, по которым будет понятно, что пакет уже установился и больше его ставить не надо. Для MSI-пакетов LUP всегда создаёт правило, основанное на версии установленного MSI-пакета. В данном случае этого достаточно.
Как распространить программу при помощи WSUS и Local Update Publisher-07
На этом шаге необходимо задать правила, по которым будет понятно, необходим ли данный неустановленный пакет, можно ли его вообще установить на данной системе. Для MSI-пакетов LUP всегда создаёт правило с отрицанием, основанное на версии установленного MSI-пакета. Т.е. установить можно, если не было уже установлено. Нам этого достаточно.
Как распространить программу при помощи WSUS и Local Update Publisher-08
На следующих шагах позволяется вручную отредактировать различные xml-файлы, но это не требуется и можно жать «далее» до самого конца и получения окошка с сообщением, что пакет удалось создать. В дереве пакетов должен появиться вендор и продукт, заданные в пакете. Если нажать на продукт, то будет видно созданный пакет. Т.к. созданные пакеты не отображаются в обычной консоли управления WSUS, то их нужно одобрить в LUP. Для этого надо жмакнуть правой кнопкой на пакете и выбрать «Одобрить».
Как распространить программу при помощи WSUS и Local Update Publisher-09
В появившемся окне видны группы компьютеров WSUS. Одобрим пакет для опциональной установки для тестовой группы компьютеров.
Как распространить программу при помощи WSUS и Local Update Publisher-10
Если всё сделано правильно, то в течении минуты на клиентском компьютере можно поискать обновления. Если пакет ещё не был установлен, то он появится в рекомендуемых обновлениях. Кстати, при определённых настройках, устанавливаются обновления, не требуя от пользователя повышенных привилегий.
Как распространить программу при помощи WSUS и Local Update Publisher-11
Если клиентский компьютер был только что перемещен в эту группу, то он может долго кешировать принадлежность к группам и не находить обновлений. Форсировать можно при помощи команды wuauclt /resetauthorization /detectnow на клиенте.
С некоторым запозданием, как и с обычными обновлениями, клиенты сообщают статус установки пакетов в WSUS и их можно посмотреть на вкладке «Статус».
Вот и всё. Теперь в вашем распоряжении мощный инструмент, который часто уместнее разворачивания программ традиционными способами вроде групповых политик. Кстати, не только разворачивания, но и удаления ?
Вот так вот просто распространить программу при помощи WSUS и Local Update Publisher.
Подводные камни WSUS Package Publisher
Невозможно проверить сигнатуру для файла \\[serverName]\UpdateServicesPackages\AppName_abf10b91-bfa6-44ff-aa54-099e4bf1487d\a7f3d4b2-02b6-4f0c-ab9b-e38c8de9c3f0_1.cab
Verification of file signature failed for file: \\[serverName]\UpdateServicesPackages\AppName_abf10b91-bfa6-44ff-aa54-099e4bf1487d\a7f3d4b2-02b6-4f0c-ab9b-e38c8de9c3f0_1.cab
Поставили как-то передо мной задачу развернуть в нашей маленькой сеточке на 1000 машин сервер обновлений. Вообще, администрирование – не моя основная задача, да и последние два года windows в глаза вижу только по очень большим праздникам. Но горячо любимая служба информационных технологий сказала: «Вам безопасникам это надо, вы и занимайтесь».
Так что, собрав волю в кулак, я пошла читать мануалы по разворачиванию WSUS. И если тут все просто, понятно, а все проблемы, которые могли бы возникнуть, уже встречались кому-то и давно описаны на форумах, то с Package Publisher возникло много вопросов.
Для чего он был вообще нужен? Потому что была необходимость централизованно обновлять не только систему и приложения Microsoft, но и сторонние, в частности Firefox. Причем только на тех машинах, на которых он уже установлен. (Как альтернатива рассматривался еще LUP, функционал примерно тот же, но добрые люди на форумах сказали, что он уже не поддерживается и намного сложнее интегрируется с WinServ2016.)
В линухе я привыкла просто клонировать репозитории в гитхаба. А вот за что не стоит любить Windows, там все работает не так. Если скачать репозитоий, просто нажав на зеленую кнопочку, то, о ужас, в архиве не будет EXE-файла. Серьезно, я 20 минут пыталась понять, в чем подвох, и где я его потеряла. Оказалось, надо просто качать определенный релиз.
Установка порадовала, точнее ее отсутствие. EXE-шник запускается, без всякой установки, сам находит WSUS (на той же машине разворачивала) и при подключении к нему выдает сообщение об отсутствии сертификата и невозможности опубликовать обновления.
При создании обновления (о том, как это сделать для Firefox можно почитать тут), на последнем этапе возникает ошибка: «Verification of file signature failed for file:
\\[serverName]\UpdateServicesPackages\AppName_abf10b91-bfa6-44ff-aa54-099e4bf1487d\a7f3d4b2-02b6-4f0c-ab9b-e38c8de9c3f0_1.cab» (Невозможно проверить сигнатуру для файла…). Гугл говорит, что причина в том, что сертификата не хватает в контейнере «доверенные корневые центры сертификации». Но он там был! И не только он! Куда я только его не пробовала положить. Безуспешно.
Через полтора часа безуспешных попыток, я сдалась и решила все же использовать самоподписанный сертификат WPP. Не за что не поверите, что я увидела, зайдя в консоль mmc.
Для подписи кода генерируется специальный сертификат
То есть сертификат должен быть сгенерирован специально для подписи кода. Что еще важно, закрытый ключ должен быть экспортируемым! А дальше дело техники, с помощью ГПО распространить цепочку сертификатов на машинки сети (тут уже без закрытого ключа), и можно централизовано устанавливать и обновлять любые приложения.
Итак, если у вас возникает ошибка Verification of file signature failed for file, или любая другая похожая:
Креативный IT
Хинты и финты для тех, кто гуглит
Прокачиваем WSUS
Как добавить не-Microsoft обновления в WSUS
WSUS (Windows Server Update Services) — это сервер обновлений операционных систем, серверных и прикладных программ. Он позволяет поддерживать продукты Microsoft в актуальном состоянии. Подробнее об этом полезном инструменты можно узнать на странице в Technet.
Кроме программ Microsoft, системные администраторы должны позаботиться и о продуктах других фирм. Большинство популярных, а поэтому потенциально уязвимых программ, таких как Adobe Flash, Adobe Reader, Mozilla Firefox, Google Chrome, умеют обновляться самостоятельно, но часто установщики требуют повышенных привилегий и у пользователя есть возможность их отключить.
Существует возможность централизовать установку сторонних обновлений через WSUS. Для этого можно воспользоваться одной из бесплатных программ, которые умеют работать с сервером обновлений через API:
— Local Update Publisher (перейти на сайт)
— WSUS Package Publisher (перейти на сайт)
Программы делают одно и тоже. На момент написания статьи чуть больше мог WSUS Package Publisher, поэтому…
Установка и настройка WSUS Package Publisher (WPP)
Требования
Wsus Package Publisher можно устанавливать как на сервер WSUS, так и на рабочую станцию. В последнем случае на компьютере должна быть установлена административная консоль WSUS. Также пользователь должен быть локальным администратором и входить в группу «Wsus Administrators» на сервере. На компьютере под управлением Windows 8 должны быть установлены Remote Server Administration Tools (RSAT).
Установка
Скачиваем архив WPP с сайта и извлекаем файлы в папку.
Добавление сервера
Запускаем Wsus Package Publisher.exe. Если WPP находится на сервере WSUS, то он автоматически добавит локальный компьютер в список, в противном случае настраиваем самостоятельно:
— В меню Tools выбираем Settings
— Задаем параметры подключения (поля Server Name, Connection Port, Use SSL)
— Если WPP запущен на сервере WSUS, отмечаем галочку Connect to local server
— Нажимаем Add Server
— При необходимости добавляем другие сервера
В строке меню выбираем нужный сервер, нажимаем кнопку Connect/Reload
Настройка сертификата
Далее нужно настроить сертификат, которым будут подписаны пакеты для распространения через WSUS. В меню Tools открываем пункт Certificate
Здесь можно либо выпустить самоподписанный сертификат (кнопка Generate the certificate), либо загрузить свой, например, выпущенный локальным центром сертификации. Кнопка Load a certificate активируется после ввода пароля от файла с закрытым ключом в поле Password
Замечание: WSUS сервер на Windows Server 2012 R2 (и более поздних) больше не выпускает самоподписанные сертификаты. WPP может может сгенерировать его самостоятельно, но для этого он должен быть запущен на сервере WSUS.
Сохраняем сертификат (Save the certificate), чтобы затем распространить его на клиентские компьютеры.
Перезагружаем сервер WSUS. Достаточно перезапустить службы iis и wsusservice
Проверить, что сертификат был установлен правильно, можно через mmc оснастку «Сертификаты» для локального компьютера. Здесь нужно убедиться в его наличии в контейнерах «WSUS», «Доверенные издатели» («Trusted Publishers») и (для самоподписанного сертификата) в «Доверенные корневые центры сертификации» («Trusted Root Certificates Authorites»).
Важно: При замене сертификата нужно будет переподписать все опубликованные обновления.
Настройка клиентских компьютеров
На конечных компьютерах должен быть установлен сертификат, с помощью которого будут подписываться обновления. А также включен режим позволяющий устанавливать подписанные обновления из локальной сети через WSUS.
Сертификаты
Если сертификат был сгенерирован WSUS или WPP (WSUS self-signed certificate), то его нужно поместить в контейнеры «Доверенные издатели» («Trusted Publishers») и в «Доверенные корневые центры сертификации» («Trusted Root Certificates Authorites») на локальном компьютере. Если сертификат был выпущен, например, доменным центром сертификации, то достаточно добавить его в папку «Доверенные издатели». При этом сертификат выпускающего центра должен находиться в «Доверенных корневых центрах сертификации».
Для компьютеров, которые входят в домен, сертификат можно распространить через групповую политику, добавив его в соответствующие узлы раздела Конфигурация компьютера \ Политики \ Конфигурация Windows \ Параметры безопасности \ Политики открытого ключа
Включение локальных обновлений
Для компьютеров, входящих в домен, нужно включить параметр групповой политики «Разрешить прием обновлений с подписью из службы обновления Майкрософт в интрасети» («Allow signed content from intranet Microsoft update service location»), который находится в разделе Конфигурация компьютера \ Политики \ Административные шаблоны \ Компоненты Windows \ Центр обновления Windows
Для компьютеров из рабочей группы нужно установить параметр в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AcceptTrustedPublisherCerts = 1
Если все сделано правильно, то клиентские компьютеры смогут принимать сторонние обновления, в противном случае появится ошибка Windows Update 800B0109.
Установка любого программного обеспечения средствами WSUS — 2
В продолжение первой части от yosemity я бы хотел представить логическое продолжение и развитие LUP — WSUS Package Publisher. В отличие от LUP, WSUSPP живет, развивается и поддерживает работу с Windows Server 2012. В данной инструкции будут рассмотрены только добавление обновлений, создание правил и описаний самого распространенного стороннего ПО. А именно:
Внимание! Много картинок, ссылок и информации!
Само собой, вам необходим работающий WSUS и WSUSPP. Настройка WSUSPP тривиальна и рассмотрена не будет.
Инструменты, которые не будут лишними:
— Remote MSI Manager — ПО для просмотра/удаления установленных продуктов, установки msi-пакетов на удаленные компьютеры. Понадобится для обнаружения Produst Code’ов.
— SuperOrca — развитие Orca, просмотр/изменение свойств msi-пакетов.
— Несколько тестовых виртуальных машин, количество зависит от вашего парка рабочих мест.
Adobe Flash Player & Adobe Reader
Для данных продуктов на сайте WSUSPP есть примеры, изучить можете самостоятельно. Ссылки на все ресурсы оставлю ниже.
Но чего в инструкциях нет, так это документации по SCUP каталогам. Да-да, WSUSPP поддерживает каталоги сторонних производителей ПО. И именно для этих продуктов Adobe есть предустановленные шаблоны.
Этот же метод можно применить и для Adobe Flash Player. Все необходимые правила уже есть на уровне пакета, и обновление установится только там, где ранее был установлен плейер.
Просто, не правда ли? Все это, конечно, можно делать и вручную.
Архиватор 7-Zip
1) Создаем простое обновление, указываем файл, «Next».
Кстати, советую оставлять несколько версий старых обновлений.
2) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. «Package Type» стоит указать как «Application».
В итоге должно получиться следующее:
Конструкции правил можно сохранять и загружать, для этого в нижней части есть соответствующие кнопки.
5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».
Как вы заметили, мы обновляем только избранные версии.
Upd 2017.01.17: За исправление неточностей благодарю @perlestius.
PDF24 Creator
А что, если у пользователей установлены не 2-3 версии ПО, а 10? Продакт-кодов на них не напасешься. В моем случае это был PDF24 Creator, бесплатный инструмент для работы с PDF.
Помогут нам в этом 2 проверки: существование файла и версия файла. Нельзя ограничиться только проверкой на версию, т.к. в случае отсутствия файла она считается положительной. Еще одним тонким моментов будет то, что PDF24 Creator — это 32-битное приложение. А значит, проверять нужно в обеих папках Program Files и Program Files (x86).
Product Code для версии 7.9.0 — 26364d59-91dd-4b5f-a521-8c7d35e1743c
Первые 2 шага аналогичны оными из примера с 7-Zip
В итоге у вас должно получиться следующее:
5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish»
С msi-пакетами разобрались. А если доступны только exe?
X-Mouse Button Control
Есть такая прекрасная бесплатная программа — X-Mouse Button Control. Она позволяет назначать клавишам мыши множество разных функций и сочетаний. Крайне рекомендую, если используете мышь с 5+ кнопками. Обновления для этого ПО приходят в виде exe-файлов, которые нужно перехватывать в директории Temp активного пользователя. Ссылки на актуальные обновления ниже. Так же для обновления необходимо, чтобы в системе не было запущено ни одного процесса программы. Все это поддерживается, конвертация в msi не требуется.
3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.
6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».
Обновление Adobe Reader XI до Adobe Acrobat Reader DC
Наверное многие задавались этим вопросом. Причем обновлять хочется сразу на актуальную версию. Ничего сложного, нужно лишь несколько дополнительных действий. А так же документация: Bootstrapper с ключами, GUID’ы, Свойства Adobe.
В папку с распакованным содержимым необходимо поместить актуальный патч (на момент написания статья — 15.006.30201).
И, наконец, отредактировать файл Setup.ini, добавив 2 строки:
[Startup]
CmdLine=/sAll /rs /msi UPDATE_MODE=0 EULA_ACCEPT=YES
[Product]
PATCH=AcroRdr2015Upd1500630201_MUI.msp
3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.
6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».
Установка любого программного обеспечения средствами WSUS — 2
В продолжение первой части от yosemity я бы хотел представить логическое продолжение и развитие LUP — WSUS Package Publisher. В отличие от LUP, WSUSPP живет, развивается и поддерживает работу с Windows Server 2012. В данной инструкции будут рассмотрены только добавление обновлений, создание правил и описаний самого распространенного стороннего ПО. А именно:
Внимание! Много картинок, ссылок и информации!
Само собой, вам необходим работающий WSUS и WSUSPP. Настройка WSUSPP тривиальна и рассмотрена не будет.
Инструменты, которые не будут лишними:
— Remote MSI Manager — ПО для просмотра/удаления установленных продуктов, установки msi-пакетов на удаленные компьютеры. Понадобится для обнаружения Produst Code’ов.
— SuperOrca — развитие Orca, просмотр/изменение свойств msi-пакетов.
— Несколько тестовых виртуальных машин, количество зависит от вашего парка рабочих мест.
Adobe Flash Player & Adobe Reader
Для данных продуктов на сайте WSUSPP есть примеры, изучить можете самостоятельно. Ссылки на все ресурсы оставлю ниже.
Но чего в инструкциях нет, так это документации по SCUP каталогам. Да-да, WSUSPP поддерживает каталоги сторонних производителей ПО. И именно для этих продуктов Adobe есть предустановленные шаблоны.
Этот же метод можно применить и для Adobe Flash Player. Все необходимые правила уже есть на уровне пакета, и обновление установится только там, где ранее был установлен плейер.
Просто, не правда ли? Все это, конечно, можно делать и вручную.
Архиватор 7-Zip
1) Создаем простое обновление, указываем файл, «Next».
Кстати, советую оставлять несколько версий старых обновлений.
2) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. «Package Type» стоит указать как «Application».
В итоге должно получиться следующее:
Конструкции правил можно сохранять и загружать, для этого в нижней части есть соответствующие кнопки.
5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».
Как вы заметили, мы обновляем только избранные версии.
Upd 2017.01.17: За исправление неточностей благодарю @perlestius.
PDF24 Creator
А что, если у пользователей установлены не 2-3 версии ПО, а 10? Продакт-кодов на них не напасешься. В моем случае это был PDF24 Creator, бесплатный инструмент для работы с PDF.
Помогут нам в этом 2 проверки: существование файла и версия файла. Нельзя ограничиться только проверкой на версию, т.к. в случае отсутствия файла она считается положительной. Еще одним тонким моментов будет то, что PDF24 Creator — это 32-битное приложение. А значит, проверять нужно в обеих папках Program Files и Program Files (x86).
Product Code для версии 7.9.0 — 26364d59-91dd-4b5f-a521-8c7d35e1743c
Первые 2 шага аналогичны оными из примера с 7-Zip
В итоге у вас должно получиться следующее:
5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish»
С msi-пакетами разобрались. А если доступны только exe?
X-Mouse Button Control
Есть такая прекрасная бесплатная программа — X-Mouse Button Control. Она позволяет назначать клавишам мыши множество разных функций и сочетаний. Крайне рекомендую, если используете мышь с 5+ кнопками. Обновления для этого ПО приходят в виде exe-файлов, которые нужно перехватывать в директории Temp активного пользователя. Ссылки на актуальные обновления ниже. Так же для обновления необходимо, чтобы в системе не было запущено ни одного процесса программы. Все это поддерживается, конвертация в msi не требуется.
3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.
6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».
Обновление Adobe Reader XI до Adobe Acrobat Reader DC
Наверное многие задавались этим вопросом. Причем обновлять хочется сразу на актуальную версию. Ничего сложного, нужно лишь несколько дополнительных действий. А так же документация: Bootstrapper с ключами, GUID’ы, Свойства Adobe.
В папку с распакованным содержимым необходимо поместить актуальный патч (на момент написания статья — 15.006.30201).
И, наконец, отредактировать файл Setup.ini, добавив 2 строки:
[Startup]
CmdLine=/sAll /rs /msi UPDATE_MODE=0 EULA_ACCEPT=YES
[Product]
PATCH=AcroRdr2015Upd1500630201_MUI.msp
3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.
6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».