Технология RemoteApps является одной из функций роли служб терминалов в Windows Server 2008. До появления RemoteApps, службы терминалов подразумевали отображение на стороне клиента всего виртуального рабочего стола удаленного сервера. Такой подход достаточно удобен в ряде ситуаций, однако в том случае, если пользователю необходимо создать эффект того, что приложение, запущенное на терминальном сервере, отображалось на стороне клиента терминала, создавая иллюзию его локальной работы, такой подход не работает. Именно такую функциональность и обеспечивают функции RemoteApps, о которых мы и поговорим в этой статье.
Подготовка сервера к установке RemoteApps
Перед использованием технологии RemoteApps на сервере Windows Server 2008 необходимо выполнить ряд условий. В первую очередь на вашем сервере должна быть установлена и настроена роль служб терминалов.
Во-вторых, все приложения, которые планируется использовать с помощью RemoteApps должны быть установлены на терминал так, чтобы они поддерживали одновременную многопользовательскую работу. Как это сделать, вы можете прочитать в статье Установка приложений для Windows Server 2008 Terminal Services .
И, наконец, если планируется сделать доступ к приложениям через браузер с помощью роли TS Web Access, необходимо произвести настройки, описанные в статье Настройка TS Web Access в Windows Server 2008.
После выполнения первых двух, а, если необходимо и третьего требования, можно переходить к процессу конфигурации RemoteApp.
Что такое RemoteApps?
RemoteApps являются частью роли служб терминалов в Windows Server 2008. Цель служб терминалов – обеспечение доступа клиентских систем к рабочему столу и приложениям, работающих на терминальном сервере. Как следует из названия, удаленный доступа к рабочему столу означает отображение всего рабочего стола сервера на экране локального клиента. Такой подход позволяет пользователю выполнять различные задачи на сервере, в том числе запускать и взаимодействовать с приложениями на удаленном хосте. Функция RemoteApps помогает избегать предоставления пользователю доступа ко всему рабочему столу удаленной системы, в том случае если, ему необходимо всего одно приложение. При запуске каждого приложения RemoteApp, оно отображается в отдельном окне на рабочем столе клиента, то есть точно так же, как если бы оно было установлено и запушено локально.
RemoteApps могут быть запущены с помощью специальной ссылки на веб-странице TS Web Access, или путем установки специального файла на компьютере клиента.
Настройка приложения в качестве RemoteApp
Процесс настройки RemoteApps осуществляется с использованием утилиты TS RemoteApp Manager. Его можно запустить из меню Пуск -> Все программы -> Terminal Services -> TS Remote App Manager, либо с помощью оснастки remoteprograms.msc. После запуска, интерфейс менеджера будет выглядеть примерно следующим образом:
Для настройки приложения в качестве RemoteApp, необходимо нажать ссылку Add RemoteApp Programs в панели Actions, расположенной в правом верхнем углу экрана менеджера RemoteApp Manager. На экране появится мастер RemoteApp, содержащий список установленных в системе приложений. Вам необходимо отметить галочками одно или несколько приложений, и нажать Next.
Также с помощью этого мастера можно настроить различные свойства для каждого приложения, доступ к этим настройкам можно получить с помощью кнопки Properties. Окно настройки параметров RemoteApp показано ниже.
Этот диалог позволяет настроить следующие параметры:
- RemoteApps program name – имя программы, под которым данное приложение будет видимо для пользователя.
- Location : — физический путь к исполняемому файлу приложения.
- Alias (Псевдоним) — уникальный идентификатор для программы или приложения, как правило, здесь используется имя исполняемого файла без расширения.
- RemoteApp isavailable through TS Web Access –управляет доступом к приложению RemoteApp через TS Web Access. Подробнее о TS Web Access читайте пост под названием Настройка Windows Server2008 TS Web Access .
- Command-Line Arguments(параметры командной строки) –устанавливает правила для использования приложением аргументов командной строки.
- Change Icon –Позволяет установить и изменять иконку приложения
После внесения каких-либо изменений в свойства RemoteApp, нажмите кнопку ОК, а затем Next. После завершения настройки приложений они будут перечислены в списке RemoteApp Programs, как показано на рисунке:
После настройки RemoteApps, удаленные пользователи могут приступать к их использованию. Осталось лишь установить на ПК клиента специальный пакет Windows Installer или скопировать ему заранее сформированный .rdp файл, либо же предоставить ему доступ к TS Web Access. Каждый из этих подходов будут подробно рассмотрены в последующих разделах.
Доступ пользователей к RemoteApps через TS Web Access
По умолчанию, приложение RemoteApps доступно через TS Web Access. Проверить этот факт можно, как указано выше, с помощью окна свойств RemoteApp и наличия в нем отмеченного чекбокса RemoteApp is available through TS Web Access. Естественно, этот параметр может быть изменен в любое время, для чего в списке приложений RemoteApp нужно выбрать необходимое приложение и перейти в его свойства.
Итак, если ваши RemoteApps настроены для доступа через TS Web Access, просто откройте окно браузера и введите URL-адрес веб-страницы:
http://Server1/ts
В качестве значения Server1, вы можете использовать ip адрес или имя вашего терминального сервера. Когда соединение будет установлено, то перед отображением страницы, браузер запросит имя пользователя и пароль.
Для запуска приложения пользователю достаточно просто нажать на его значок, после чего появится начальное окно запуска RemoteApp. В нем нужно будет выбрать настройки терминального соединения, например какие локальные ресурсы клиента (например, диски, устройства, клавиатура, мышь, принтер, порты и т.д.) должны быть доступны в приложении, запущенном на удаленной системе. Это может быть полезно, например, если пользователю нужно печатать из удаленного приложения на локальном принтере, или сохранять файлы сразу на локальный диск или USB-флешку:
После установки соединения окно терминального приложения будет отображено в окне на локальном компьютере.
Доступ к RemoteApps с помощью пакетов Windows Installer
Альтернативным способом доступа к приложениям RemoteApp является использование пакетов установщика Windows, которые необходимо развернуть на тех системах, с которых предполагается осуществлять доступ на сервер терминалов. Чтобы создать файл Windows Installer для RemoteApp, щелкните правой кнопкой мыши по выбранному приложению в менеджере RemoteApp и выберите команду Create Windows Installer Package. В появившемся мастере необходимо выбрать каталог, в который на клиенте будет установлен RemoteApp. Также с помощью этого мастера можно переопределить порт протокола RDP, который будет использоваться клиентом для доступа к серверу RemoteApp. И, наконец, здесь же можно настроить защиту удаленного доступа с помощью сертификатов.
После нажатия кнопки Next вы можете указать, нужно ли на клиенте создавать ярлыки на рабочем столе и в меню «Пуск». И последняя настройка – это настройка ассоциации с расширениями файлов. В качестве примера ассоциации файлов можно привести, для приложения Word — файлы с расширением .doc, а для Excel — .xls. При настройке подобной ассоциации приложения с расширением .doc, автоматически запустится через RemoteApp ассоциированное приложение Word, в котором этот файл и будет открыт. За указанное сопоставление отвечают параметры опции Take over file extensions .
После создания пакета, файл .msc будет находиться по пути, который вы указали в процессе создания такого пакета (по умолчанию это \Program Files\Packaged Programs). Этот файл может быть скопирован на любую клиентскую систему, где он должен быть запущен. В результате установки пакета Windows Installer RemoteApp можно найти в меню «Пуск» (Start -> All Programs -> Remote Programs).
В этом случае, так же как при использовании TS Web Access, пользователь будет предоставлена возможность указать, какие локальные ресурсы, такие как диски, порты и принтеры должны быть доступными в удаленном приложении.
Запуск RemoteApps с помощью .rdp файлов
Процесс создания RDP файла для RemoteApp полностью аналогичен процессу создания пакета Windows Installer. Чтобы создать RDP файл для RemoteApp, щелкните правой кнопкой мыши по выбранному RemoteApp в менеджере TS RemoteApp и выберите пункт меню Create .rdp File. В результате откроется мастер, который потребует от вас указать каталог, в котором будет создан .rdp файл, также можно будет определить порт протокола RDP (Remote Desktop Protocol) для создаваемого RemoteApp, а также возможно установить защиту терминальной сессии при помощи цифровой подписи.
После завершения настроек, нажмите кнопку Готово, и в результате в каталоге, который вы указали (по умолчанию это C:\Program Files\Packaged Programs) появится новый .rdp файл. Этот файл нужно скопировать на любую систему, с которой предполагается воспользоваться удаленным приложением RemoteApp.
Как и в случае с TS Web Access, пользователь может определить какие локальные ресурсы могут быть доступными в опубликованном терминальном приложении.
Не всегда для работы пользователей на терминальном сервере нужна полноценная сессия удаленного рабочего стола. Допустим в вашей компании пользователи используют на терминальном сервере только приложение 1С: Предприятие 8.2. Здесь мы можем использовать технологию RemoteApp, которая появилась в Windows 2008.
RemoteApp – это программы, удаленный доступ к которым можно получить через службы терминалов и которые работают так, как будто они запущены на локальном компьютере пользователя. Пользователи могут запускать программы RemoteApp вместе со своими локальными программами. Пользователи могут сворачивать и разворачивать окно программы, изменять его размеры и с легкостью запускать сразу несколько программ. Если пользователь запускает более одной программы RemoteApp на одном сервере терминалов, программы RemoteApp будут находиться в одном сеансе служб терминалов.
Настройка приложения RemoteApp на примере 1С: Предприятие 8.2:
- Открываем «Диспетчер удаленных приложений RemoteApp» (Рис.1):
Рис.1.
2. В диспетчере, на панели действий справа, выбираем «Добавить удаленные приложения RemoteApp» (Рис.2):
Рис.2.
3. Откроется «Мастер удаленных приложений (RemoteApp)». Нажимаем Далее (Рис.3):
Рис.3.
4. Далее выбираем нужное нам приложение (в нашем случае 1с Предприятие). Нажимаем Далее (Рис.4):
Рис.4.
5. В следующем окне нажимаем Готово (Рис.5):
Рис.5.
6. Видим, что в окне «Диспетчер удаленных приложений RemoteApp» внизу, в списке удаленных приложений RemoteApp появилось приложение 1С предприятие. Кликаем на нем правой кнопкой мыши -> «Создать RDP-файл» (Рис.6):
Рис.6.
7. Откроется «Мастер удаленных приложений (RemoteApp)», жмем Далее (Рис.7):
Рис.7.
8. В следующем окне мы задаем параметры нашего пакета. Можем изменить место сохранения файла RDP, сменить порт сервера, задать параметры шлюза служб терминала и выбрать сертификат. нажимаем Далее (Рис.8):
Рис.8.
9. В следующем окне нажимаем Готово (Рис.9):
Рис.9.
10. Копируем нужным пользователям наш файл RDP (место сохранения файла можем изменить в пункте 8, по умолчанию — C:\Program Files\Packaged Programs. Скопировать можно ручками или через logon скрипт в групповой политике. Открываем наш RDP-файл (Рис.10):
Рис.10.
11. Для запуска приложения нажимаем Подключить (ставим галку, чтобы данный вопрос впредь не повторялся) (Рис.11):
Рис.11.
12. Вводим учетные данные и нажимаем Подключить. Помним, что пользователь должен иметь права на подключение к службе удаленных рабочих столов (Рис.12):
Рис.12.
13. Если приложения запускаются несколькими пользователями с одинаковыми параметрами, мы можем создать одного пользователя и в настройках снять ограничение на единственный сеанс (Рис.13-14):
Рис.13.
Рис.14.
14. По умолчанию, при закрытии приложения RemoteApp, сеанс пользователя на сервере терминалов не закрывается. Дабы исправить эту оплошность, заходим в свойства нужного нам пользователя. Переходим на вкладку Сеансы и выставляем время завершения отключенного сеанс (Рис.15):
Рис.15.
Приложение RemoteApp настроено.
Успехов!
Не все знают, что в дополнение к службе удаленных рабочих столов, в Windows Server 2008 R2 есть очень удобная служба удаленных приложений RemoteApp. Суть RemoteApp в том, что к любым приложениям, установленным на данном сервере, можно получить удаленный доступ с любого компьютера подключенного к сети. В этом случае, выполняться программа будет на сервере, но её окно будет прорисовываться так, если бы пользователь запустил программу с локального компьютера. Возможно сворачивать и разворачивать окно программы запущенной через RemoteApp, изменять его размеры и запускать сразу несколько программ вместе со своими локальными приложениями. Это очень удобный механизм, который может существенно облегчить администрирование некоторых программ и сократить расходы на их покупку. Ниже я расскажу как настроить Удаленные приложения RemoteApp в Windows Server 2008 R2 на примере программы 1с:Предприятие 7.7. 0. Оглавление
- Что понадобится
- Создание RDP-файла или установщика для удаленной программы
- Настройка пользователей
1. Что понадобится
- Компьютер с Windows Server 2008 R2
- Запущенный сервер терминалов на данном компьютере
- Также, на этом компьютере должно быть установлено и настроено приложение, которое мы будем добавлять в RemoteApp, в моем случае это 1С:Предприятие 7.7 (об особенностях установки 1С:Предприятие 7.7 к примеру)
2. Создание RDP-файла или установщика для удаленной программы Запускаем «Диспетчер удаленных приложений RemoteApp» («Пуск» — «Администрирование» — «Службы удаленных рабочих столов» ) и в меню «Действия» слева нажимаем на «Добавить удаленные приложения RemoteApp» .
В запустившемся мастере нажимаем «Далее» , выбираем необходимое приложение, затем снова «Далее» и «Готово» .
После чего данная программа появится в списке удаленных приложений RemoteApp. Выделив его в таблице нажимаем на «Создать RDP-файл» в меню слева.
Запустится «Мастер удаленных приложений RemoteApp» , нажимаем «Далее» и попадаем на окно «Задание параметров пакета» . Здесь можно выбрать каталог, куда сохранится RDP-файл, задать параметры шлюза удаленных рабочих столов, а также параметры сертификата для защищенных соединений. Но главное, можно поменять имя сервера и порт. Изначально выставлены имя компьютера и порт RDP по умолчанию. С такими настройками приложение будет доступно только из локальной сети. Если необходимо, чтобы программа запускалась и со всех компьютеров, подключенных к сети Интернет, то имя сервера нужно заменить на внешний IP-адрес, а также, по необходимости, изменить порт, который проброшен на маршрутизаторе для данного сервера, как показано на скриншоте ниже.
Порт также следует поменять, если вы меняли порт по умолчанию для сервера терминалов. Завершаем работу мастера нажав «Далее» и «Готово» , после чего в указанном каталоге найдем файл с расширением rdp.
Аналогичным образом можно создать msi-установщик, нажав на «Создать пакет установщика Windows» . При запуске получившегося таким образом установщика, он будет создавать RDP-ярлык на рабочем столе и в меню пуск с иконкой выбранного приложения.
Теперь, если запустить получившийся RDP-файл с другого компьютера в сети, то появится окно ввода логина/пароля для входа на сервер.
После ввода данных увидим окно 1С:Предприятие так, как будто мы запустили его с локальной машины.
3. Настройка пользователей Если приложение будут запускать несколько пользователей с одинаковыми настройками, то необязательно добавлять каждого на сервер. Достаточно создать только одного пользователя, скажем User_1C , настроить все параметры (список баз, принтеры пр.) для этого пользователя и разрешить множественные сеансы. Для того чтобы разрешить множественные сеансы заходим в «Пуск» — «Администрирование» — «Службы удаленных рабочих столов» — «Конфигурация узла сеансов удаленных рабочих столов» кликаем 2 раза по «Ограничить пользователя единственным сеансом» , в окне свойств снимаем галочку «Ограничить всех пользователей одиночными сеансами» .
Значение должно поменяться
на «Нет» .
Кроме этого, надо знать еще об одном нюансе. Дело в том, что при закрытии приложения, запущенного через RemoteApp, пользователь не выгружается автоматически, а отключенная учетная запись так и продолжает «висеть» на сервере. Чтобы изменить это, в свойствах пользователей, которые будут запускать приложения через RemoteApp, на вкладке «Сеансы» устанавливаем «Завершение отключенного сеанса» через 1 минуту.
На этом настройка закончена. Мы выполнили ее таким образом, что несколько человек одновременно могут работать с программой 1С:Предприятие 7.7 под одной учетной записью (для удобства работы можно создать несколько учетных записей, например, User_1c_Buh, User_1C_Operator, User_1C_Sklad и т. д. или же отдельную учетную запись для каждого пользователя).
Windows Server 2008 вместе с поддержкой нового протокола RDP 6.0 содержит значительные усовершенствования Служб терминалов. К сожалению многие администраторы слабо осведомлены об этих улучшениях и не спешат их использовать. В данной статье мы коротко остановимся на наиболее значительных и интересных новых возможностях Служб теминалов.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Служба терминалов в Windows Server 2008 сделала большой шаг вперед, предлагая администратору и пользователям новые возможности, делающими работу в терминальном режиме еще более простой, удобной и безопасной. Нам хотелось бы остановится на трех основных нововведениях, таких как: удаленные приложения RemoteApp, позволяющие работать удаленно с отдельно выбранным приложением; Веб-доступ к службам терминалов и Шлюз служб терминалов, позволяющий получить доступ к терминальному серверу расположенному во внутренней сети предприятия из любого места.
Более удобным стал и мастер добавления ролей, теперь все необходимые компоненты можно выбрать в одном месте и не доставлять дополнительно, как это было в Win2k3.
Следует заметить, что установка некоторых Служб ролей потребует установки дополнительных компонентов, например Веб-доступ потребует обязательной установки IIS.
Для корректной работы Шлюза сервера терминалов следует иметь действующий SSL сертификат, для тестов и применения в небольших организациях можно использовать самозаверяющий сертификат, но мы все таки рекомендуем приобрести и использовать сертификат выданный одним из центров сертификации.
В остальном установка и настройка терминального сервера в Windows 2008 ничем не отличается от аналогичного процесса в Windows 2003, описанного нами в предыдущей статье, поэтому мы более не будем заострять на этом внимание и перейдем к описанию новых возможностей.
Удаленные приложения RemoteApp
Данная функция представляет одно из самых заметных и значительных усовершенствований служб терминалов и, на наш взляд, обязана стать одной из самых популярных и востребованных. Суть ее состоит в том, что вместо удаленного рабочего стола позволяет работать с отдельно выбранным удаленным приложением так, как будто оно установлено на клиенте. Это значительно повысит комфортность и производительность работы, ведь основной недостаток терминального режима, с точки зрения пользователя, это неудобство от переключения между двумя рабочими столами. Диспетчер удаленных приложений RemoteApp позволяет нам управлять удаленными приложениями, работать с ним довольно просто, запускаем мастер и в списке указываем те приложения, к которым мы хотим предоставить удаленный доступ и параметры их запуска.
Теперь выбрав в списке удаленное приложение мы можем создать либо RDP файл для его запуска либо пакет установки для развертывания его на клиентском компьютере. Никакой существенной разницы между этими двумя способами нет, пакет установки содержит тот же самый RDP файл и иконку приложения к нему, помещает все это в специальную папку и создает ярлыки в меню Пуск и на Рабочем столе.
При запуске от нас потребуется указать имя пользователя и пароль для доступа к серверу терминалов, если сохранить эти данные, то запуск удаленного приложения будет мало чем отличаться от запуска локального. Допускается запуск нескольких, в том числе одинаковых приложений, которые будут работать в одной пользовательской сессии. На рисунке ниже представлены окна 1С Предприятие 7.7 запущенного в режиме RemoteApp, как видно, для конечного пользователя они абсолютно ничем не отличаются от окон локально запущенных приложений.
Важно:
для поддержки этой и других, описанных ниже, возможностей Служб терминалов необходимо наличие на клиентской машине RDP клиента версии 6 и выше. В противном случае запуск удаленного приложения приведет к открытию обычной терминальной сессии.
Веб-доступ к службам терминалов
Данная функция позволяет получать доступ к службам терминалов через Интернет, используя для этого протокол HTTP / HTTPS, что позволяет существенно увеличить безопасность сервера, так как позволяет закрыть порт 3389 (RDP) на внешнем интерфейсе, а все взаимодействие будет происходить через стандартные 80 / 443 порты. При установке Веб-доступа к службам терминалов будет обязательно установлен веб-сервер IIS 7. На клиентской машине нужно набрать в браузере (только IE6 и выше)
http(s)://адрес_сервера/ts
, при первом обращении система предложит установить ActiveX компонент, который правда не всегда включается автоматически и в случае необходимости нужно включить его вручную.
После успешной установки ActiveX компоненты становятся доступны службы RemoteApp и удаленный рабочий стол. Дальнейшая работа в этом режиме мало чем отличается от работы через RDP, мы без проблем запустили 1C Предприятие 7.7 в режиме RemoteApp.
Данный режим очень удобен когда нужно организовать безопасное подключение к серверу из любой точки и любого компьютера. Минимальные требования для клиента: Windows XP SP2 / Windows Server 2003 SP1 и RDP 6.0.
Шлюз служб терминалов
Еще одно нововведение направленное, как и веб-доступ, на организацию безопасного доступа к службам терминалов из внешних сетей. Шлюз позволяет получить доступ к Серверу терминалов расположенному во внутренней сети предприятия из внешних сетей без использования VPN доступа. Преимущества такого решения очевидны: многие провайдеры либо предоставляют доступ в интернет через VPN, либо ограничивают GRE пакеты (мобильные операторы), что делает невозможным установление VPN соединения вообще. К тому же работа через VPN дает доступ ко всей корпоративной сети, что тоже с точки зрения безопасности не всегда приемлемо. В данном же случае пользователь устанавливает безопасное соединение со шлюзом, который перенаправляет пользователя на сервер терминалов во внутренней сети. Необходимым условием для подключения к шлюзу служб терминалов является наличие на клиентском компьютере действующего сертификата выданного сервером шлюза. Для тестов и небольших организаций можно использовать самозаверяющий сертификат, в иных случаях мы бы советовали использовать сертификат выданный одним из центров сертификации. Для получения самозаверяющего сертификата следует зайти в Диспетчер шлюза служб терминалов, выбрать необходимый сервер и войти в его свойства.На второй закладке выбрать
Создать самозаверяющий сертификат
, после создания сертификат следует вручную распространить по клиентам. Для этого достаточно скопировать и запустить файл сертификата на машине клиента.
При настройке подключения с использованием шлюза указывается адрес сервера так, как во внутренней сети, а на последней вкладке
Подключение
настраиваются параметры шлюза. Опция
«Не использовать шлюз терминалов для локальных адресов»
позволяет работать напрямую с сервером находясь в офисе и через шлюз за пределами офиса (например дома или в командировке).
При подключении необходимо вначале указать пароль для авторизации на сервере шлюза, а затем на сервере служб терминалов.
Заключение
Современный бизнес отличается высокими требованиями к своевременному доступу к информации из любого места и в любое время, также выросли объемы этой информации с требования к их обработке. Новые возможности служб терминалов Windows Server 2008 как раз направлены на максимальное соответствование этим требованиям. Наряду с более удобным доступом к удаленным приложениям посредством службы RemoteApp, система предоставляет богатые возможности для работы из любой точки в любое время. Веб-доступ позволяет работать находясь в гостях или интернет-кафе используя любой соответствующий требованиям компьютер: достаточно иметь систему не ниже Windows XP SP2 с RDP 5 (RDP 6 для использования RemoteApp). Шлюз сервера терминалов предоставляет защищенный доступ к серверу находящемуся во внутренней сети из любой точки мира без оглядки на способ доступа и инфраструктуру провайдера.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
В операционных системах семейства Windows (не домашней), можно включать режим удаленного рабочего стола. Это бывает очень удобно, по причине того, что работая на удаленной машине мы получаем картинку а не перекидываемся громоздкими файлами по сети или даже через интернет, что в разы увеличивает скорость работы. Другое дело что политика разработчиков ОС ограничила эту возможность только 1 рабочим пользователям. Если нам к примеру всетаки надо подключиться скажем через планшет и поработать на компьютере — почему же и нет!
Но если нам нужно запускать только одну определенную программу бывает не очень удобно ждать пока загрузится у нас удаленный рабочий стол потом загружать программу, а если мы даем доступ другу к компьютеру нам нет желания давать ему возможности бороздить у нас на нашей технике и читать конфидициалку.
В новых серверных версиях начиная с Windows Server 2008 появился интересное дополнение — функция Terminal Services RemoteApp (удаленные приложения). Вот ее мы сейчас и попробуем включить у себя. На примере открытия блокнота.
Распишем все по этапам.
1. Правим реестр. regedit.exe. И идем по ветке:
HKLM\Software\Microsoft\WindowsNT\CurrentVersion\TerminalServer\TSAppAllowList
В разделе TSAppAllowList создаем новый подраздел Applications. Далее создаем подразделы для программ, которые должны будут запускаться в качестве RemoteApp. Для каждой программы свой подраздел. Для проверки создадим подраздел с названием Notepad (тут для примера название роли не играет пока он используется для нас и в дальнейшем мы его пропишем в файлике — Remoute RDP). Переходим в него и создаем два строковых параметра Name и Path.
Для параметра Name задаем значение notepad.exe, или другую программу (хоть КонтрСтрайк)
а для Path – путь к папке где лежит приложение, в нашем случае – C:\Windows. (Путь должен быть к папке на компьютере, который будет выступать в роли терминального сервера с Windows 7). Только путь до запускаемго файла, а не сам путь с самим файлом.
Добавляем приложения следующим образов. В разделе Applications создаем дополнительные разделы для каждой программы. И в этих разделах создаем два строковых параметра Name и Path.
Изменим еще один параметр.
Переходим в раздел TSAppAllowList. И выставим значение 1 для параметра fDisableAllowList.
С реестром мы закончили.
2. Создадим файл для подключения к удаленному рабочему столу.
Запускаем утилиту Подключение к удаленному рабочему столу через меню Пуск –> Стандартные, либо Win+R, вводим mstsc, Enter.
В открывшемся окне вводим имя ПК, либо IP адрес компьютера с Windows 7 TS RemoteApp. Жмем Сохранить как… И сохраняем в любом месте.
Откроем полученный файл в Notepad++
В файле меняем значение параметра remoteapplicationmode:i:0 на remoteapplicationmode:i:1. После добавим 3 строчки:
remoteapplicationmode:i:1
remoteapplicationprogram:s:notepad
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe
Сохраняем файл RemoteApp.rdp и запускаем.
При подключении спросит логин и пароль. Нужно чтобы учетная запись входила в группу Пользователи удаленного рабочего стола. Либо надо быть локальным админом, либо доменным. Если все условия соблюдены, то через пару секунд откроется Notepad.
Если при подключении выскакивает сообщение: “Следующее удаленное приложение RemoteApp отсутствует в списке разрешенных программ”, то нужно проверить параметр реестра fDisableAllowList, что у него значение 1.
Дополнение по просьбе пользователя «Злой юзер»
В *.rdp файле можно заполнить, как пример, следующим содержимым:
full address:s:ip_ ip удаленного компьютера или виртуальной машины
address remoteapplicationmode:i:1
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe
prompt for credentials on client:i:1
remoteapplicationname:s:program_name — Название программы .exe.bat и пр.
remoteapplicationprogram:s: — Полный путь к exe файлу программы
path redirectclipboard:i:1
redirectposdevices:i:0
redirectprinters:i:1
redirectcomports:i:1
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
span monitors:i:1
use multimon:i:1
allow font smoothing:i:1
username:s:username
А так же, для продвинутых пользователей Terminal remoteapp таблица значений.xls