Установка любого программного обеспечения средствами WSUS — 2

  • Tutorial
В продолжение первой части от yosemity я бы хотел представить логическое продолжение и развитие LUP — WSUS Package Publisher. В отличие от LUP, WSUSPP живет, развивается и поддерживает работу с Windows Server 2012. В данной инструкции будут рассмотрены только добавление обновлений, создание правил и описаний самого распространенного стороннего ПО. А именно:

1) Adobe Flash Player & Adobe Reader
2) 7-Zip
3) PDF24 Creator
4) X-Mouse Button Control
5) Adobe Acrobat Reader DC (обновление с Adobe Reader XI)

Внимание! Много картинок, ссылок и информации!

Само собой, вам необходим работающий WSUS и WSUSPP. Настройка WSUSPP тривиальна и рассмотрена не будет.
Инструменты, которые не будут лишними:

Remote MSI Manager — ПО для просмотра/удаления установленных продуктов, установки msi-пакетов на удаленные компьютеры. Понадобится для обнаружения Produst Code'ов.
SuperOrca — развитие Orca, просмотр/изменение свойств msi-пакетов.
— Несколько тестовых виртуальных машин, количество зависит от вашего парка рабочих мест.



Adobe Flash Player & Adobe Reader


Для данных продуктов на сайте WSUSPP есть примеры, изучить можете самостоятельно. Ссылки на все ресурсы оставлю ниже.
Но чего в инструкциях нет, так это документации по SCUP каталогам. Да-да, WSUSPP поддерживает каталоги сторонних производителей ПО. И именно для этих продуктов Adobe есть предустановленные шаблоны.

Создание обновления
1) «Updates» -> «Manage Catalog Subscribtions...»


2) Настроить каталоги и их параметры

Где:
Load a shared catalog — загрузка каталога в формате xml в список. По умолчанию показывается папка с предустановленными
Add this catalog — добавление каталога в случае если вы вручную вносите изменения в поля «Address» и «File name»
Check every: — интервал проверки обновлений каталога
Modify — сохранение параметров выделенного каталога
Delete — удаление выделенного каталога
Import Updates from this Catalog... — просмотр имеющихся обновлений. Аналогично двойному щелчку мышью по строке. В это меню так же можно попасть через «Updates» -> «Import from Catalog»
Test Connectivity — проверка связи
Check Update Availability Now — проверка обновлений для выделенного каталога.

3) Для добавления нового обновления необходимо выбрать каталог, нажать «Import Updates from this Catalog...» -> «Open Catalog», отметить интересующие вас обновления и нажать «Import Selected Updates».

После скачивания и публикации, вам останется только нажать «Close». Обновление готово к одобрению. Никаких дополнительных изменений не требуется, пакеты msp уже имеют все необходимые параметры.

Этот же метод можно применить и для Adobe Flash Player. Все необходимые правила уже есть на уровне пакета, и обновление установится только там, где ранее был установлен плейер.

Просто, не правда ли? Все это, конечно, можно делать и вручную.

Ссылки



Архиватор 7-Zip


Для данного ПО каталогов нет, но существуют сборки msi для 32- и 64-бит. Поэтому задача сводится только к правильному определению куда что ставить. Практически всегда индикатором того, что обновление установлено, служит Product Code. Посмотреть этот код в msi можно как самим WSUSPP («Tools» -> «Msi Reader»), так и сторонними программами типа SuperOrca. А вот индикатором необходимости установки будут архитектура ОС и продакт-коды версий 16.00, 16.01 и 9.20.

Создание обновления
Product Code для х86 версий:
9.20 — {23170F69-40C1-2701-0920-000001000000}
16.00 — {23170F69-40C1-2701-1600-000001000000}
16.01 — {23170F69-40C1-2701-1601-000001000000}
16.02 — {23170F69-40C1-2701-1602-000001000000}

1) Создаем простое обновление, указываем файл, «Next».
Кстати, советую оставлять несколько версий старых обновлений.


2) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. «Package Type» стоит указать как «Application».


3) Раздел Installed. Здесь указывает Product Code устанавливаемого пакета.
«Rule Type: Processor Architecture» -> «Add Rule» — > Architecture x86-> «Ok»
«Rule Type: Msi Produst Installed» -> «Add Rule» — > вставка с кодом для 16.02 -> «Ok» -> «Next»



4) Раздел Installable. А вот здесь нужна конструкция сложнее.
Для 32-бит:
«Rule Type: Processor Architecture» -> «Add Rule» — > Architecture x86-> «Ok»
«Add a „OR“ Group»
«Rule Type: Msi Produst Installed» -> «Add Rule» — > вставка Product Code версии 9.20 -> «Ok»
«Rule Type: Msi Produst Installed» -> «Add Rule» — > вставка Product Code версии 16.00 -> «Ok»
«Rule Type: Msi Produst Installed» -> «Add Rule» — > вставка Product Code версии 16.01 -> «Ok» -> «Next»


В итоге должно получиться следующее:


Конструкции правил можно сохранять и загружать, для этого в нижней части есть соответствующие кнопки.

5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».


Обновление опубликовано и готово к одобрению.
Для 64-битной версии манипуляции аналогичны за исключением: «Processor Architecture» -> «Architecture x64» и соответствующих продакт-кодов.

Как вы заметили, мы обновляем только избранные версии.

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

3) Раздел Installed.
«Rule Type: Msi Produst Installed» -> «Add Rule» — > вставка Product Code -> «Ok» -> «Next»


4) Раздел Installable.
Перевести основное правило в «Start OR». Для этого необходимо дважды кликнуть по полосе «Start AND», либо нажать на кнопку «Edit».
«Add a „AND“ Group»
«Rule Type: File Exists» -> «Add Rule» — > «Known Folder: PROGRAM_FILES», «File Path: PDF24\pdf24.exe» -> «Ok»
«Rule Type: File Version» -> «Add Rule» — > «Wellknown directory: PROGRAM_FILES», «File Path: PDF24\pdf24.exe», «Comprasion: Less Then», «File Version: 7.9.0.0» -> «Ok»

Перевести выделение в основное правило
«Add a „AND“ Group»
«Rule Type: File Exists» -> «Add Rule» — > «Known Folder: PROGRAM_FILESX86», «File Path: PDF24\pdf24.exe» -> «Ok»
«Rule Type: File Version» -> «Add Rule» — > «Wellknown directory: PROGRAM_FILESX86», «File Path: PDF24\pdf24.exe», «Comprasion: Less Then», «File Version: 7.9.0.0» -> «Ok»

Указывать файл так же можно через полный путь.

В итоге у вас должно получиться следующее:


5) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish»

С msi-пакетами разобрались. А если доступны только exe?



X-Mouse Button Control


Есть такая прекрасная бесплатная программа — X-Mouse Button Control. Она позволяет назначать клавишам мыши множество разных функций и сочетаний. Крайне рекомендую, если используете мышь с 5+ кнопками. Обновления для этого ПО приходят в виде exe-файлов, которые нужно перехватывать в директории Temp активного пользователя. Ссылки на актуальные обновления ниже. Так же для обновления необходимо, чтобы в системе не было запущено ни одного процесса программы. Все это поддерживается, конвертация в msi не требуется.

Создание обновления
Создаются такие обновления через «Updates» -> «Create a Custom Update».
Нужные действия добавляются двойным кликом. Если вы ошиблись в последовательности, то строку вверх/вниз можно передвинуть, кликнут правой кнопкой мыши по действию.

1) Сначала накидаем все действия для полноценной установки.
«Allow to kill process by his name» -> XMouseButtonControl -> «Ok» (имя указывается без расширения)
«Allow to execute a file» -> XMBCUpdate_2.13.1.exe -> «Ok» -> «Ok» (имя произвольное, но файл именно с таким именем должен использоваться во 2 пункте)


2) В следующем окне необходимо добавить exe-файл. Остальные файлы трогать не стоит.
«Add Files...» -> XMBCUpdate_2.13.1.exe -> «Ok» -> «Next»


3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.


4) Считать обновление установленным будем через проверку версии файла, т.к. Product Code в системе не прописывается. Для x32 и x64 устанавливается одинаково в Program Files.
«Rule Type: File Version» -> «Add Rule» — > «Wellknown directory: PROGRAM_FILES», «File Path: Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe», «Comprasion: Equal To», «File Version: 2.13.1.0» -> «Ok» -> «Next»


5) Необходимость установки проверяем как и в предыдущем примере.
«Rule Type: File Exists» -> «Add Rule» — > «Known Folder: PROGRAM_FILES», «Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe» -> «Ok»
«Rule Type: File Version» -> «Add Rule» — > «Wellknown directory: PROGRAM_FILES», «File Path: Highresolution Enterprises\X-Mouse Button Control\XMouseButtonControl.exe», «Comprasion: Less Then», «File Version: 2.13.1.0» -> «Ok» -> «Next»



6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».

Upd. 2017/02/09: Для скачивания актуального обновления можно воспользоваться ссылками ниже. Заметьте, что обновления идут для Х32 и Х64 версий отдельно.
Прямые ссылки на скачивание



Обновление Adobe Reader XI до Adobe Acrobat Reader DC


Наверное многие задавались этим вопросом. Причем обновлять хочется сразу на актуальную версию. Ничего сложного, нужно лишь несколько дополнительных действий. А так же документация: Bootstrapper с ключами, GUID'ы, Свойства Adobe.

Подготовка
Для начала нужно распаковать exe. Делается это из командной строки с помощью параметров -sfx_o«путь распаковки» -sfx_ne (вместо sfx можно использовать nos).
В моем случае получается так:
«C:\WSUS\CustomUpdates\Adobe Acrobat Reader\AcroRdr20151500630033_MUI.exe» -sfx_o«C:\WSUS\CustomUpdates\Adobe AcrobatReader\AcroRdr20151500630033_MUI» -sfx_ne

В папку с распакованным содержимым необходимо поместить актуальный патч (на момент написания статья — 15.006.30201).


И, наконец, отредактировать файл Setup.ini, добавив 2 строки:
[Startup]
CmdLine=/sAll /rs /msi UPDATE_MODE=0 EULA_ACCEPT=YES

[Product]
PATCH=AcroRdr2015Upd1500630201_MUI.msp




Создание обновления
0) «Updates» -> «Create a Custom Update».

1) Чтобы полностью автоматизировать процесс, нужно завершить процесс AcroRd32.exe.
«Allow to kill process by his name» -> AcroRd32 -> «Ok» (имя указывается без расширения)
«Allow to execute a file» -> AcroRdr20151500630033_MUI\Setup.exe -> «Ok» -> «Ok» (так как в пункте 2 будет указана папка, то путь к файлу указывается с ее учетом).

Дополнительные параметры не используются, т.к. все уже указано в Setup.ini

2) Добавляем папку
«Add Folders...» -> AcroRdr20151500630033_MUI -> «Ok» -> «Next»


3) Заполняем поля «Vendor Name», «Product Name», «Title» и т.д. Command Line не изменять/удалять.


4) Считать обновление установленным будем через проверку Product Code. Он не меняется при установке новых патчей.
«Rule Type: Msi Produst Installed» -> «Add Rule» — > AC76BA86-7AD7-FFFF-7B44-AE0F06755100 -> «Ok» -> «Next»


5) Необходимость установки проверяем аналогично, но еще и по версии ОС (версия DC поддерживает Windows 7 и новее).
«Rule Type: Msi Produst Installed» -> «Add Rule» — > AC76BA86-7AD7-1049-7B44-AB0000000001 -> «Ok»
«Rule Type: Windows Version» -> «Add Rule» — > «Comparison: Greater Then or Equal To», «Easy Selection: Windows 7» -> «Ok» -> «Next»



6) Опытные пользователи может поправить мета-данные. Мы же нажимаем «Publish».

P.S.:Содержимое CmdLine можно перенести из Setup.ini в Parameters (Optional) на шаге 1.



Как оказалось, WSUSPP — это очень мощный продукт, способный составить конкуренцию SCCM. Конечно, он не лишен недостатков. К таковым можно отнести невозможность ревизии первых шагов в мастере «Custom Update Creator», а так же своеобразная логика добавления правил. Но даже с учетом этого WSUS Package Publisher пригодится многим системным администраторам, которые понимают важность up-to-date своего парка.

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 48

    +1
    А с обновлениями для Java так же или есть нюансы?
      0
      Для Явы есть мануал, но сам я его не тестировал. По идее должно работать.
        0
        Для 8-й Java. Работает.
          0
          И с последними версиями?
          После какого-то обновления даже тихая установка работает через раз, оказывается Оракел продаёт enterprise-дистрибутив для всяческих автоматизаций и простой для такого не предназначен.
            0
            Да, с последними версиями — работает.
            даже тихая установка работает через раз
            — Прочтите последний абзац статьи, на которую Вы ссылаетесь.
            Update 101 — аналогично.
              0
              К тому же
              The reason for the error above is that the MSI executes an installer that is embedded into the MSI, but when it runs this installer it doesn’t run it with administrative privileges instead it runs it in the logged on users security context.

              WSUS же работает не в контексте пользователя.
                0
                У Вас это теоретические изыскания или практический опыт невозможности распространения обновлений Java?
                Под обновлениями я подразумеваю именно последние версии — в данный момент — update 101.
                Все апдейты Java, начиная с 8.0_77 распространялись корректно.
                Уточню версии софта — WPP Release 1.3.1603.29
                Server Version 3.2.7600.256
                Console Version 3.2.7600.256
                  0
                  Это был комментарий в пользу работоспособности. Описанная проблема возникала из-за выполнения установки в контексте пользователя. WSUS не работает в контексте пользователя, значит и не подвержен подобного рода ошибкам. По идее, и релизы <101 должны ставиться корректно.
                    0
                    Да хоспади. Автономный установщик с сайта — ехе-файл, при запуске которого во временную распаковывается один msi-ник. Забирай и разворачивай. работает — 100%, для обеих версий х32 и х64.
                      +1
                      В том и проблема, что распакованный работает не всегда. Если интересно, можете поковырять корпоративный установщик и сравнить с обычным.
                        0
                        Расскажите, когда распакованный установщик не работает? У меня работает на двух площадках: одна 2008R2 + LUP, вторая 2012R2 + WPP. Никаких дополнительных правил не делаю. Выбираю MSI и далее-далее-далее-готово. Вплоть до 101 версии все встает как надо.
                  0
                  Так и назначение пакетов работает от системы.
          +1
          Как альтернативу можно предложить использование пакетного менеджера (например, Chocolatey) и выполнение
          choco install flashplayerplugin 7zip pdf24 adobereader -y

          компьютерной доменной политикой
            0
            Верное ли я понимаю, что этот менеджер выкачивает пакеты из Сети?
              0
              Верно, у них community-репозиторий https://chocolatey.org/packages (можно делать свои), в котором хранятся скрипты типа «скачай ПО с официального сайта по такому-то URL — запусти с такими-то параметрами silent install»
                0
                А если вы некоторые машины не выпускаете в сеть? Или режимное предприятие?
                Подход, несомненно, хороший. Но лично я противник все-в-одном. Достаточно провести 1 атаку, и заражен весь репозиторий.
                  0
                  Для предприятий как раз рекомендуется создание своих репозиториев на своём хостинге
              0
              Кстати да, тоже про него вспомнил. И если мне не изменяет память — то сам он устанавливается через powershell-скрипт. То есть тоже всё весьма просто. Единственный пожалуй минус — это необходимость наличия интернета.
              0
              Почему бы вообще не усовершенствовать виндовый магазин приложений до нормального человеческого? было бы очень круто если бы Майкрософт всерьез ввели систему управления пакетами для полноценных настольных версий, и навели наконец порядок в своем system32
                –2
                Так ведь проще System Center поставить, ну чего вы извращаетесь то?
                  0
                  В силу тех или иных обстоятельств мы выбираем подходящие инструменты для работы.
                    –1
                    могу представить только одно обстоятельство — отсутствие денег. Один раз попробовав SCCM, потом жить без него не можешь. Он же и софт установит, и апдейты, и винду переставит, и отчетики наклепает по этому всему. Милое дело.
                  –1
                  Для средних компаний, довольно трудно представить типичную win инфраструктуру (AD, Exchange, RDS) без SCOM. Вот честно. А где SCOM там и SCCM. Для небольшой инфры, особо не актуально такое. Для режимных предприятий, такое вообще ставить нельзя. Там всё по гостам. Очень странное решение. И самое последнее, что хочет видеть вновь пришедший админ, так это лютые нагромождения в инфре от прошлого кулибина.
                    0
                    Скажем, парк вашей фирмы 50-100 машин. Часть из них в Сеть не выходят. Вручную ставить апдейты как-то совсем грустно. System Center конечно попросить можно, если его нет. Но ведь не каждый собственник согласиться закупить. Примеры приводить не буду, но доводилось слышать перлы на этот счет.
                    Насчет режимных согласен, а вот насчет нагромождения — нет. Как раз пакетные менеджеры введут в ступор, если человек с ними не работал. WSUSPP же просто интегрируется во WSUS. Правильно внесли правила — кастомные апдейты вы и не увидите.
                      0
                      Всё что Вы описываете, это большой компромисс, на который идут админы для сохранения денюшек собственника. Всё же через GPO на худой конец, куда более нативнее. Не нужно спец-ПО чтоб увидить почему на этой машине вдруг 7Zip прилетел.
                      +2
                      LUP/WPP никуда глубоко не лезет, Дело не в количестве компьютеров, а в задачах. Если нет необходимости в SCCM, то зачем платить больше? Следующий админ никаких нагромождений не увидит, еще раз, WPP — это маленькая, но очень мощная надстроечка над WSUS. Не хочешь, не используй.

                      P.S. я открою страшную тайну, но SCCM использует механизм WSUS для доставки, тока, тссс, никому ;)
                        0
                        Вы эту тайну зря рассказали. Теперь никто SC не купит. Ведь еще выяснится, что VMM это просто набор Powershell скриптов.
                          0
                          Сарказм тут ни к чему, по части развертывания клиентского ПО, WPP действительно создает хорошую конкуренцию SCCM.
                            0
                            Я так понимаю у Вас (в отличии от меня) практический опыт использования WPP. Хотел бы уточнить если сталкивались: Если надо обновить Java для всех машин кроме бухгалтера?
                              0
                              Да много наверное путей.
                              1) Отдельная группа компьютеров для Явы (некрасиво)
                              2) В правилах установки обновления WPP указать реверсивное значение реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
                              имя компьютера бухгалтера.
                                0
                                Через группы безопасности было бы намного гибче. Но это не про WPP я так понял. Создавать группу на WSUS под каждое такое приложение не получится так как компьютер может быть только в одной. Реестр не гибко, так как придется перезаливать апдейт при каких-либо изменениях.
                                  +1
                                  Компьютер может быть в любом количестве групп
                                    0
                                    В любом количестве групп безопасности, но никак не WSUSных
                                      0
                                      Перепроверьте свою информацию.
                                        0
                                        Пожалуйста. Перепроверил.(Хотя за 10 лет я уже перепроверял так сказать)

                                        -«A computer can be in only one other group in addition to the All Computers group.»

                                        пруф. https://technet.microsoft.com/ru-ru/library/cc720450(v=ws.10).aspx
                                          0
                                          Computers are always assigned to the All Computers group, and they remain assigned to the Unassigned Computers group until you assign them to another group. Computers can belong to more than one group.

                                          Ссылка.
                                            0
                                            Только если ниже почитать, то там написано про иерархическую принадлежность. Привязать машину к двум группам(а это то что и нужно для гибкости) на одной плоскости не получится.
                                              0
                                              Без комментариев.

                                                0
                                                Да, действительно может. Тогда через группы вполне можно.
                                    0
                                    Вам и так его перезаливать при выходе новой версии. А вот правила можно сохранить и потом загрузить. К тому же как часто у вас меняется имя компа?
                                      0
                                      Как не крути, а единственный выход при условии распространения ПО через WSUS, это использование групп WSUS. Тогда, для каждого отдела, будет ставиться свой софт. Но это всё равно не гибко. Установка через GPO намного понятней. И для 7zip, например, требует лишь указать msi файл в GPO. И при этом если на машине сделать gpresult, то мы сразу увидим откуда что взялось.
                                        0
                                        Дело ваше. Это туториал, а не закон или пожелание.
                                          +1
                                          У GPO есть два фатальных недостатка: установка только при загрузке и поддержка только msi (в контексте комьютера). Юзер нажмет резет в середине установки либрофиса и сломает себе его.
                          0
                          Как оказалось, WSUSPP — это очень мощный продукт, способный составить конкуренцию SCCM

                          странно что автор статьи рассматривает SCCM исключительно как продукт для распространения ПО. Возможно, вы мало знакомы с возможностями SCCM?
                          Для распостранения ПО без SCCM есть пакетные менеджеры. Тот же chocolatey, к примеру
                          В Windows Management Framework 5(в 10-ке по умолчанию, в более ранних Windows нужно ставить дополнительно) есть система доставки пакетов из nuget репозиториев. Chocolatey репозиторий там тоже присутствует.
                          Использование Windows update для доставки пакетов ПО — полностью аналогично распространению ПО через gpo.
                            +2
                            Использование Windows update для доставки пакетов ПО — полностью аналогично распространению ПО через gpo.

                            Вы не правы. Через GPO вы можете поставить софт только при включении компьютера, либо навесив что-то на стартап/шутдаун скрипты. WU ставит пакеты по-другому.
                              0
                              Ещё через GPP можно навернуть соплестрой из скриптов и запускать их по расписанию.
                                0
                                Да это уже кому как нравится, но скрипты пусть другим занимаются. Деплой ПО через WSUS намного удобнее, плюс все вытекающие отчеты в оснастке. Хватит изобретать велосипеды, я уже писал в своих статьях, на которые ссылается AcidVenom, что много чего перепробовал. Свой велосипед ближе к жёпе, но если из него занозы торчат, нафиг он такой нужен ;)
                                  0
                                  Вроде MS их продвигает как замену классическим скриптам и назначению msi-пакетов, у masyan в докладе что-то было про это.
                                  А у меня вообще BigFix, который те же скрипты с отчётами, но в причёсанном виде и за кучу денег.

                          Only users with full accounts can post comments. Log in, please.