Тихая установка программы что это

Некоторые пользователи наверняка сталкивались с понятием «тихая установка программы». Что означает этот термин и как это работает, я рассмотрю подробно в статье.

Что это?

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

Такая функция полезна системным администраторам, так как позволяет сэкономить время при установке большого пакета утилит на несколько машин.

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

Как это работает?

Запуск тихой установки осуществляется с помощью параметров (еще называют ключами). Запустить процедуру можно несколькими способами:

  • из строки «Выполнить»;
  • через самораспаковывающийся архив с файлом конфигурации;
  • с помощью скриптов в .bat-файле.

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

Тихая установка программ в Windows

  • InstallShield;
  • Windows Installer Service (.msi);
  • Nullsoft Scriptable Install System (NSIS);
  • InnoSetup;
  • InstallAware Studio.

Universal Silent Switch Finder.

Каждая из этих систем-упаковщиков имеет собственный ключ активации тихой установки. О ключах тихой установки может быть написано на официальных сайтах этих программ. Также выяснить, какой ключ активации тихой установки подходит для конкретного инсталлятора приложения поможет Universal Silent Switch Finder. Просто откройте им файл-установщик нужной вам программы.

Параметры (ключи)

Рассмотрим пример. Для программы FoxitReader использовался упаковщик Inno Setup (эту информацию я определил с помощью Universal Silent Switch Finder). Для тихой установки в этом упаковщике используются ключи:

  • /SILENT — этот ключ не отображает фоновое Install-окно, но отображается установочный процесс;
  • /VERYSILENT — этот ключ не отображает даже установочный процесс.
  1. /DIR =«путь установки» — идет после /SILENT или /VERYSILENT и указывает в какую папку распаковать файлы программы. Пример:

FoxitReader_Setup.exe /VERYSILENT /DIR=»C:Program FilesFoxit Reader»
FoxitReader_Setup.exe /LANG=Русский
FoxitReader_Setup.exe /NOICONS
FoxitReader_Setup.exe /VERYSILENT /SP-
FoxitReader_Setup.exe /VERYSILENT /TASKS=»desktopicon,quicklaunchicon»

  • desktopicon — создание ярлыка на рабочем столе;
  • quicklaunchicon — создание ярлыка на панели быстрого запуска;
  • startmenuicon — создание группы в меню «Пуск».

Совет! Обычно, по умолчанию программы включают в себя несколько TASKS, которые могут кроме иконок: ставить расширение в браузере, устанавливать стартовые страницы по умолчанию, открывать страницу разработчика. Чтобы этого избежать пропишите параметр с командами из перечня или оставьте пустыми значения в скобках

как создать сборник программ с тихой установкой Тихая установка программ в Windows


/TASKS=»»

Пример

Для установки Foxit Reader с помощью тихой установки использую такие ключи:

FoxitReader_Setup.exe /SILENT /DIR=»C:Program FilesFoxit Reader» /TASKS=»desktopicon,quicklaunchicon»

Выполнить

Важно! Инсталляционный файл должен находится в корне диска C:

Установка Foxit Reader

Вы, соответственно, можете задать при инсталляции свои параметры. Также не забудьте отключить на время тихой установки «Контроль учетных записей». При использовании режима /SILENS видна только строка «Установка».

Важно! Для остальных программ-установщиков будут использоваться другие ключи. Например инсталляторы с расширением .msi (Windows Installer Service) используют /qb и /qn, а для InstallShield — /r и /s. Детальнее читайте в мануалах к упаковочным программам.

В начале статьи я упомянул о возможности запуска тихой установки с помощью .bat-файла. К сожалению в BASH-скриптах я не силен, но в качестве примера предлагаю ссылку на статью habrahabr.ru. В статье написан скрипт для .bat-файла, позволяющий запустить тихую инициализацию с необходимыми параметрами.

С помощью самораспаковывающегося архива (sfx-архив) вы можете: запустить распакованные файлы, удалить их после инсталляции и т.д. Например sfx-архив может запустить .bat-файл с заранее прописанными командами тихой установки программы.

Источник: windowsten.ru

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

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

Предлагаю вашему вниманию статью об удалённой установке программ штатными средствами Windows 10 и бесплатными консольными утилитами.

Рассмотрим установку двух наиболее часто встречающихся типа установочных файлов .exe и .msi, на примере всеми любимого бесплатного архиватора 7-zip и браузера Google Chrome

Для начала нам потребуются актуальные дистрибутивы, которые можно скачать с официальных сайтов:

  1. На момент написания статьи актуальной версией 7-zip являлась 21.07 (64х битный установщик для Windows)
  2. Google Chrome будем качать в виде установочного пакеты MSI, на момент написания статьи актуальная версия 102.0.5005.63 (скачать msi установщик) #Обратите внимание что, что сам установщик упакован в архив, с расширением .zip, и для его извлечение предварительно необходимо будет установить ранее скачанный архиватор 7-zip.

Так же нам понадобится утилита psexec, которая входит в комплект PsTools, скачать их можно тут.

Теперь скачанные нами файлы установки и утилиту psexec необходимо поместить в одну папку, пусть для удобства это будет D:silent7z и D:silentchrome

#После распаковки архива с дистрибутивом Chrome нужный нам файл будет лежать в папке Installers GoogleChromeStandaloneEnterprise64.msi

##Т.к. большинство современных установок Windows 64-х разрядные, мы будем использовать файл PsExec64.exe

Теперь можно используя командную строку Windows приступить к установке программ на удалённый компьютер

#Нажимаем комбинацию клавиш wir+R, вводим CMD и жмём OK

Перейдём в каталог со скачанным 7-zip выполнив команду

Расскажу подробнее как работает утилита PsExec.

В простейшем случает синтаксис нашей команды будет таким:

psexec \компьютер [-u пользователь [-p пароль]] программа [аргументы]

\компьютер – имя удалённого компьютера, на который мы будем устанавливать наш архиватор(у нас это user_pc)

[-u пользователь [-p пароль]] – необязательные параметры, если у вашей учётной записи есть права на установку программ или права администратора в домене. Если нет – эти параметры помогают указать имя и пароль пользователя, который обладает достаточными правами.

программа – имя исполняемого файла, (7z2107-x64.exe)

аргументы – параметры установки программы, влияющие на сам процесс установки. Ещё аргументы называют ключами.

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

Таким образом наша конечная команда будет выглядеть так:

PsExec64.exe \user_pc –c 7z2107-x64.exe /S

ключ –с копирует 7z2107-x64.exe на удалённый компьютер для последующего запуска

В случае успешной установки программы в окне командной строки мы должны увидеть следующее:

7z2107-x64.exe exited on user_pc with error code 0.

error code 0 означает что программа установлена успешно.

В случае успешной установки программы в окне командной строки мы должны увидеть следующее:

7z2107-x64.exe exited on user_pc with error code 0.

Читайте также:
Onenote что это за программа и нужна ли она в телефоне

error code 0 означает что программа установлена успешно.

Всё! Пользователь работающий на user_pc абсолютно незаметно для себя самого стал счастливым обладателем архиватора 7zip.

Теперь приступим к удалённой установке браузера Google Chrome, который мы скачали в виде установочного файла с расширением .msi.

Для установки MSI пакетов в windows используется утилита msiexec, которая уже установлена в операционной системе. Как правило утилита эта находится в каталоге c:Windowssystem32msiexec.exe.

Удобнее и быстрее будет если предварительно установочный файл скопировать на целевой компьютер и запускать его оттуда удалённо. В этом нам поможет встроенная в Windows утилита xcopy. У неё очень простой синтаксис в стиле:

xcopy что_копируем куда_копируем параметры_копирования

xcopy D:silentChromeGoogleChromeStandaloneEnterprise64.msi \user_pcc$WindowsTemp /s /e

D:silentChromeGoogleChromeStandaloneEnterprise64.msi – полный пусть к файлу установки на нашем компьютере

\user_pcc$WindowsTemp — путь назначения для копируемого файла на удалённом компьютере

/s /e — Копирование каталогов с подкаталогами, включая пустые.

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

psexec64.exe \user_pc c:Windowssystem32msiexec.exe /i c:WindowsTempGoogleChromeStandaloneEnterprise64.msi /qn /quiet /norestart

В первой части команды мы указываем утилите psexec64.exe имя удалённого компьютера \user_pc и место расположение утилиты отвечающей за установку .msi файлов c:Windowssystem32msiexec.exe (как правило она всегда находится по этому пути), далее идёт ключ /i, который означает что будет производиться именно установка программы (install), после чего мы указываем полный пусть исполняемого файла на удалённом компьютере c:WindowsTempGoogleChromeStandaloneEnterprise64.msi и в конце указываем несколько ключей тихой установки:

/qn – полностью скрывает процесс установки от пользователя

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

/norestart – отменяет перезагрузку, если она необходима после установки программы.

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

А если в вашей сети есть 100 компьютеров, на которые необходимо установить тот же браузер Google Chrome? Можно делать это вручную, запуская команды копирования и установки для каждого компьютера отдельно – это долгий и трудоёмкий процесс, а можно автоматизировать, написав простой скрипт и подсунув ему файл со списком компьютеров для установки.

Скрип будем писать в виде .bat файла, в котором будут последовательно исполняться команды.

В папке D:silentchrome создадим файлы install.txt и userspc.txt и откроем их в блокноте.

В файл userspc.txt заносим список ПК, на которые планируем установить Chrome, в файле не должно быть ни каких лишних символов, кроме имён ПК и символа переноса строки. Так же вместо имён можно использовать IP-адреса компьютеров. После этого файл можно сохранить и закрыть.

Теперь хорошо бы знать на какие компьютеры браузер установился успешно и на какие установка не произошла (например, компьютер мог быть выключен на момент запуска скрипта). Для этого в папке chrome создадим папку log которой создадим два файла install-good.txt и install-bad.txt, в которые скрипт будет заносить имена компьютеров с (не)успешной установкой.

В файле install.txt пишем следующее:

for /f %%i in (d:silentChromeuserspc.txt) do (

xcopy D:silentChromegooglechromestandaloneenterprise64.msi \%%ic$WindowsTempChrome /s /e

psexec64 \%%i c:Windowssystem32msiexec.exe /i c:WindowsTempChromegooglechromestandaloneenterprise64.msi /qn /quiet /norestart

if errorlevel 1 ( echo %%i >>D:silentChromeloginstall-bad.txt ) ELSE ( echo %%i >>D:silentChromeloginstall-good.txt ) rmdir /s /q \%%ic$WindowsTempChrome ) pause

Разберём построчно команды и алгоритм работы данного скрипта:

Алгоритм прост, в цикле считываем из файла userspc.txt построчно имена компьютеров, каждое имя присваивается переменной \%%i, далее выполняются раннее составленные нами команды копирования и тихой установки Google Chrome. В конце скрипт проверяет код возвращаемой скриптом ошибки. Если скрипт вернул 0, в файл install-good.txt заноситься имя текущего компьютера, на котором была попытка установки программы. Если код ошибки другой, то компьютер заноситься в файл install-bad.txt.

for /f %%i in (d:silentChromeuserspc.txt) do ( … )

Цикл for предназначен для выполнения повторяющихся однотипных команд,

Рассмотрим его работу более детально. %%i – переменная, которая является счётчиком шагов цикла, писать её надо именно так, как в примере используя двойной знак процента и букву английского алфавита, одну. На каждом шаге цикла выполняются команды, записанные после слова do. Ключ /f указывает на то, что цикл будет работать с файлами. После слова in указан путь к файлу, где хранятся имена компьютеров.

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

mkdir – команда, предназначенная для создания каталогов. В нашем случае мы создаём папку Chrome на удалённом компьютер в папке WindowsTemp. Напомню, что текущее имя удалённого компьютера храниться в переменной %%i.

Как работает xcopy было рассмотрено ранее в статье, по этому на ней заострять внимание не будем.

psexec64 \%%i c:Windowssystem32msiexec.exe /i c:WindowsTempChromegooglechromestandaloneenterprise64.msi /qn /quiet /norestart – запускает установку Chrome на каждом отдельно взятом компьютере.

if errorlevel 1 ( echo %%i >>D:silentChromeloginstall-bad.txt ) ELSE ( echo %%i >>D:silentChromeloginstall-good.txt )

if – команда, обрабатывающая какое-то логическое условие, она же оператор ветвления. Т.е. если условие заданное после if выполняется, то будет выполнена команда, следующая за условием. В противном случае будут выполнены команды следующие за оператором ELSE. Завершив работу программа возвращает код завершения, с помощью errorlevel их можно использовать в качестве условия.

echo %%i >>D:silentChromeloginstall-bad.txt

echo – команда, выводящая в окно командной строки какой-то текст, так же вывод команды можно перенаправить в файл используя оператор >>. В нашем случае этой командой имена компьютеров с (не)успешной установкой заносятся в файлы логов install-bad.txt и install-good.txt.

rmdir /s /q \%%ic$WindowsTempChrome — действие этой команды обратно mkdir, т.е. она удалит ранее созданный нами каталог Chrome на пользовательском ПК, тем самым наведёт порядок и не оставит лишних установочных файлов забивающих собой дисковое пространство.

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

Как видите, всё просто.

Дополнительно про типы инсталляторов и ключи тихой установки можно почитать тут.

Про тонкости работы команды xcopy тут.

Попробуйте написать самостоятельно скрипт для установки 7-zip.

Если остались вопросы с удовольствием отвечу на них в комментариях.

  • тихая установка
  • удаленная установка приложений
  • psexec
  • silent
  • автоматизация труда админа
  • автоматизация
  • google chrome

Источник: habr.com

Блог воинствующего прокрастинатора

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

  • Active Directory (GPSI)
  • Сторонние программы (WPKG)
  • Внутренние механизмы обновления программ
  • Использование PsExec и «тихой установки».

Использование GPSI – наверное самый популярный вариант, но он не лишен недостатков. Возможно, самый весомый – возможность установки только msi-пакетов. Существует много способов преобразовать .exe-установщик в msi-пакет (например, Orca), но все они нетривиальны.

Из сторонних программ интересен проект WPKG. WPKG использует клиент-серверную архитектуру (у пользователя устанавливается клиентская часть) и позволяет автоматически обновлять программы у пользователя в соответствии с заранее заданным списком. Можно, например, задать обновление определенной программы только для конкретного отдела в организации, что очень удобно в том случае, если программой пользуется только один отдел.
Больше информации здесь
Недостаток данной программы — довольно запутанная настройка инсталляционных пакетов. Кроме того, WPKG устанавливает новые версии программы не сразу после обновления дистрибутива, а через некоторое время (впрочем, это время можно настраивать).

Читайте также:
Mrgsvendorapp что это за программа на Андроид нужна ли

Внутренние механизмы обновления
Использование внутренних механизмов обновления программ — почти идеальный вариант. Выглядит это так — программа сама периодически опрашивает сервер обновлений о наличии новой версии, и в случае наличия новой версии предлагает пользователю обновиться.
Минус у этого варианта два. Первый — разработчики не всегда добавляют функционал обновления в свои программы. Если в случае собственных разработок организации этот минус можно преодолеть, то при использовании сторонних программ это довольно проблематично.
Второй минус — может возникнуть ситуация, когда рабочее место не имеет доступа к интернет (или имеет строго ограниченный доступ). В таком случае программа не сможет получить доступ к серверу, который нужно опрашивать на наличие обновлений. Это ограничение можно преодолеть, добавив в программу возможность использования локального сервера обновлений, но опять же, для сторонних программ добиться включения такой опции может быть довольно непросто.


PsExec + тихая установка

В качестве компромиссного решения предлагаю использовать связку PsExec + ключи тихой установки.
PsExec – это бесплатная консольная утилита от Sysinternals (подразделение Microsoft) позволяющая запускать программы на удаленных компьютерах. PsExec позволяет перенаправить вывод консольных команд с удаленной системы на локальную, то есть можно видеть на своей машине результат выполнения консольной команды на удаленной системе.
Скачать утилиту можно здесь (в составе пакета PsTools).

Тихая установка — это опция инсталлятора, позволяющая производить установку программы без участия пользователя и без вывода информации на экран.
Плюсы и минусы данного подхода будут в конце описания.

Установка PsExec, запуск программ через PsExec на удаленных системах
PsExec нужно устанавливать только на «серверную» сторону, то есть на компьютер, с которого будут рассылаться команды на установку (компьютер администратора, например).
Установка PsExec заключается в распаковке архива PsTools в удобную папку. После этого можно добавить эту папку в переменную окружения PATH, для того, чтобы вызывать PsExec из командной строки не по полному пути, а только по имени файла.

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

То есть если нужно запустить на удаленной системе программу, которая не использует сетевые ресурсы, можно использовать учетные данные любого пользователя, для которого возможен доступ к общему ресурсу Admin$ на этой системе.
Если же нужно, чтобы программа на удаленной системе взаимодействовала с сетевыми ресурсами, нужно указывать пользователя, явно созданного на данной удаленной системе.
Для того, чтобы иметь возможность запускать PsExec на нескольких системах пакетно, нужно создать на этих системах локального пользователя с правами администратора, причем так, чтобы имя пользователя и пароль на каждой системе были одинаковыми.

Схема автоматической тихой установки с использованием PsExec и ключей тихой установки включает в себя следующие компоненты:
1. Дистрибутив (установочный файл) необходимой программы. Для примера назовем установочный файл program_install.exe.
2. Скрипт, создающий подключение к сетевому диску, запускающий удаление предыдущей версии программы и установку новой. Далее — скрипт установки, program.unattended.bat.
3. Скрипт, запускающий скрипт установки на списке удаленных систем (через PsExec), с указанием имени пользователя и пароля на удаленной системе. Далее — скрипт PsExec, program.psexec.bat
4. Файл, содержащий список имен удаленных систем, на которых нужно выполнить скрипт PsExec. Далее — список имён, list.txt

Работа системы выглядит следующим образом:
1. Администратор запускает скрипт PsExec (program.psexec.bat).
2. Скрипт PsExec читает список имён list.txt, и для каждой системы из списка открывает в отдельной консоли экземпляр PsExec c последующим запуском на удаленной системе скрипта установки program.unattended.bat.
3. На удаленной машине скрипт установки создает сетевой диск, ссылающийся на ресурс, на котором располагается дистрибутив program_install.exe и производит тихое удаление и тихую установку новой версии программы.

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

net use Q: /DELETE
net use Q: «\SoftShareSoftprogram»
taskkill /F /T /IM program.exe
«C:Program FilesRMOunins000.exe» /SILENT
RMDIR /S/Q «C:Program Filesprogram»
«Q:newprogram_install.exe» /VERYSILENT /NORESTART /TASKS=»desktopicon»
xcopy «Q:newworkspace» «C:Program filesprogramworkspace» /E /H /I
xcopy «C:Documents and SettingsInstallUserРабочий столprogram.lnk» «C:Documents and SettingsAll usersРабочий стол» /Y
net use Q: /DELETE

Для создания подключения к сетевому ресурсу используется диск Q:. Естественно, можно выбрать любую другую букву диска. Стоит сказать, что поскольку все действия в скрипте выполняются для специально созданного локального пользователя (назовем его InstallUser), данный диск не будет виден человеку, который работает на данной удаленной системе.

В первой строке диск Q: удаляется из списка сетевых дисков пользователя InstallUser . Вообще-то делать это необязательно, по большей части это перестраховка от того случая, если вдруг у пользователя InstallUser окажется есть диск с таким именем.
Во второй строке происходит подключение ресурса \SoftShareSoftProgram (папка с программой, которая будет устанавливаться) в качестве диска Q:
Третья строка нужна для завершения экземпляра программы, которая будет устанавливаться. Ключ /F означает принудительное завершение процесса, /T – завершение также дочерних процессов, /IM program.exe – определяет, что завершить надо процесс с именем program.exe. Для других программ имя процесса будет, естественно, отличаться.
4-я строка вызывает тихое удаление существующей версии программы. Ключ /SILENT означает как раз тихое удаление. Подробнее о ключах тихого удаления и установки — чуть позже.
5-я строка удаляет папку, в которой находилась программа, а также все её подкаталоги (ключ /S), без запроса подтверждения на удаление (/Q)
6-я строка наконец-то устанавливает нужную программу. Подробнее о ключах тихой установки и удаления будет ниже. Ключ /VERYSILENT в данном случае вызывает установку без вывода какой-либо информации на экран, в каталог по умолчанию. Ключ /NORESTART подавляет перезагрузку компьютера после установки. Ключ /TASKS=»desktopicon» дает указание на то, что необходимо создать ярлык программы на рабочем столе.
7-я строка в данном случае была нужна для того, чтобы скопировать определенные конфигурационные файлы, используемые в программе для того, чтобы после переустановки программы не сбивались определенные настройки. В конкретном случае копирование конфигурационных файлов может понадобиться, а в каких-то случаях можно обойтись и без этого.
8-я строка нужна копирует ярлык программы из рабочего стола InstallUser в рабочий стол всех пользователей. В данном случае это действие нужно из-за того, что по умолчанию программа устанавливается для того пользователя, который вызывает установку (в данном случае это InstallUser), соответственно ярлык создается только для этого пользователя.
В 9-й строке подключение к диску Q: удаляется из списка подключений InstallUser.

Читайте также:
Образовательная программа соо что это

Несмотря на объемное описание, процедура установки довольно проста, и в упрощенном виде может быть представлена следующим образом:
1. Создать подключение к папке с дистрибутивом
2. Удалить предыдущую версию программы
3. Установить новую версию программы
4. При необходимости произвести дополнительные действия (скопировать файл конфигурации, ярлык программы и т. д.)
5. Удалить подключение к папке с дистрибутивом

Как можно увидеть, самая сложная часть при создании данного файла — правильно прописать ключи тихой установки для конкретной программы. Сложность заключается в том, что для конкретных установщиков эти ключи очень сильно отличаются, и ключи, подходящие для одной программы, далеко не всегда подходят для другой.
Для облегчения поиска ключей тихой установки советую отличный сайт ITNinja. Сайт содержит информацию о способах тихой установки популярных программ. Достаточно ввести название программы, и будут выведены способы тихой установки для данной программы.
Кроме того, поиск облегчает тот факт, что большинство программ используют одинаковые установщики, для которых ключи установки заранее известны. Наиболее популярные установщики:

  • Пакет MSI
  • InstallShield
  • Inno Setup
  • NSIS

Информацию о ключах установки для популярных установщиков можно найти здесь

Создание скрипта PsExec
Создание скрипта PsExec – довольно простая задача. Приведу пример скрипта PsExec для установки программы, описанной выше:

Первые 9 строк нужны только для того, чтобы обратить внимание администратора на то, что он собирается сделать. Команда на 5-й строке выводит список компьютеров, на которые будет устанавливаться программа. Список компьютеров хранится в файле list.txt, о котором будет сказано позднее.
Строки 10 и 11 принимают имя пользователя и пароль. В данном случае нужно будет ввести имя пользователя InstallUser и пароль данного пользователя.
Данный текст будет виден только человеку, запустившему скрипт. Пользователи на удаленных компьютерах текста не увидят.
Всё основное действие заключено в последней строке, начиная с for. Данная конструкция для каждой строки из list.txt (как уже было сказано, данный файл содержит список компьютеров, на которые будет устанавливаться программа) вызывает отдельное окно с командной строкой , в которое передается команда «psexec -u %username% -p %userpass% -c \%%i program.unattended.bat».

Разберём, какие действия выполняет данная команда. Данная команда вызывает программу psexec, в качестве имени пользователя (-u) используется имя, введенное с клавиатуры, в качестве пароля (-p) используется пароль, введенный с клавиатуры. В качестве имени удаленной системы берется параметр %%i, который означает строку, взятую из файла list.txt. Параметр -с указывает на то, что необходимо скопировать вызываемый файл на удаленную систему.
В качестве исполняемого файла используется файл program.unattended.bat — это тот самый скрипт тихой установки, который был рассмотрен выше.

Таким образом, создание скрипта PsExec сводится к подставлению необходимых имени пользователя, пароля и имени скрипта установки.

Создание списка имён
Список имен представляет собой обычный текстовый файл, в каждой строке которого находится имя или ip-адрес удаленного компьютера, на который будет производиться установка программы. Единственные требования к файлу — на каждой строке должно находиться только одно имя или один ip-адрес, без слешей, в конце строки не должно быть никаких символов, кроме перевода строки.
Пример списка имён:
192.168.1.171
192.168.1.172
192.168.1.173
192.168.1.175
192.168.1.190
PC_PUPKINA
PC_IVANOV
PC_PETROV

В результате в папке с дистрибутивом программы будет находиться как минимум 4 объекта:
1. Папка с дистрибутивом программы, из которой будет производиться установка (в данном примере папка new)
2. Скрипт PsExec (файл program.psexec.bat) – тот файл, который запускает администратор
3. Скрипт установки (файл program.unattended.bat) – тот файл, который запускает на удаленной системе.
4. Список имён (файл list.txt)
Дополнительные файлыпапки могут использоваться или не использоваться в каждом конкретном случае.

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

Плюсы и минусы данного метода установки
Попробую дать оценку данному методу установки.
К плюсам метода можно отнести:

  • Возможность работы с любыми типами установщиков (в отличие от GPSI, который поддерживает только msi пакеты)
  • Сравнительная простота создания установки для конкретного дистрибутива. Единственная сложность заключается в правильном использовании ключей тихой установки. После создания установщика для конкретного дистрибутива установка сводится к запуску скрипта и вводу имени пользователя и пароля.
  • Незаметность для конечного пользователя. Вся установка протекает незаметно для пользователя и не отвлекает его от работы. Никаких действий от пользователя не требуется.
  • «Заточенность» под конкретный сценарий использования. Данный метод удобно использовать для сценария, когда есть большое количество машин, на которых периодически нужно обновлять определенные программы. При других сценариях — например, когда есть один или несколько «новых» компьютеров, на которые нужно установить пакетно большое количество программ — данный метод использовать тоже можно, но придется вносить некоторые изменения.
  • Невозможность отложенной установки. Может возникнуть ситуация, когда конечный пользователь в настоящий момент использует данную программу и обновлять ее прямо сейчас нежелательно. При использовании данного метода открытый экземпляр программы будет закрыт и программа обновится вне зависимости от желания пользователя. Если необходимо посылать пользователю предложение об установке программы (чтобы пользователь мог сам решить, устанавливать программу или нет), возможно, стоит использовать другие системы, например WPKG.
  • Большая нагрузка на хранилище. При использовании данного метода все пользователи начинают скачивать дистрибутив устанавливаемой программы одновременно, что может привести к большим нагрузкам на сетевое хранилище (в особенности, если пользователей много и дистрибутив большого размера). Возможное решение проблемы — небольшая модификация скрипта PsExec.

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

Источник: incaseofmiracle.blogspot.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru