Технология 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, пользователь может определить какие локальные ресурсы могут быть доступными в опубликованном терминальном приложении.
Приветствую!
Не подскажешь, как пользователям запртить вход в терминальную сессию, а оставить только возможность использования remoteApps?
Привет!
Да есть такая проблема, когда при предоставлении доступа к remoteapp автоматически дается доступ ко всему rdp рабочему столу. Официального метода побороть такое поведения TS нет. Но есть обходное решение, заключающееся в запуске команды logoff.exe для каждого сеанса пользователей, фишка в том что команда логоф для приложения RemoteApp не срабатывает, в результате получается такая сессия-«калека», которая, однако позволяет корректно работать с приложением RemoteApp. Сделать это можно, например, через групповую политику:
Однако пользователю ничего не мешает нам запустить любое приложение, например, с помощью диалогового окна «File / Open», откуда можно запустить командную строку или любое другое приложение.
Так и поступил. В профиль нужных пользователей прописал костыль logoff.exe и при запуске пользователя сразу выбрасывает.
Пусть будет хоть так. Будем верить в «непросвященность» пользователей.
Спасибо.
Здравствуйте, в удалённой 1с, была языковая панель, я поставил галку скрыть языковую панель, и она скрылась, к сожалению на xp, своя панель работает не всегда корректно в ремот ап, поэтому хочу вернуть панель удалённого приложения обратно а как это сделать?
Alex Попробуйте запустить полноценную rdp сессию (не remoteapp) и вернуть языковую панель в ней.
Спасибо за статью, первая попалась в яндексе по запросу remote app настройка. И все доходчиво описано.
А как можно изменить уже настроенные RDP файлы, которые лежат у клиентов, если нет возможности зайти на сервер и там через менеджера TS remote App сделать? в адресе сервера он по имени прописан, а нужно заменить на IP ?
Как настроить подключение, чтобы терминальное окно НЕ перекрывало панель задач локального рабочего стола?
Вопрос именно о «полноценном» терминальном окне? Или о remoteapp?
Последние, если не стоит галка «автоматически скрывать панель задач», область панели задач никогда не перекрывают.
Обычная же терминальная сессия, запущенная в полноэкранном режиме, панель задач перекрывает — это логично с точки зрения того, чтобы пользователь не запутался в обилии панелей задач в системе 🙂
В вашем случае, видимо, нужно запускать терминальную сессию с фиксированным разрешением окна. Разрешение нужно подобрать такое, чтобы окно терминала не перекрывало ваш таскбар
режим remoteapp. на win xp все нормально, ничего не перекрывает, удаленное приложение выгрлядит как пользовательское окно. на win 7 перекрывает, однако срабатывает alt+tab
Какая настройка выставлена в свойствах панели задач на Windows 7? Попробуйте в ее свойствах выбрать «Закрепить панель задач» и снять галку «Автоматически скрывать панель задач».
Если не поможет — выложите сюда содержимое вашего ярлыка rdp в текстовом виде (откройте rdp файл в текстовом редакторе)
http://support.microsoft.com/kb/2835429/ru
тут есть решение
Спасибо, исправление помогло.
Ситуиация такова. Настроен рдп на сервак с 1С. Каким образом можно настроить так, чтобы пользователь сразу коннектился в 1с, а не сперва на рабочий стол?
RemoteApps — именно то, что вам нужно. Устанавливаете роль Remote Desctop Services, устаналиваете на терминальном сервере приложение (1с) и публикуете его через RemoteApps по методике из статьи. Осталось распространить полученные .msc / .rdp файлы пользователям
В организации идёт перевод рабочих мест на линукс, но используется специфичный виндовый софт. Поможет ли RemoteApp? Т.е., возможна ли работа с RemoteApp на линуксе со стороны клиента, если линуксовому rdp-клиенту скормить сформированный rdp-файл с подключением?
С RemoteApp не знаком, но, если имеется в виду терминальный сеанс по RDP через встроенный клиент удалённого рабочего стола на Windows XP и более поздних версиях системы, то работать всё должно отлично и без проблем (кроме видеоёмких и процессороёмких задач — просмотр видео, удалённая трансляция звука, использование компьютерных игр, включая встроенные пасьянсы с высокими требованиями к видеосистеме).
Полудревние ПК (со 128-512 МБ ОЗУ и «железом» 1997-2002-х гг., как ни странно) по RDP работают достаточно быстро — можно даже через Интернет выходить по RDP через более мощный ПК (имея при наличии не менее 512-768 МБ ОЗУ на «серверной» RDP-машине). С такого компьютера (Compaq Deskpro PD-1010 (BIOS от 1999.VIII.18), с 128 MB RAM (4 MB SGRAM), 600 MHz CPU (Pentium-III Coppermine, FSB — 100 MHz) и 80 GB HDD) управляется виртуалка на Windows XP (с января 2018) и пишется данное сообщение. Поэтому должно работать, но многое может зависеть от цели использования.
Часть софта может не работать из-за RDP-ограничений: видеотребовательный пасьянс не запускался, но встроенные игры, вшитые в XP, запускаются без проблем (т.к. не требуют большой ёмкости видео). На удалённую трансляцию звука (AIMP 2.51 работал с запаздыванием, online-звук пропадал вовсе) и на исключительно ёмкую графику не стоит рассчитывать. Стили оформления рубить не обязательно (ускорения они не дадут, если это не Windows 7-8.1-10 — отключение композиции и теней с прозрачностями на «семёрке» и блестящих теней с прозрачностями на «восьмёрке» с «десяткой» могут увеличить свободный ресурс видеокарты), но эффекты прирезать можно по желанию (символическое снятие нагрузки с процессора), откатить цветность с 32bit на 24bit на основных ПК под WinXP — разницы в цветовом насыщении в сторону ухудшения не было замечено. Возможно, получится запустить Adobe Photoshop CS4 и что-то делать в нём. Сами графические редакторы и приложения, не требующие прямого участия видеокарты (как при просмотре видео), работают быстро, главное, чтобы они тоже не были излишне требовательны к ресурсу видеокарты. Звук на клиенте — нормально работать не станет, только на сервере, если звук не нужен, то рекомендуется его отключить через микшер в системе, т.к. он тоже может воспроизводиться удалённо, даже при отключении в настройках RDP, и, наконец, RDP-авторизация с Windows XP на Windows 10 срабатывает со второго раза.
Тут все упирается в наличие RDP клиентов под Linux, которые поддерживают RemoteApp (покопайте в сторону xfreerdp или remoteapp).
Подскажите пожалуйста в windows server 2022 через оснастку remoteprograms.msc, создание пакета установщика windows, выдает ошибку не удалось создать следующие msi-файлы
Если не ошибаюсь, MSI нельзя создавать для RemoteApp начиная с Windows Server 2012
понял, спасибо