Статья описывает процесс подготовки установочного пакета для «тихого» развертывания сервера UltraVNC на рабочих станциях пользователей


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

Полученный установочный пакет можно будет распространить на компьютеры пользователей посредством групповой политики, Kaspersky Security Center и другими аналогичными способами


  • устанавливаем UltraVNC на тестовом компьютере, запускаем приложение «UltraVNC Settings» и выполняем необходимые настройки
  • При этом обязательно включаем проверку подлинности Windows, обеспечивающую возможность предоставления права удаленного подключения локальным и доменным пользователям и группам. Несмотря на то, что аутентификация в этом случае будет выполняться внешними по отношению к UltraVNC средствами, учетные данные для внутренней проверки подлинности UltraVNC все равно должны быть указаны
  • По завершении конфигурирования в реестре Windows будет создан раздел «HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3», содержащий информацию о группах и пользователях с правом удаленного подключения, а в папке установки программы – файл UltraVNC.ini, хранящий все остальные параметры конфигурации сервера UltraVNC
  • скачиваем ISO-образ Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1
  • монтируем скачанный образ, переходим в папку «Setup\WinSDKTools», открываем архив cab1.cab, извлекаем из него файл «WinSDK_Orca_Msi_5E20C107_DAA3_4D49_AFAE_7FB2594F0CDC_x86», изменяем его расширение на «msi» и выполняем установку утилиты ORCA
  • открываем в ORCA установочный MSI-пакет UltraVNC
  • в главном меню выбираем пункт «Transform – New Transform»
  • отключаем установку компонента «Viewer» (на рабочих станциях необходим только сервер «UltraVNC»), для чего переходим к таблице «CustomAction», выбираем строку «CustomCheckC_SetProperty_CHECKBOX2 – 307 – VIEWER – 1» и удаляем значение поля «Target»
  • отключаем создание ярлыков в «Главном меню» и на «Рабочем столе», для чего переходим к таблице «Shortcuts» и удаляем все записи
  • добавляем в реестр информацию о группе безопасности (в нашем случае – локальной группе «Администраторы»), членам которой будет разрешено удаленное подключение, для чего переходим к таблице «Registry» и добавляем новую запись со следующими значениями полей
    • Registry – REG_8E29FEC8D8F44EA898A22D8310862267
    • Замечание: в качестве имени берем имя компонента, создающего папку установки программы в «Program Files», удаляем начальные символы «C__» и добавляем в начало строки «REG_»
    • Root – 2
    • Замечание: «2» означает «HKEY_LOCAL_MACHINE»
    • Key – Software\ORL\WinVNC
    • Name – ACL
    • Value – #x0200200001000000000018000300000001020000000000052000000020020000
    • Замечание: #x используется для обозначения того, что указанной далее значение нужно интерпретировать как двоичные данные
    • Component_ — C__8E29FEC8D8F44EA898A22D8310862267
    • Замечание: в качестве компонента, контролирующего изменения данного параметра реестра, используем компонент, создающий папку установки программы в «Program Files»
  • настраиваем копирование в папку установки файла конфигурации, для чего:
    • генерируем посредством Powershell GUID для имени компонента
    • [guid]::NewGuid().ToString().ToUpper()
    • Замечание: далее в качестве созданного GUID будет использоваться значение «2FB5AE40-B2DB-46A3-831F-37784F6BC8FC»
    • генерируем посредством Powershell GUID для имени файла
    • Замечание: далее в качестве созданного GUID будет использоваться значение «5C57F514-1631-434A-928B-1AB9F1609435»
    • переходим к таблице «Components» и добавляем новую строку
      • Component — С__2FB5AE40B2DB46A3831F37784F6BC8FC
      • CompomemtId — {2FB5AE40-B2DB-46A3-831F-37784F6BC8FC}
      • Directory — TARGETDIR
      • Attributes — 0
      • Замечание: данный параметр определяет атрибуты для удаленного запуска; «0» означает, что никакие дополнительные атрибуты не указаны
      • Condition – оставляем пустым
      • KeyPath — _5C57F5141631434A928B1AB9F1609435
    • переходим к таблице «FeatureComponents» и добавляем новую строку
      • Feature_ — DefaultFeature
      • Component_ — С__2FB5AE40B2DB46A3831F37784F6BC8FC
    • переходим к таблице «File» и добавляем новую строку
      • File — _5C57F5141631434A928B1AB9F1609435
      • Component_ — С__2FB5AE40B2DB46A3831F37784F6BC8FC
      • FileName — UltraVNC.ini
      • FileSize — <размер_файла_в_байтах>
      • Attributes – 8192
      • Замечание: «8192» означает, что файл не сжат
      • Sequence — <наибольшее значение в данном столбце> + 1
    • переходим к таблице «Media» и вносим следующие изменения
      • LastSequence — <использованное выше значение поля «Sequence» таблицы «File»>
      • Cabinet — оставляем пустым, т.к. файл не входит в какой-либо cab-пакет
  • выбираем пункт меню «Transform — Generate Transform» и указываем путь для сохранения файла трансформации transform.mst
  • размещаем файл установочный пакет UltraVNC, файл конфигурации UltraVNC.ini и файл трансформации transform.mst в одной папке
  • для запуска «тихой» установки выполняем
  • msiexec /i UltraVnc_1212_X64.msi /quiet TRANSFORMS=transform.mst

Замечание: для использования на удаленном компьютере русской раскладки клавиатуры необходимо в настройках клиента включить параметр «Japanese keyboard», при этом на локальном компьютере также должна быть выбрана русская раскладка клавиатуры, а их переключение должно выполняться на удаленном компьютере

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