GrabDuck

Как централизованно и удаленно устанавливать ПО на ПК и мобильные устройства в компании

:

Эффективность работы компании, а также и ее безопасность, напрямую зависят от программного обеспечения, используемого на рабочих станциях, серверах и мобильных устройствах ее сотрудников. С другой стороны, «лишнее» ПО может отвлекать сотрудников от выполнения своих обязанностей, а также создавать дополнительные риски безопасности. Как можно централизованно и удаленно устанавливать требуемое ПО с помощью RMM-решений?

Рассмотрим на примере Panda Systems Management

Зачем нужна централизованная установка ПО


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

Естественно, все эти вопросы вполне актуальны для любого предприятия, потому что в той или иной степени влияют на эффективность его работы, а, следовательно, и его конкурентоспособность. Таким образом, централизованная и удаленная установка ПО способствует более эффективной работе не только непосредственно ИТ-отдела, но и всей компании.

RMM-сервис для централизованной установки ПО


Для автоматизированного решения многочисленных ИТ-задач существуют специальные комплексные RMM-решения, предназначенные для удаленного и централизованного мониторинга, обслуживания и поддержки корпоративных сетей. К классу RMM-решений относится облачный сервис Panda Systems Management.

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

Сервер Panda Systems Management может автоматически и удаленно устанавливать ПО на все управляемые устройства (рабочие станции, серверы и некоторые мобильные устройства). Это позволяет администратору быть уверенным в том, что все управляемые устройства имеют то ПО, которое необходимо сотрудникам для работы, при этом ему не требуется удаленно подключаться к каждому устройству по отдельности, чтобы инсталлировать требуемую программу.

Автоматическое развертывание ПО также помогает администратору поддерживать уровень защиты от уязвимостей ПО (Java, Adobe и пр.), что позволяет значительно снизить риск инфекции и потери конфиденциальных корпоративных данных.

Итак, сегодня мы расскажем:

1. Требования и процедура развертывания ПО
2. Различные примеры внедрения ПО
3. Оптимизация полосы пропускания канала связи
4. Установка ПО на устройства с iOS

Вы можете бесплатно зарегистрировать триал-версию Panda Systems Management на сайте и протестировать сервис в своем IT-окружении.
Как быстро внедрить решение в Вашем ИТ-окружении можно узнать в нашей предыдущей обзорной статье.

Требования


Развертывание и установка ПО – это процесс, который выполняется с помощью компонентов приложений для платформ Windows, Linux и Mac. Также есть возможность установки приложений и на смартфоны и планшеты с iOS, о чем мы расскажем в конце данной статьи.

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

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


Процедура развертывания и установки программных пакетов


В целом, обычная процедура состоит из четырех шагов:

Шаг 1. Идентификация устройств, на которые необходимо установить ПО

Процедура поиска устройств, на которых не установлены требуемые программы или необходимые файлы, будет отличаться в зависимости от того, может ли Panda Systems Management выполнить аудит программ, установленных на устройстве, или нет.

Если устанавливаемое ПО появляется в списке установленных программ, который хранится в операционной системе, то это ПО также будет отображаться в отчетах Panda Systems Management по аудиту ПО. Таким образом, можно создать фильтр для фильтрации устройств, на которых уже установлено это ПО.

Если ПО не имеет инсталлятора, а потому не показывается в списке установленных программ, или речь идет про одиночный документ, конфигурационные файлы и пр., то Panda Systems Management не сможет отфильтровать устройства, на которых уже имеются данные файлы, а потому установочный скрипт должен будет осуществить соответствующие проверки.

Шаг 2. Генерация компонента для установки ПО

Для этого в целом необходимо выполнить следующие действия.
1. Запустить задачу по распространению компонента для установки на локальные агенты Panda Systems Management, установленные на требуемых устройствах.

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

2. Собрать данные с результатами установки, чтобы проверить наличие возможных ошибок.

После завершения процесса, система будет собирать возможные коды ошибок и/или сообщений, которые будут показывать в консоли управления результат установки.

У данной задачи может быть четыре финальных статуса:
Success: Выполнение задачи по установке было завершено без ошибок. Скрипт возвращает код Errorlevel 0.

Success — Warning: Выполнение задачи по установке было завершено с некоторыми незначительными ошибками. Скрипт возвращает код Errorlevel 0 и соответствующее сообщение, которое будет показываться в консоли управления.

Error: Выполнение задачи по установке не было завершено. Скрипт возвращает код Errorlevel 1.

Error-Warning: Выполнение задачи по установке не было завершено. Скрипт возвращает код Errorlevel 1 и соответствующее сообщение, которое будет показываться в консоли управления.

Примеры установки


Чтобы продемонстрировать возможности по централизованной установке ПО, ниже мы приведем четыре примера:

• Внедрение самоустанавливающегося ПО
• Внедрение ПО без инсталлятора
• Внедрение документов и файлов с использованием языка скриптов
• Внедрение документов и файлов без использования языка скриптов

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

Пример 1. Внедрение самоустанавливающегося ПО


В данном примере мы попробуем централизованно и удаленно установить пакет dotNetFx40_Full_x86_x64.exe для Microsoft Framework .NET 4.0 на те устройства, на которых он еще не установлен.

В силу того, что Microsoft Framework .NET 4.0 – это программа, которая отображается в списке установленных программ, хранящемся в операционной системе устройства, мы будем использовать фильтр для выборки тех устройств, на которых этот пакет еще не установлен.

Установочный пакет представляет собой самораспаковывающийся .EXE-файл, который допускает использование параметров /q /norestart для установки в скрытом режиме и предотвращения перезагрузки устройства, а потому никакой дополнительной специальной подготовки нам не понадобится.

Шаг 1. Выберите устройства, на которые необходимо установить пакет

Чтобы выбрать устройства, на которые требуется установить данный пакет, необходимо воспользоваться фильтром устройств. Для этого в консоли управления Panda Systems Management откройте требуемый сайт (проект) в разделе Sites, после чего в левой колонке в блоке Sites Devices Filters нажмите на значок с плюсиком, чтобы добавить требуемый фильтр:

В результате этого откроется окно для добавления фильтра устройств, в котором необходимо указать название фильтра, критерии отбора (Software package, Does not contain, Microsoft .NET Framework 4) и нажать кнопку Save:

Теперь в блоке Sites Devices Filters добавился настроенный фильтр, при нажатии на который Вы сможете получить список устройств, удовлетворяющих критериям отбора.

Кстати, иногда при указании названия пакета ПО в критериях фильтра, необходимо точно знать, какая идентификационная строка соответствует этому пакету (особенно в случае с каким-нибудь специфическим ПО). В этом случае необходимо будет в списке устройств найти устройство (можно также используя различные фильтры), на котором данный пакет уже установлен, открыть это устройство из списка, выбрать закладку Audit и включить опцию Software.

Шаг 2. Создайте компонент для установки ПО

Это можно сделать достаточно легко: в консоли управления в основном меню выберите раздел Components, нажмите кнопку New component. В результате этого откроется окно для добавления компонента. В списке Category необходимо выбрать Applications. Укажите имя компонента и его краткое описание (при необходимости) и нажмите кнопку Save.

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

• В левом верхнем углу можно нажать на звездочку, чтобы добавить этот компонент в избранное. В этом случае иконка звездочки станет желтой, а сам компонент появится в списке компонентов.
• Укажите используемый язык скриптов, выбрав соответствующее значение в списке Install command. В данном случае стоит значение Batch.
• Вставьте код скрипта.
• Добавьте файл с пакетом, который требуется установить.

В данном скрипте по сути дела одна строка, в которой запускается установочный пакет с соответствующими параметрами для скрытой установки.

Шаг 3. Запустите задачу для развертывания пакета ПО на агентах требуемых устройств

В этом случае Вам необходимо будет снова открыть свой сайт (проект), в левой колонке в блоке Sites Devices Filters нажать на созданный ранее фильтр, чтобы получить список требуемых устройств, куда необходимо установить пакет. Затем в этом списке выберите требуемые устройства (а скорее всего, все устройства) и в панели действий нажмите на кнопку для быстрого запуска задачи (при необходимости можно и запланировать выполнение данной задачи на определенное время, нажав на кнопку, расположенную левее от данной кнопки).

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

Шаг 4. Проверьте результаты для выявления возможных проблем

