Тихая установка msi пакета на удаленном компьютере

Обновлено: 03.07.2024

Работая системным администратором, часто сталкиваешься с необходимостью удаленной установки каких-либо программ. Что-то массовое может быть установлено через групповые политики, что-то единичное приходится устанавливать с помощью непосредственного управления целевым компьютером.

Однако, с тех пор, как в нашей ультраконсервативной конторе стали появлятся компьютеры с более новой, чем XP, версией Windows, возникла проблема: удаленный помощник Windows Server 2003 (который итак никого, в общем-то, не устраивал) не мог подключиться к более поздним версиям ОС. Конечно, у нас оставался старый добрый «Удаленный рабочий стол», но иногда ведь нужно увидеть именно то, что видит на своем рабочем столе пользователь. При этом политика безопасности конторы требовала использовать минимум стороннего софта.

После долгих поисков, было установлено, что подключиться к сеансу Windows 7 из сеанса Windows Server 2003 без какой-либо сторонней утилиты не получится. Конкурс на самую бесплатную утилиту удаленного управления выиграла UltraVNC. Именно на ее примере ниже будет рассмотрен способ удаленной тихой установки программ без использования сторонних утилит.

Постановка задачи

Для все той же минимизации присутствия левого софта на компьютерах предприятия, решено было не толкать установку UltraVNC через политики. При этом не было никакого желания на каждый компьютер, где требуется подключиться в сеанс пользователя, подключаться через «удаленный рабочий стол» для установки UltraVNC.

Так и возникла задача — организовать удаленную установку программы X на компьютер Y по требованию. В результате работы сначала явился на свет файл install.bat, способный совершить тихую установку-настройку требуемой программы, а затем был придуман и способ запустить такую установку на удаленном компьютере совершенно без использования сторонних утилит (remote-install.bat).

Тихая установка UltraVNC


Скрипт позволяет быстро и без лишнего шума установить UltraVNC при запуске с администраторскими правами на целевой машине.

Удаленный запуск тихой установки


Скрипт позволяет удаленно запустить install.bat с администраторскими (пользователь SYSTEM) правами.

Немаловажное

  • соответственно названные дистрибутивы для 32 и 64-битных систем — UltraVNC1191(x86).exe и UltraVNC1191(x64).exe
  • заранее заготовленный файл с настройками будущего UltraVNC сервера — ultravnc.ini (можно взять из уже установленной и настроенной копии программы на любом компьютере)
  • файл с опциями установки — uvncinstall.inf. У меня он такой:

Данные bat-скрипты позволили беспрепятственно устанавливать UltraVNC не только на компьютеры с Windows 7, но и на проблемные (с точки зрения «удаленного помощника») компьютеры с Windows XP, а впоследствии и на компьютеры с Windows 8. При желании и наличии напильника, с помощью этих скриптов также можно установить и другие программы — лишь бы была «тихая» установка.

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

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

Отключить антивирус удаленно на примере KAV

psexec \ \ ComputerName "C:\Program Files (x86)\Kaspersky Lab\Kaspersky Endpoint Security 10 for Windows SP2\avp.com" exit / login = KLAdmin / password = < Pass >

Отключение встроенного брандмауэра для всех профилей (только локально)

powershell - command "Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False"

Для удаленного отключения брандмауэра должен быть доступен Сервер RPC. Доступ к которому блокирует включенный брандмауэр 😂🤣 Такая рекурсия.

Поэтому, как всегда, пойдем обходным путем:

psexec \ \ CompName netsh - c advfirewall set allprofiles state off

Команда на включение брандмауэра, соответственно, будет state on

Удаление программы
wmic / node : CompName process where "ExecutablePath like '%7-zip%'" get Description / format : list wmic / node : CompName process where "ExecutablePath like '%7-zip%'" delete wmic / node : CompName product where "name like '%7-zip%'" list brief wmic / node : CompName product where "name like '%7-zip%'" call uninstall / nointeractive


Установка программы

Тихая установка с предварительным копированием программы на удаленный хост

copy "C:\Distr\7z1900-x64.msi" "\\CompName\C$\Share\7z1900-x64.msi" psexec \ \ CompName cmd / c "msiexec.exe /i C:\7z1900-x64.msi /quiet /norestart"

Установка с сетевого ресурса

psexec \ \ CompName - s cmd / c "msiexec /i \\CompName\Share\7z1900-x64.msi /quiet /norestart"


Получить список программ

Получать список установленных в системе программ лучше из реестра, нежели средствами WMI. Этот метод работает намного быстрее, чем при использовании
Get-WmiObject -Class Win32_Product

RMS поддерживает два способа удаленной установки Хоста на рабочие станции. Прежде всего, функционал удаленной установки удобен для использования внутри больших корпоративных сетей, с поддержкой Active Directory. Для удаленной установки можно использовать, как встроенную утилиту, так и групповые политики безопасности Active Directory.

MSI конфигуратор

MSI конфигуратор — это встроенная утилита Клиента, которая позволяет настроить нужным образом дистрибутив Хоста, перед тем, как производить его установку (как ручную, так и удаленную).

MSI конфигуратор

Конфигурирование

С помощью MSI конфигуратора можно выпустить три различных вида дистрибутивов:

  • Стандартный MSI пакет. Этот тип дистрибутива лучше всего подходит для установки вручную и всех типов удаленной установки.
  • One-Click пакет. Удобен для тихой и простой установки. Удаленный пользователь просто запускает данный файл, далее программа сама, без дополнительных вопросов, установится на удаленном компьютере.
  • Агент. Данная опция позволяет создать специальную версию Агента. Например, в главном окне можно разместить логотип вашей организации и текст приглашения.

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

Распространение

После того, как вы, при помощи MSI конфигуратора, получили .msi файл (стандартный пакет), либо .exe файл (One-Click пакет или Агент), вам необходимо решить, каким образом лучше распространять данный пакет.

Чтобы установить Хост внутри локальной сети, вы можете воспользоваться встроенной утилитой удаленной установки, либо использовать групповые политики безопасности Active Directory. Если сеть небольшая, и в ней нет домена, дистрибутив можно распространить, установив на нужные компьютеры вручную. Агент можно выгрузить на веб-сайт компании. Клиентам компании же предоставлять ссылку на скачивание, заранее сконфигурированного Агента.

Встроенная утилита удаленной установки

Утилита удаленной установки, доступная на Клиента (Viewer) позволяет, как удаленно устанавливать Хост, так и осуществлять обновление существующих хостов.

Встроенная утилита удаленной установки

Доступно два режима работы данной утилиты:

  • Использование системного механизма Windows. Данный способ подходит, как для удаленной установки, так и для удаленного обновления Хоста. Недостатком является то, что нужная прямая видимость данного компьютера для Клиента и права администратора, на этом удаленном компьютере.
  • Использование встроенного механизма RMS. Данный способ подходит только для удаленного обновления Хоста. В данном режиме обновление можно осуществлять даже через «Internet-ID», специальных прав не нужно, достаточно прав RMS. Недостатком является то, что данный механизм не подходит для удаленной установки — только обновление.

Установка с использование групповых политик Active Directiry

RMS полностью поддерживает механизм развертывания программного обеспечения при помощи групповых политик Active Directory. Дистрибутив Хоста изначально поставляется в виде готового MSI файла. Данный способ идеально подходит для крупных доменных сетей.

Хотите узнать, как использовать групповую политику для установки пакета MSI? В этом учебнике мы покажем вам, как создать групповую политику для автоматической установки пакета MSI на доменных компьютерах.

• Windows 2012 R2
• Windows 2016
• Windows 2019
• Windows 10
• Windows 7

Список оборудования:

В следующем разделе представлен список оборудования, используемого для создания этого руководства Windows.

Каждую часть оборудования, перечисленных выше, можно найти на веб-сайте Amazon.

Windows Связанные Учебник:

На этой странице мы предлагаем быстрый доступ к списку учебников, связанных с Windows.

Учебник GPO - Установка пакета MSI

Создайте общую папку и поместите копию пакета MSI.

Это будет точка распространения пакета MSI в сети.

GPO - MSI Installation

В нашем примере была создана общая папка под названием SOFTWARE.

Все пользователи домена и все доменные компьютеры получили разрешение на чтение этой папки.

GPO - Sharing permission

В нашем примере это путь к доступу к сетевому доступу.

На контроллере домена откройте инструмент управления групповой политикой.

Создание новой групповой политики.

Введите имя для новой политики группы.

Windows - Add GPO

В нашем примере, новый GPO был назван: MY-GPO.

На экране управления групповой политикой расширьте папку под названием «Объекты групповой политики».

Нажмите правой кнопкой мыши на новый объект групповой политики и выберите опцию редактирования.

Windows - Edit GPO

На экране редактора групповой политики расширьте папку конфигурации компьютера и найдите следующий элемент.

Нажмите правой кнопкой мыши на папку установки программного обеспечения и выберите опцию добавления пакета.

GPO - MSI Package installation

Выберите пакет MSI, используя общий пакет сети.

MSI Package installation via GPO

Выберите опцию ASSIGNED.

GPO - MSI deployment method

В нашем примере мы собираемся установить пакет MSI программного обеспечения 7-ЗИП.

GPO - MSI installation tutorial

Чтобы сохранить конфигурацию групповой политики, необходимо закрыть редактор групповой политики.

Поздравляю! Вы закончили создание GPO.

Учебник - Применение GPO для установки пакета MSI

На экране управления политикой Группы необходимо правильно нажать на желаемую Организационную группу и выбрать возможность связать существующий GPO.

В нашем примере мы собираемся связать групповую политику под названием MY-GPO с корнем домена.

GPO- tutorial linking

После применения GPO вам нужно подождать 10 или 20 минут.

В течение этого времени GPO будет реплицироваться на другие контроллеры доменов.

Чтобы проверить конфигурацию, перезагрузите удаленный компьютер и проверьте, было ли программное обеспечение автоматически установлено.

GPO - MSI Installed

Удаленный компьютер должен иметь доступ к сети, где находится пакет MSI.

В нашем примере пакет MSI был установлен с использованием GPO на всех доменных компьютерах.

Читайте также: