Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть
Всем привет! В первой части статьи мы рассмотрели, как устанавливать RemoteApp в Windows Server 2008 R2, в данный части мы рассмотрим методы распространения программы через RemoteApp. Вы укажите, какие программные продукты и приложения должны быть представлены, через данную технологию. Что здорово, что их можно запускать на любом android устройстве.
Настройка списка RemoteApp
Итак начнем настраивать RemoteApp в Windows Server 2008 R2. Открываем пуск-Администрирование-Службы удаленных рабочих столов-Диспетчер удаленных приложений RemoteApp.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-01
Откроется оснастка «Диспетчер удаленных приложений RemoteApp». В правом верхнем углу жмем «Добавить удаленные приложения RemoteApp».
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-02
Откроется мастер добавления приложения. Жмем далее.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-03
Выбираем из списка приложение, у меня это будет Ccleaner. Хочу отметить, что в данном списке будут присутствовать только программы, которые доступны всем пользователям, то что установлено в локальный профиль конкретно пользователя тут не появится и если даже принудительно, это добавить работать не будет.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-04
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-05
Теперь в пункте Удаленные приложения RemoteApp появилась программа Ccealner.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-07
Теперь распространим наше приложение.
Распространить RemoteApp через RPD-файл.
Щелкаем правым кликом и выбираем создать RDP-файл.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-08
Откроется мастер в нем жмем далее.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-09
При желании вы можете задать альтернативное место создания пакета, указать сертификат если нужно.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-10
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-11
В итоге в c:\Program Files\Packeged Programs у вас появился RDP файл.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-12
Отдаем этот файлик клиенты, он его запускает. Нажимает подключить.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-14
Вводит, логин и пароль
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-15
и у него открывается Ccleaner на сервере, но визуально он его видит как у себя, это полезно если есть ПО с одной лицензией а раздать его хочется многим.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-16
Распространить RemoteApp через MSI-файл.
Тоже щелкаете правым кликом и выбираете Создать пакет установщика Windows.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-17
В мастере жмем далее.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-18
При желании вы можете задать альтернативное место создания пакета, указать сертификат если нужно.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-19
Ставим галки где должен быть создан ярлык на ПО.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-20
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-21
Все в c:\Program Files\Packeged Programs у вас появился MSI файл
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-22
Устанавливаем его на клиенте или через групповые политики. Щелкаем на ярлык на рабочем столе и нажимаем подключить.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-23
и наша программа запущена на удаленном сервере.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-24
Вы можете обратить внимание, что при установки через msi у вас в программы и компоненты появилась возможность деинсталляции это программы, а если заметите рядом стоит локальная ее копия.
Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-25
Вот так легко настраивается RemotApp через RDp-файл или MSI. Читайте далее как настроить, тоже самое но через Web браузер в 3 части статьи Как установить и настроить RemoteApp в Windows Server 2008 R2-3 часть.
Установка приложений на сервер терминалов в Windows Server 2008
В предыдущей статье мы рассмотрели установку служб терминалов в Windows Server 2008. Следующим шагом является установка пользовательских приложений на Windows Server 2008, т.е. приложений, которые будут одновременно использоваться несколькими удаленными пользователями. Важно отметить, что, во-первых, приложения должны быть установлены специально для использования служб терминалов, во-вторых, что не все приложения предназначены для одновременной работы с несколькими удаленными пользователями. Учитывая эти ограничения, мы рассмотрим основы безопасной установки приложений на Windows Server 2008 для использования удаленными пользователями через службы терминалов.
В этой статье мы поговорим про установку приложений в контексте удаленного доступа к рабочему столу (запуск приложений осуществляется в полноценном рабочем столе на удаленном сервере). Чтобы каждое удаленно запущенное приложение работало в своем собственном окне на локальной системе пользователя, необходимо настроить службу RemoteApps, но эту тему, мы разберем в следующих статьях.
Понимание режима работы служб терминалов Режимы работы
Terminal Services в Windows Server 2008 могут функционировать в двух различных режимах работы, известных как режим выполнения(Execute mode) и режим установки(Install mode). Службы Terminal Services работают в режиме выполнения в том случае, когда пользователи подключены и приложения запущены и используются. Режим установки используется в процессе установки и настройки приложения, с которым будут работать пользователи. По сути, в режиме установки Windows гарантирует, что соответствующие записи реестра и настройки в INI-файлах будут настроены на работу в многопользовательском режиме.
Если приложение было установлено с использованием мастера «Install Application on Terminal Server», то режим автоматически переключается в режим установки во время такой установки, а затем вернется обратно в режим выполнения. Если установка может быть выполнена из командной строки, то необходимый режим можно выбрать с помощью с помощью команды change user. В следующем примере мы переключаемся в режим установки, выполняем установку, а затем возвращается в режим выполнения:
Кроме того, текущий режим может быть получены с помощью опции /query:
Установка приложений на сервер терминалов с помощью панели управления
После установки службы терминалов на Windows Server 2008, в секции Programs на панели управления появится новый пункт Install Application on Terminal Server(установить приложений на сервере терминалов). Чтобы установить приложение для работы в службе терминалов, нужно запустить этот мастер. Если приложение для установки содержится на CD/DVD-диске, вставьте носитель в соответствующий привод и нажмите кнопку Next. Если дистрибутив находится на локальном диске или в сети, нажмите Next и подождите, пока будет искаться все доступные дистрибутивы. Если ничего не будет найдено, вам будет предложено самостоятельно выбрать место хранения дистрибутива приложения.
Нажмите на кнопку Browse… и укажите путь к программе установки. После выбора нажмите кнопку Next, после чего начнется установка. Установите ПО как обычно, после окончания нажмите в мастере кнопку Finish.
Если приложение разработано для использования в многопользовательских средах, оно готово для использования вашими удаленными пользователями через службы терминалов. Приложения, которые не поддерживают работу в многопользовательских средах, возможно, потребуют использование сценариев совместимости.
Сценарии совместимости приложений в Terminal Server
Для приложений, которые не предназначены для работы в многопользовательской среде, существует ряд приемов, которые могут помочь в различных случаях.
Если приложение использует некий фиксированный путь к пользовательским файлам, что может вызвать проблемы при одновременном доступе нескольких пользователей, полезный трюк заключается в том, чтобы мапить эти пути к различным буквам дисков, а затем заставить эти диски смотреть на разные пользовательские папки. Например, пользователь Sergey использует диск Е:, который подключен на папку C:\User\Sergey\Data, а пользователь Dima использует диск E:, который смотрит в папку C:\User\Dima\Data.
Другой вариант заключается в использовании скриптов совместимости (compatibility scripts), которые запускаются каждый раз, когда удаленный пользователь запускает приложение. В Windows Server 2008 есть два образца таких скриптов, которые находятся в папке %SystemRoot%\Application Compatibility Scripts. RootDrv.cmd мапит диск к домашнему каталогу пользователя, т.е. автоматически выполняет вышеописанный сценарий.
Сценарий SetPaths.cmd преобразует стандартные путей (такие как «Мои документы», «Рабочий стол») в переменных окружения, таким образом избегая использование жестко заданного пути. По умолчанию скрипт преобразует следующие пути в соответствующие переменные среды:
Windows Server 2008 R2 – Добавление скриптов входа на сервере RDS через ключ реестра AppSetup
При настройке сервера служб Remote Desktop Services (RDS) на Windows Server 2008 R2 c включённым UAC, столкнулся с интересной ситуацией. Стояла такая задача, чтобы при входе в систему для каждого пользователя отрабатывал *.cmd файл, в котором исполнялись бы все необходимые директивы дополнительной настройки пользовательского окружения.
По старой памяти, запустив редактор реестра от имени Администратора, я открыл ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon и с удивлением обнаружил отсутствие строкового параметра AppSetup (параметр служит для запуска скриптов обеспечения совместимости приложений в многопользовательской среде). Без задней мысли я создал этот параметр, вписал в него имя моего командного файла (USRLOGON_2.CMD), расположенного в папке C:\Windows\System32 и перезагрузил систему. Но к моему удивлению после перезагрузки, при входе пользователей в систему, файл не отрабатывал.
Пришлось вооружиться Sysinternals Process Monitor (Procmon) и проследить за происходящими процессами с реестром и файловой системой в процессе входа пользователя. Оказалось, что мой файл даже и не пытался быть прочитанным пользовательскими процессами. В ходе экспериментов, я удалил созданный мной ключ реестра AppSetup…и к своему удивлению через Procmon увидел что значение этого ключа продолжает успешно читаться в процессе логона. Стало понятно, что regedit запущенный от имени Администратора мне что-то «недоговаривает». Вот как выглядел вышеописанный куст реестра в таком случае (после удаления ранее созданного ключа AppSetup):
С помощью утилиты PsExec.exe из состава Sysinternals PsTools я запустил редактор реестра от имени системы (SYSTEM) командой
… и перед моими глазами открылась расчудесная картина
После этого стало понятно «откуда ноги растут». После того как значение ключа реестра было изменено в режиме пользователя SYSTEM — всё заработало как надо.
И ещё одну интересную вещь заметил – если копировать в системную папку C:\Windows\System32 разного рода файлы (в моём случае это были файлы *.cmd *.reg *.vbs) через файловые менеджеры – система не даёт их обнаруживать пользователям, хотя разрешения на уровне NTFS судя по вкладке Безопасность в свойствах файлов вполне адекватные, то есть наследуются с папки верхнего уровня и все пользователи имею право на чтение и выполнение таких файлов… А вот если скопировать эти же самые файлы в системную папку через проводник Windows – файлы пользователям доступны на чтение и выполнение в полноценном смысле этого слова… Даже не знаю как это трактовать… Возможно это особенности механизма работы UAC… Будет интересно услышать любые комменты от «просвещённых» по этому поводу.