Проверить результат можно в разделе Scheduled Jobs -> Completed Jobs.
Также хороший способ проверить результаты установки – это снова запустить предварительно настроенный фильтр устройств, чтобы убедиться в том, что более не осталось ни одного устройства с неустановленным ПО. В том же случае, если какие-то устройства окажутся в данном списке устройств, то по ним можно будет проверить наличие ошибки установки.

Данные аудита ПО, установленного на устройствах, синхронизируются с консолью управления каждые 24 часа, поэтому если с момента установки ПО еще не прошли сутки, то список установленного ПО на закладке Audit не будет обновлен. Однако можно вручную обновить список установленного ПО, используя кнопку Request device audit в панели действий.

Пример 2. Внедрение ПО без инсталлятора


Многие программы содержат простой исполняемый файл без соответствующего инсталлятора, который генерирует необходимую структуру в меню Пуск, иконки на рабочем столе или соответствующие записи в списке установленных на компьютере программ (например, в Панели управления – Программы и компоненты). Такие типы программ могут быть установлены, например, просто запуском этого исполняемого файла. Однако, в таком случае Panda Systems Management не сможет предоставлять корректный аудит установленного на ПК программ, т.к. такие программы не будут появляться в списке установленных программ, хранящемся в операционной системе устройства.

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

В нашем примере мы будем использовать утилиту Advanced Installer, бесплатная версия которой позволяет нам легко генерировать MSI-инсталляторы.

Чтобы скачать бесплатную версию Advanced Installer, посетите страницу

Чтобы сгенерировать инсталлятор, выполните следующие действия:

1. Установите эту утилиту на свой ПК, запустите ее и выберите бесплатный шаблон Simple

2. В разделе Product Details введите основные данные инсталлятора: Product Name (название продукта), Product Version (версия продукта) и Company Name (название компании)

3. Добавьте программы и файлы, которые необходимо установить, а также иконки, которые необходимо создать. Это можно сделать на закладке Files and Folders.

4. В завершение этого процесса, нажмите Build, после чего в выбранную папку будет сгенерирован MS-пакет:

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

Утилита MSIEXEC позволяет использовать параметр /qn для запуска скрытой установки.
При создании компонента (смотрите порядок создания в предыдущем примере) в списке Category необходимо выбрать Applications. В окне редактирования компонента выполните следующие действия:

• В левом верхнем углу нажмите на звездочку, чтобы добавить этот компонент в избранное. В этом случае иконка звездочки станет желтой, а сам компонент появится в списке компонентов.
• Укажите используемый язык скриптов, выбрав соответствующее значение в списке Install command. В данном случае стоит значение Batch.
• Вставьте код скрипта с указанием на утилиту MSIEXEC, запускающей сгенерированный MSI-пакет (в нашем примере – это файл My Software.msi)
• Добавьте файл с пакетом My Software.msi, который требуется установить.

Пример 3. Внедрение документов и файлов с использованием языка скриптов


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

Шаг 1. Выберите устройства, на которые необходимо установить пакет

Т.к. в этом примере Panda Systems Management не может отслеживать состояние жесткого диска на устройстве пользователя на уровне системных файлов, то установочный скрипт будет разворачиваться на всех устройствах сайта, при этом скрипт (строки 19-24) будет проверять, существует ли папка, содержащие документы, или нет.

Если папка не существует, то она будет создана (строка 28), после чего документы будут перемещены в нее (строки 30-32), а сообщение будет отправлено через стандартный «выход» (строка 37).

Шаг 2. Создайте компонент для установки ПО

Как всегда, на этом шаге необходимо создать компонент приложений, для которого необходимо указать скрипт и привязать эти три документа Word.

В блоке Post-Conditions Вы можете указать текстовые строки, которые консоль управления будет интерпретировать как предупреждение:

Пример показывает, что если стандартный выход ( Resource: stdout) содержит ( Qualifier: is found in), то результат выполнения скрипта Deploy unsuccessful будет отображаться как предупреждение.

Шаг 3. Запустите задачу для развертывания пакета ПО на агентах требуемых устройств

В консоли управления у требуемого сайта (проекта) выберите в списке устройств те устройства, на которые необходимо внедрить эти три документа Word, после чего в панели действий нажмите на иконку Quick job или Job, чтобы создать соответствующую задачу.

Если необходимо внедрить документы на всех компьютерах в разных сайтах (проектах), то Вы можете выбрать эти сайты на уровне Вашего аккаунта в консоли управления Panda Systems Management.

Шаг 4. Проверьте результаты для выявления возможных проблем

В нашем примере у скрипта определены три выходных условия:

Success: Файлы копируются в требуемую папку без каких-либо ошибок (строки 30-32). Заканчивается с ErrorLevel0 (строка 38).

Error: При копировании файлов возникает ошибка. Заканчивается с ErrorLevel1 (строка 35).

Success — Warning: Папка уже существует, поэтому файлы не скопированы. Заканчивается с ErrorLevel0 (строка 23) и генерируется строка Deploy unsuccessful, которую консоль управления интерпретирует как предупреждение, что было настроено в блоке Post-Conditions на шаге 3.

После того как задача запущена, она появится в разделе Scheduled Jobs -> Active Jobs.

На закладке Completed Jobs Вы сможете увидеть результат выполнения задачи, который будет помечен красным цветом, если результат содержит ошибку, оранжевый – если имеется предупреждение, или зеленый – если задача успешно выполнена.

Иконки Stdout и Stderror показывают копию стандартного выхода и стандартной ошибки, генерируемые скриптом.

Кроме этого, данная закладка содержит панель иконок, которая позволяет запускать различные действия:

• Набор иконок Actions группирует иконки, которые позволяют Вам повторно запустить задачу, перезагрузить страницу, чтобы обновить статус задач, или скачать стандартный выход или ошибку в файл

• Фильтр Views позволяет Вам фильтровать задачи по статусу

Пример 4. Внедрение документов и файлов без использования языка скриптов


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

В данном примере необходимо внедрить 3 документа, которые использовались в предыдущем примере, но в этом примере, вместо создания структуры папки из самого скрипта, создан самораспаковывающийся EXE-пакет, который содержит заархивированные документы и необходимую структуру папок. Данный EXE-пакет может быть создан с использованием различных утилит, например, WinRar.

Чтобы скачать бесплатную версию WinRar, перейдите на сайт

В этом примере был создан самораспаковывающийся EXE-файл со следующими характеристиками:

• Работает в скрытом режиме (Silent).
• Требуемая папка с контентом автоматически создается в C:\.
• Если папка уже существует, ее контент будет перезаписан без предупреждения.

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

На всякий случай давайте рассмотрим шаги по созданию самораспаковывающегося установочного файла с помощью WinRar.

Шаг 1: Подготовьте папку с документами, которые необходимо внедрить.

Создайте корневую папку ACME Documents, в которую положите все файлы, папки и подпапки, которые необходимо внедрить.

Шаг 2: Сгенерируйте исполняемый файл.

В программе WinRar при создании архива ACME Documents на закладке Общие включите опции Создать SFX-архив и Создать непрерывный архив.

Теперь необходимо настроить архив в скрытом режиме. Для этого перейдите на закладку Дополнительно и нажмите кнопку Параметры SFX

В окне Дополнительные параметры SFX выберите закладку Режимы и в блоке Режим вывода информации выберите опцию Скрыть все.

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

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

После этого нажмите кнопку ОК. В результате этого будет создан EXE-пакет ( ACME Documents.exe) с требуемыми параметрами.

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

Обратите внимание на параметры, которые необходимо использовать при создании компонента:

При создании компонента (смотрите порядок создания в предыдущих примерах) в списке Category необходимо выбрать Applications. В окне редактирования компонента выполните следующие действия:

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

• Укажите используемый язык скриптов, выбрав соответствующее значение в списке Install command. В данном случае стоит значение Batch.

• Вставьте код скрипта

• Добавьте файл с пакетом ACME Documents.exe, который требуется внедрить.

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

Оптимизация полосы пропускания канала связи


Локальный агент, установленный на каждом устройстве, проверяет сервер Panda Systems Management на доступные загрузки и обновления каждые 60 секунд. В том случае, если для локального агента имеется, что скачать или загрузить, то Panda Systems Management запускает эту загрузку индивидуально для каждого агента. В таком случае, если установочный пакет имеет размер 50 МБ, а сеть состоит из 50 устройств, то суммарный трафик при скачивании составит 2,5 ГБ.

Чтобы снизить суммарный размер загружаемого трафика, одно из сетевых устройств может выполнять роль репозитория/кеша. В этом случае только данное устройство будет скачивать пакет с Сервера, а затем уже распространять его на все требуемые сетевые устройства.

Чтобы выбранному устройству назначить роль репозитория/кеша, Вам необходимо найти данное устройство в консоли управления Panda Systems Management и на странице с подробной информацией по данному устройству в панели действий нажать на иконку Add/Remove as local cache.

В результате, выбранное устройство будет скачивать и распространять компоненты и установочные пакеты на устройства в локальной сети, что позволит значительно ускорить процесс удаленной установки ПО и существенно снизить нагрузку на полосу пропускания канала связи.

Удаленная установка ПО на устройства iOS


Облачный RMM-сервис Panda Systems Management позволяет удаленно и централизованно устанавливать требуемое ПО на мобильные устройства (планшеты и смартфоны) под управлением iOS. В этом случае процедура установки отличается от вышеописанной процедуры, т.к. данные устройства имеют определенные ограничения, связанные с источником загрузки устанавливаемого ПО (Apple Store).

Удаленная установка ПО на устройствах с Android пока не поддерживается.

Требования для установки приложений на устройства с iOS


Чтобы иметь возможность загружать приложения на устройства с iOS, Вам сперва необходимо загрузить из ComStore компонент Mobile Device Management.

При этом не забудьте, что Вам необходимо будет загрузить Ваш сертификат Apple Push Notification. Как это сделать – мы писали в предыдущей статье по управлению мобильными устройствами.

После этого Вы сможете добавить требуемые для внедрения приложения в список приложений Application List. Для этого в основном меню консоли управления выберите раздел ComStore и в левой колонке окна в блоке App Store нажмите на иконку с плюсиком для доступа к окну выбора приложений.

В открывшемся окне Вам необходимо указать страну пользователя и ввести название приложения в текстовом поле. Нажмите кнопку Search для поиска приложений с указанием его названия, общего описания и стоимости.

У требуемых приложений нажмите кнопку Add, чтобы добавить их в список приложений Application List.

После этого выбранные компоненты появятся в списке компонентов мобильных приложений в разделе основного меню Components:

Установка приложений iOS из списка приложений


После того как Вы добавили требуемые приложения в список приложений, Вам необходимо будет создать политику управления ПО для внедрения их на устройства с iOS. Для этого в консоли управления откройте требуемый сайт (проект), профиль или весь аккаунт целиком, нажмите на закладку Manage, выберите опцию Software Management и нажмите кнопку New site policy… (или соответствующую кнопку, если выбран целиком аккаунт или профиль).

В открывшемся окне укажите название политики и нажмите кнопку Next.

Затем в окне редактирования политики выберите устройства, к которым необходимо применить данную политику, нажав на кнопку Add a target…, а также выберите приложения, которые не обходимо установить, нажав на кнопку Add an app….

После того как Вы добавили приложения, и в том случае, если какие-либо из них являются платными, нажмите на иконку с желтым карандашом у данного приложения, чтобы ввести соответствующий Redemption code.

По окончании редактирования политики нажмите кнопку Save. После этого данная политика будет показываться в списке политик. Нажмите у нее кнопку Push changes, чтобы отправить настроенные приложения на выбранные в политике устройства.

В том случае, если устройство с iOS выключено в тот момент, когда Вы нажали кнопку Push changes, то такое устройство появится в блоке Non-Compliant Devices. Чтобы данные изменения автоматически применились после того, как такое устройство снова станет доступным, нажмите зеленую иконку со стрелкой.


В данной статье мы рассмотрели 4 стандартные ситуации удаленной и централизованной установки ПО (пакетов, файлов) на требуемых устройствах Windows, Linux, Mac, а также рассказали о том, как можно удаленно и централизованно устанавливать приложения на мобильные устройства с iOS. Для решения данных задач мы использовали облачный RMM-сервис Panda Systems Management.

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

Как видите, чем больше в ИТ-сети компьютеров и устройств, тем более незаменимым будет инструмент такой удаленной и централизованной установки. Он позволяет автоматизировать данную задачу и значительно сэкономить время ИТ-специалиста на внедрение ПО.

Современные RMM-решения являются эффективными инструментами для решения подобных задач. И, кстати, еще очень многих других :)

Добивайтесь большего, делая меньше!