//
вы читаете...
Автоматизация, Системное администрирование

Автоматизированная установка UltraVNC на удаленный компьютер

Для выполнения данного действия нам понадобятся:

  • дистрибутив UltraVNC
  • утилита psexec из набора Sysinternals Suite
  • терпение

Алгоритм установки:

  • создать эталонную конфигурацию
  • собрать файлы для дистрибутива
  • написать скрипт установки

Создание эталонной конфигурации

В качестве точки старта возьмем страницу официального сайта http://www.uvnc.com/install/installation.html.

Для начала нам необходимо запустить дистрибутив UltraVNC с параметром /saveinf=”Filename”. В качестве значения Filename используется полное имя файла, в который будет сохранена конфигурация установленного экземпляра программы. Установку необходимо провести в том виде, в каком она должна будет появиться на компьютере пользователя. Мой лог установки выглядит так:

[Setup]

Lang=en
Dir=C:\Program Files\UltraVNC
Group=UltraVNC
NoIcons=0
SetupType=server_silent
Components=ultravnc_server_s
Tasks=installservice,startservice

Далее нам необходимо настроить установленную программу.

Я не буду расписывать весь процесс, скажу только, что обязательно надо установить пароли на просмотр и управление. По желанию можно отключить отображение иконки в трее пользователя. Для этого необходимо в файле ultravnc.ini (находится в директории с установленной UltraVNC) изменить значение параметра DisableTrayIcon с 0 на 1.

Мой файл ultravnc.ini выглядит так:

[Permissions]
[admin]
UseRegistry=0
MSLogonRequired=0
NewMSLogon=0
DebugMode=0
Avilog=0
path=C:\Program Files\UltraVNC
DebugLevel=8
DisableTrayIcon=1
LoopbackOnly=0
UseDSMPlugin=0
AllowLoopback=0
AuthRequired=1
ConnectPriority=0
DSMPlugin=
AuthHosts=
AllowShutdown=0
AllowProperties=1
AllowEditClients=1
FileTransferEnabled=1
FTUserImpersonation=1
BlankMonitorEnabled=1
BlankInputsOnly=0
DefaultScale=1
CaptureAlphaBlending=0
BlackAlphaBlending=0
primary=1
secondary=0
SocketConnect=1
HTTPConnect=1
XDMCPConnect=0
AutoPortSelect=1
PortNumber=0
HTTPPortNumber=0
IdleTimeout=0
RemoveWallpaper=0
RemoveAero=1
QuerySetting=2
QueryTimeout=10
QueryAccept=0
QueryIfNoLogon=0
InputsEnabled=1
LockSetting=0
LocalInputsDisabled=0
EnableJapInput=0
kickrdp=0
clearconsole=0
service_commandline=
secundary=0
FileTransferTimeout=30
[admin_auth]
group1=
group2=
group3=
locdom1=0
locdom2=0
locdom3=0
[ultravnc]
passwd=96F13D
passwd2=96F13D
[poll]
TurboMode=0
PollUnderCursor=0
PollForeground=0
PollFullScreen=0
OnlyPollConsole=0
OnlyPollOnEvent=0
MaxCpu=0
EnableDriver=0
EnableHook=0
EnableVirtual=0
SingleWindow=0
SingleWindowName=

Сбор файлов для дистрибутива

Для дистрибутива нам понадобятся:

  • файл, имя которого было указано в параметре /saveinf (я назвал его vnc.log)
  • файл ultravnc.ini, находящийся в каталоге установки программы
  • сам дистрибутив программы (для удобства я его назвал vnc.exe)

Разработка скрипта установки

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

Дерево каталогов и файлов дистрибутива выглядит так:

uvnc
  |____inst_vnc.bat
  |____distr
         |____ultravnc.ini
         |____vnc.exe
         |____vnc.log

Синтаксис использования батника:

> inst_vnc.bat имя_компьютера

Код батника:

@echo off
cls
echo ********       Connecting to remote machine         ******
net use O: /delete /y
echo ********       Copying files                        ******
rem -------------    copy files
net use O: \\%1\C$
mkdir O:\install
copy "%~d0%~p0\distr\vnc.exe" "O:\install" /y
copy "%~d0%~p0\distr\vnc.log" "O:\install" /y
rem -------------    install vnc
psexec \\%1 net stop uvnc_service
psexec \\%1 "taskkill.exe" /f /im winvnc*
psexec \\%1 del "C:\Program Files\UltraVNC\*.*"
echo ********       Running installator                  ******
psexec \\%1 "C:\install\vnc.exe" /sp- /loadinf="C:\install\vnc.log" /verysilent
rem -------------    kill vnc window
echo ********       Shutting down existing winvnc.exe    ******
psexec \\%1 "taskkill.exe" /f /im winvnc*
rem -------------    copy settings
echo ********       Copying settings                     ******
copy "%~d0%~p0\distr\ultravnc.ini" "O:\Program Files\UltraVNC\" /y
rem -------------    restart vnc service
echo ********       Stopping VNC service                 ******
psexec \\%1 net stop uvnc_service
echo ********       Running VNC service                  ******
psexec \\%1 net start uvnc_service
rem -------------    deleting installation files
echo ********       Deleting installaion files           ******
del /q O:\install\*
rd O:\install
rem -------------    delete O
net use O: /delete /y
pause
Реклама

Обсуждение

5 thoughts on “Автоматизированная установка UltraVNC на удаленный компьютер

  1. Эм..есть же ещё VNCed_UltraVNC_MSI_CREATOR. Он упаковывает новый MSI-файл. Распространяй в домене-не хочу!

    Posted by manualcheg | Ноябрь 13, 2013, 11:01 дп
    • Спасибо, полезный комментарий.

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

      Posted by bugaga0112358 | Ноябрь 16, 2013, 7:55 пп
  2. А пофайлово тоже хорошо, но это олдскул)

    Posted by manualcheg | Ноябрь 13, 2013, 11:02 дп
  3. Спасибо. Нужно было развернуть в рабочей группе. Единственное, что добавил ещё пару параметров %2 и %3 для имени админа и пароля и добавил их к вызовам Net use … %3 /user:%2 и psexec -u %2 и -p %3

    Posted by Андрей | Ноябрь 26, 2013, 4:14 дп
    • Пользуйтесь наздоровье =)
      Я этот скрипт использовал только для ручного запуска установки на целевую машину, поэтому не добавлял параметры для логина/пароля, так как всегда вводил их после отработки команды net use (потом уже все команды отрабатывают в контексте прошедшей авторизации).

      Posted by bugaga0112358 | Ноябрь 26, 2013, 6:31 пп

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: