Как установить обновление MSU через WSUS на примере средств удалённого администрирования (RSAT)

Как распространить программу при помощи WSUS и Local Update Publisher

Всем привет сегодня расскажу как установить обновление MSU через WSUS на примере средств удалённого администрирования (RSAT). Некоторые обновления (например, хотфиксы) поставляются исключительно в виде MSU-файлов, которые не совсем понятно как импортировать во WSUS. При помощи LUP это нам по силам. Будет рассматриваться на примере распространения Remote System Administration Tools for Windows 7 SP1 для x64.

Для начала нам необходимо скачать сам RSAT (файл Windows6.1-KB958830-x64-RefreshPkg.msu), скачать программу RunIt, а также архиватор, способный разархивировать MSU-файлы — 7-Zip отлично подходит, системная утилита expand тоже сойдёт.

Разархивируем Windows6.1-KB958830-x64-RefreshPkg.msu в любую директорию. В файле Windows6.1-958830-x64-pkgProperties.txt можно подглядеть корректное описание обновление. Будем считать, что мы так и сделали.

В LUP создаём новое обновление. Т.к. мы делаем обновление для архитектуры x64, то выбираем файл RunIt64.exe, иначе бы выбрали просто RunIt.exe. Программа RunIt умеет только одно — запустить программу, переданную ей аргументом, и может быть использована в качестве «затычки» при создании обновлений. Также, нажимаем «Add File» и добавляем все файлы, которые мы разархивировали из msu-файла.

Согласно тому, что можно подсмотреть в файле Windows6.1-958830-x64-pkgProperties.txt, устанавливаем тип обновления «Update», название в «Remote Server Administration Tools for Windows 7 with SP1 Russian x64», описание можно скопировать со страницы загрузки, классификация Hotfixes, вендор «Microsoft», продукт «Remote Server Administration Tools», Article ID «958830».

А самым интересным тут является то, как выполняется сама установка — в параметры командной строки пишем «%windir%\system32\pkgmgr.exe /quiet /n:Windows6.1-KB958830-x64-RefreshPkg.xml». А что при этом происходит? При установке запускается RunIt, который запускает системную утилиту pkgmgr.exe, которой скармливаются принесённые с обновлением файлы, и происходит совершенно штатная установка.

Далее, пакет считается установленным при выполнении следующих правил:

  1. Архитектура процессора равна x64.
  2. Положительно выполняется WMI-запрос в неймспейсе root\cimv2:  «Select HotFixID from win32_quickfixengineering where HotFixID = 'KB958830'». Не сложно догадаться, что это запрос о статусе установки именно RSAT.
Пакет может быть установлен при выполнении следующих правил:
  1. Архитектура процессора равна x64.
  2. Версия Windows равна Windows 7 без SP ИЛИ равна Windows 7 SP1.
Вот и всё. На этом примере должен быть виден принцип установки подобных обновлений. Также видно, что при помощи RunIt можно вместо обновления творить практически что угодно на системе пользователя — например, удалять нежелательные программы.
P.S.: Использованный для примера RSAT действительно устанавливается из WSUS и прекрасно работает, но надо учитывать, что он чрезвычайно долго устанавливается.
Вот так вот просто установить обновление MSU через WSUS на примере средств удалённого администрирования (RSAT).
Материал сайта pyatilistnik.org
Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. JimmiXS

    Прикольный способ использовать WSUS

  2. Isidro

    Wsus отличная вещь, управляешь все, что ставится

  3. Judson

    Спасибо

  4. Brooklyn

    Не знал, что установка msu обновлений может быть произведена таким методом, спасибо