Приложения RemoteApp представляют собой программы, удалённый доступ к которым предоставляется с помощью служб удалённых рабочих столов, но выглядят они так, будто это локальные приложения. Проще говоря, приложение RemoteApp представляет собой доступ к удалённому рабочему столу, ограниченному одним приложением. Однако, несмотря на формулировку выше, пользователь может запускать несколько приложений или несколько экземпляров одного и того же приложения в одном сеансе.
Использование приложений RemoteApp выглядит хорошей альтернативой традиционным удалённым рабочим столам, поскольку это приносит для системного администратора целый ряд преимуществ. Эти выгоды связанных с тем, что пользователю более не доступен рабочий стол полностью и его действия ограничены границами запускаемого приложения. А как известно, что чем меньше у пользователя возможностей крутить и настраивать, тем надёжнее и безопаснее работает система. Пользователям так же удобно использовать приложения RemoteApp, поскольку они выглядят так же как и любое локально установленное приложение, что значительно упрощает работу.
В этой статье будут рассмотрены следующие моменты:
- Процесс публикации приложений RemoteApp
- Проверка работоспособности приложений RemoteApp
- Изменение параметров опубликованных приложений RemoteApp
- Отмена публикации приложений RemoteApp
Публикация приложений RemoteApp
Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открыть Диспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удалённых приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удалённые приложения RemoteApp.
Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удалённого рабочего стола. Это означает, что в одной коллекции могут быть либо удалённый рабочий стол полностью либо некий набор отдельных приложений RemoteApp.
Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) и одно собственное приложение (Foxit Reader). Для того, чтобы опубликовать встроенное приложение необходимо отметить его и нажать кнопку Далее.
С приложениями, которых нет в списке несколько сложнее. Тут требуется соблюсти одно важное условие — необходимо чтобы публикуемое приложение размещалось по одному и тому же пути на все серверах узлов сеансов. Если это так, то нажимаем кнопку Добавить и указываем необходимое приложение.
Как видно на рисунке, указание приложения, в данном случае, происходит на сервере RDSH2.
После того, как все приложения отмечены нажимаем кнопку Далее.
В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.
После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.
Проверка публикации программ RemoteApp
После успешной публикации удалённых приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https://servername/rdweb. В рассматриваемом случае, это ссылка https://rdwh.domain.local/rdweb.
Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ. Запустим Foxit Reader.
Приложение успешно запустилось и готово к использованию. О том, что это приложение RemoteApp говорит иконка с изображением двух направленных друг к другу стрелок рядом с иконкой основного приложения.
Посмотрим, как отобразилось подключение на серверной стороне. Зайдем в свойства коллекции сеансов и посмотрим на панель Подключения.
На скриншоте выше отображено осуществлённое подключение. Как видим, несмотря на то, что путь к программе Foxit Reader мы указывали на сервере RDSH2, подключение было выполнено к серверу узлов сеансов RDSH1.
Изменение параметров приложений RemoteApp
Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.
На вкладке Общие окна свойств приложения доступны следующие настройки:
- Имя удалённого приложения RemoteApp. Позволяет задать произвольное имя для опубликованного приложения.
- Показывать удалённое приложение в службе веб-доступа к удалённым рабочим столам. Если выбрать пункт Нет, то приложение не будет отображаться списке приложений на странице веб-доступа и не будет доступно пользователям, хотя будет установлено на серверах узлов сеансов и будет иметь статус опубликованного.
- Папка удалённого приложения RemoteApp. Этот параметр позволяет упорядочивать приложения RemoteApp, раскладывая их по папкам.
Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.
Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее. Поместим приложение Foxit Reader в папку Офисные приложения и посмотрим, что произойдет со страницей веб-доступа.
Как видим, выбранное приложение Foxit Reader было успешно помещено в папку Офисные приложения.
На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров. В целом ряде случаев, последний параметр очень выручает.
Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.
На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.
Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.
Отмена публикации приложений RemoteApp
В случае, когда удалённое приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.
Для того, чтобы вызвать мастер отмены публикации удалённых приложений RemoteApp нужно выбрать пункт Отменить публикацию удалённых приложений RemoteApp в меню Задачи на панели Удалённые приложения RemoteApp.
На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удалённому рабочему столу полностью.
В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.
После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.
***
Как видим, процессы добавления, удаления и настройки удалённых приложений RemoteApp довольно быстро и удобно осуществляются из единой панели Удалённые приложения RemoteApp на вкладке коллекции сеансов.
RDS Blog home page
«RemoteApp позволяет представлять приложения, доступ к которым может быть получен удаленно через Службы удаленных рабочих столов, как если бы они были запущены на локальном компьютере пользователя. Эти приложения называются программы RemoteApp. Вместо представления на рабочем столе сервера Узел сеансов удаленных рабочих столов программа RemoteApp интегрируется с рабочим столом клиента. Программа RemoteApp запускается в собственном окне, размеры которого можно менять, может перемещаться между несколькими мониторами, а также имеет собственный значок на панели задач.» — Technet.
Перефразируя technet, на клиентских рабочих станциях можно создать ярлыки удаленных приложений. На машинах под управлением Windows 7, ярлыки будут добавлены автоматически в меню Пуск, на машинах под управлением Windows 8, ярлыки появятся в списке приложений.
Перед тем как настроить RemoteApp, рабочая область «Work Resources» была переименована на «Laboratory» по этой статье.
Как добавить ярлыки удаленных приложений на клиентские машины.
В этом примере качестве клиентских машин будет использоваться Windows 8.1 и Windows 7.
Способ 1. Использование WebFeed URL.
На клиентской машине указать путь подключения к серверу удаленных рабочих столов.
В панели пуск в поиске набрать «remoteapp» и выбрать «Доступ к удаленным рабочим приложениям RemoteApp«
Далее надо указать путь подключения RemoteApp.
https://<RD Web Access Server FQDN>/rdweb/feed/webfeed.aspx,
в этом случае я укажу адрес балансировки нагрузки https://rd.alekssh.com/rdweb/feed/webfeed.aspx
Далее подтверждение, что приложения RemoteApp будут добавлены на ваш компьютер.
Далее, появится окно об успешном добавлении приложений.
В Windows 8 их можно увидеть в списке приложений «Win | «
В Windows 7 приложения находятся в меню «Пуск»
Способ 2. Использование логина пользователя. (Для Windows
В целом этот способ аналогичен Способу 1, с одним небольшим отличием. Вместо сложного URL адреса, пользователь просто указывает свой логи в формате «user logon name» (user@domain.name). Этот метод поддерживается только на машинаx с Windows 8.
Однако, для этого необходимо в DNS создать запись типа TXT .
Тип TXT | Имя _msradc | Текст https://<Web Access FQDN>/rdweb/feed
После добавления этой записи возможность использования логина пользователя станет возможной.
Далее шаги аналогично описанным в Способе 1.
Способ 3. Использование групповых политик.
Предыдущие 2 способа довольно просты в настройке, но при наличии большого парка клиентских компьютеров, настройка RemoteApp на каждом из них может быть весьма проблематичной и долгой.
Для того, чтобы сделать это централизовано воспользуемся групповыми политиками.
Групповая политика для Windows 8.1
В первую очередь, надо создать новую групповую политику на контейнер с пользователями, у которых будут автоматически добавлены удаленные приложения. В моем случае я создал политику на весь домен. В новой политике изменить значение по пути: «User Configuration | Administrative Templates | Windows Components | Remote Desktop Services | Specify default connection URL» установить значение Enable и в поле «Default connection URL» указать WebFeed Url (в моем случае https://rd.alekssh.com/rdweb/feed/webfeed.aspx).
На клиентской Windows 8.1 можно запустить команду gpupdate или перезагрузить её для того, чтобы новая групповая политика была применена. Сразу после применения политики, в списке подключений к удаленным рабочим столам появится новый ресурс.
К сожалению, эта групповая политика работает только на машинах под управлением Windows 8, для Windows 7 же потребуется выполнить ряд действий.
Счастливые пользователи Windows 8 увидят RemoteApp в списке приложений
Групповая политика для Windows 7.
Для Windows 7 нужно создать новую политику. В первую очередь, перед созданием политики нужно подготовить 2 файла:
1. Создать Powershell скрипт Install-RADCConnection.ps1
2. Создать файл «feed.wcx» со следующим содержимым:
<?xml version=”1.0″ encoding=”utf-8″ standalone=”yes”?>
<workspace name=”WorkSpace Name” xmlns=”http://schemas.microsoft.com/ts/2008/09/tswcx” xmlns:xs=”http://www.w3.org/2001/XMLSchema”>
<defaultFeed url=”https://RD Web Access Server FQDN/RDWeb/Feed/webfeed.aspx” />
</workspace>
я использовал вот такой вариант wcx файла:
<?xml version=»1.0″ encoding=»utf-8″ standalone=»yes»?>
<workspace name=»Laboratory» xmlns=»http://schemas.microsoft.com/ts/2008/09/tswcx» xmlns:xs=»http://www.w3.org/2001/XMLSchema»>
<defaultFeed url=»https://rd.alekssh.com/RDWeb/Feed/webfeed.aspx» />
</workspace>
Далее создать новую или использовать уже существующую групповую политику. Перейти «User Configuration | Windows Settings | Scripts | Logon«. В окне «Logon Properties» нажать «Show Files». В папку, которая откроется, необходимо скопировать 2 файла подготовленных выше. Напрямую в эту папку поместить фалы не получится, придется открыть сетевой путь локально и скопировать файлы туда. локальный путь выглядит примерно так:
«C:\Windows\SYSVOL\sysvol\Имя Домена\Policies\{GP GUID}\User\Scripts\Logon»
Далее в том же окне «Logon Properties» перейти на закладку «Powershell Scripts» и нажать кнопку «Add«. В открывшемся окне в поле «Script Name» выбрать файл «Install-RADCConnection.ps1″, в поле «Script Parameters» прописать имя wcx файла, feed.wcx.
Далее применить изменения и включить групповую политику для соответствующих пользователей.
С новым входом в систему, через некоторое время, у пользователей Windows 7 появятся ярлыки удаленных приложений.
P.S. Если скрипт не будет отрабатывать успешно убедитесь в правильности заполнения wcx файла и попробуйте запустить скрипт локально.
В следующей статье я рассмотрю использование специального приложения RemoteApp для Windows 8 и мобильных платформ.
Информация, используемая в этой статье:
How to deliver RemoteApps from Windows Server 2012 RDS
http://blogs.msdn.com/b/rds/archive/2013/11/25/remoteapp-improvements-in-windows-server-2012-r2.aspx
http://technet.microsoft.com/ru-ru/library/cc755055.aspx
http://technet.microsoft.com/ru-ru/library/cc730603.aspx
В ЭТОЙ СТАТЬЕ БУДУТ РАССМОТРЕНЫ СЛЕДУЮЩИЕ МОМЕНТЫ:
- Процесс публикации приложений RemoteApp
- Проверка работоспособности приложений RemoteApp
- Изменение параметров опубликованных приложений RemoteApp
- Отмена публикации приложений RemoteApp
ПУБЛИКАЦИЯ ПРИЛОЖЕНИЙ REMOTEAPP
Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открытьДиспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удалённых приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удалённые приложения RemoteApp.
Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удалённого рабочего стола. Это означает, что в одной коллекции могут быть либо удалённый рабочий стол полностью либо некий набор отдельных приложений RemoteApp.
Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) и одно собственное приложение (Foxit Reader). Для того, чтобы опубликовать встроенное приложение необходимо отметить его и нажать кнопку Далее.
С приложениями, которых нет в списке несколько сложнее. Тут требуется соблюсти одно важное условие — необходимо чтобы публикуемое приложение размещалось по одному и тому же пути на все серверах узлов сеансов. Если это так, то нажимаем кнопку Добавить и указываем необходимое приложение.
Рис.3 — Указание пути к публикуемому приложению RemoteApp
Как видно на рисунке, указание приложения, в данном случае, происходит на сервере RDSH2.
После того, как все приложения отмечены нажимаем кнопку Далее.
Рис.4 — Выбор публикуемых приложений RemoteApp
В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.
После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.
Рис.6 — Отчёт о публикации приложений RemoteApp
ПРОВЕРКА ПУБЛИКАЦИИ ПРОГРАММ REMOTE APP
После успешной публикации удалённых приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https://servername/rdweb. В рассматриваемом случае, это ссылкаhttps://rdwh.domain.local/rdweb.
Рис.7 — Веб-доступ к приложениям RemoteApp
Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ. Запустим Foxit Reader.
Приложение успешно запустилось и готово к использованию. О том, что это приложение RemoteApp говорит иконка с изображением двух направленных друг к другу стрелок рядом с иконкой основного приложения.
Посмотрим, как отобразилось подключение на серверной стороне. Зайдем в свойства коллекции сеансов и посмотрим на панель Подключения.
На скриншоте выше отображено осуществлённое подключение. Как видим, несмотря на то, что путь к программе Foxit Reader мы указывали на сервере RDSH2, подключение было выполнено к серверу узлов сеансов RDSH1.
ИЗМЕНЕНИЕ ПАРАМЕТРОВ ПРИЛОЖЕНИЙ REMOTEAPP
Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.
На вкладке Общие окна свойств приложения доступны следующие настройки:
- Имя удалённого приложения RemoteApp. Позволяет задать произвольное имя для опубликованного приложения.
- Показывать удалённое приложение в службе веб-доступа к удалённым рабочим столам. Если выбрать пункт Нет, то приложение не будет отображаться списке приложений на странице веб-доступа и не будет доступно пользователям, хотя будет установлено на серверах узлов сеансов и будет иметь статус опубликованного.
- Папка удалённого приложения RemoteApp. Этот параметр позволяет упорядочивать приложения RemoteApp, раскладывая их по папкам.
Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.
Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее. Поместим приложение Foxit Reader в папку Офисные приложения и посмотрим, что произойдет со страницей веб-доступа.
Как видим, выбранное приложение Foxit Reader было успешно помещено в папку Офисные приложения.
Здесь также можно скачать ярлык на любое из опубликованных приложений или воспользоваться альтернативными методами создания ярлыка RemoteApp
На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров. В целом ряде случаев, последний параметр очень выручает.
Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.
На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.
Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.
ОТМЕНА ПУБЛИКАЦИИ ПРИЛОЖЕНИЙ REMOTEAPP
В случае, когда удалённое приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.
Для того, чтобы вызвать мастер отмены публикации удалённых приложений RemoteApp нужно выбрать пункт Отменить публикацию удалённых приложений RemoteApp в меню Задачи на панели Удалённые приложения RemoteApp.
На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удалённому рабочему столу полностью.
В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.
После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.
Как видим, процессы добавления, удаления и настройки удалённых приложений RemoteApp довольно быстро и удобно осуществляются из единой панели Удалённые приложения RemoteApp на вкладке коллекции сеансов.
remoteapp
в 2012 R2 без домена — начну с главного: всё нормально и быстро настраивается. Опубликовать remoteapp
в 2012 R2 без домена не получится, но это и не нужно.
При обновлении 2008 R2 до 2012 R2 на этапе проверки совместимости, установка попросила удалить роль Удаленных рабочих столов. Удивился. Ладно.. После обновления стало понятно, Microsoft в очередной раз перехитрила саму себя: теперь нормально работать с RDP можно лишь в составе домена.
Зачем.. Если у меня сервер 1С на 5 бухгалтеров, зачем мне роль AD DS? Думаю я не одинок в этом вопросе. Почитал в интернете, решение есть! Кто-то ставил роль контроллера домена, в виртуалке поднимал ещё один сервер, вводил в домен и на нём уже удаленные рабочие столы. Всё проще. Солюшенов несколько, решил собрать воедино.
Сервер
Установка роли
Службы удаленных рабочих столов (Remote Desktop Services), Далее, отмечаем чекбоксы: Лицензирование удаленных рабочих столов (Remote Desktop Licensing), Узел сеансов удаленных рабочих столов (Remote Desktop Session Host)
, со всем соглашаемся, установка, перезагрузка.
В Диспетчере серверов, в пункте меню Средства, появилась закладка Terminal Services (или Remote Desktop Services для 2016).
Настройка параметров RDP
Настройка всех параметров RDP теперь в групповых политиках. Отдельной графической оснастки, как было раньше, нет:
Win+R - gpedit.msc - Конфигурация компьютера (Computer Configuration)
;Административные шаблоны (Administrative Templates) -
;
Компоненты Windows (Windows Components)Службы удаленных рабочих столов (Remote Desktop Services) -
.
Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) - Лицензирование (Licensing)
Редактируем два параметра:
Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers)
— включено — указываем имя сервера;Задать режим лицензирования удаленных рабочих столов (Set the Remote licensing mode)
— включено — на пользователя.
В соседних ветках настраиваются все параметры подключения клиентов.
Далее: Диспетчер серверов - Службы удалённых рабочих столов (Terminal Services) - правой кнопкой на сервере - Диспетчер лицензирования удаленных рабочих столов (Remote Desktop Licensing Manager) - Активировать сервер
. Сведения об организации: обязательно нужно заполнить первую страницу, вторую можно оставить пустой.
После активации запускается Мастер установки лицензий:
- Выбираем
Enterprise Agreement
— Далее (бессмысленный набор цифр ищем в интернете, ищется легко, буквально вторая/третья ссылка) — вводим номер — Далее — выбираем число лицензий и тип на пользователя. ЗаходимДиспетчер серверов - Все серверы - правой кнопкой на сервере - Средство диагностики лицензирования удалённых рабочих столов
, проверяем, что нет ошибок.
Создаем файл RDP
На примере 1С предприятия: открываем блокнот и помещаем туда следующую информацию, заменяя имя_сервера на действительное имя сервера или IP:
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 prompt for credentials on client:i:1 span monitors:i:1 use multimon:i:1 remoteapplicationmode:i:1 server port:i:3389 allow font smoothing:i:1 promptcredentialonce:i:1 authentication level:i:2 gatewayusagemethod:i:2 gatewayprofileusagemethod:i:0 gatewaycredentialssource:i:0 full address:s:имя_сервера alternate shell:s:||1cestart remoteapplicationprogram:s:||1cestart gatewayhostname:s: remoteapplicationname:s:1C Предприятие remoteapplicationcmdline:s:
Сохраняем файл, меняем расширение на .rdp
, раздаём пользователям.
Реестр
Главный шаг, от которого будет зависеть заработает или нет. Правим реестр на сервере через блокнот:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cestart] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="1C Предприятие" "Path"="C:\Program Files (x86)\1cv8\common\1cestart.exe" "ShortPath"="C:\PROGRA~2\1cv8\common\1cestart.exe" "ShowInTSWA"=dword:00000001 "SecurityDescriptor"=""
Проверяем правильность путей, сохраняем с раcширением .reg
, закидываем в реестр. Проверяем. Если не работает, смотрим ветку 1cestart
. Значения из reg-файла должны перенестись. И на всякий пожарный ветку TSAppAllowList
там же, у меня это:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList] "LicenseServers"=hex(7):00,00 "CertificateIssuedBy"="" "LicensingType"=dword:00000005 "fHasCertificate"=dword:00000000 "CertificateExpiresOn"="0" "CentralLicensing"=dword:00000000 "fDisabledAllowList"=dword:00000000 "CertificateIssuedTo"="" "CustomRDPSettings"="authentication level:i:2"
Возможные проблемы
Когда недавно делал по своей же инструкции, то получил сообщение, что приложения 1С нет в списке разрешенных.
Или вот такое ещё может быть:
Посмотрел на сервере ветку 1cestart
:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cestart
Она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, ещё что-то. Поэтому нужно подправить/проверить вручную.
Path
— для 1С 8.3 будет1cv8\common\1cestart.exe
, для 1С 8.21cv82\common\1cestart.exe
ShortPath
то же самое.
Подключение через интернет
В файлике rdp вместо имя_сервера, можно использовать IP-адрес (или даже IP-адрес с портом через двоеточие, или же указать порт в соответствующей строке). Это позволяет подключать клиентов через интернет и NAT:
- Пробросить на роутере рандомный внешний порт на внутренний 3389 сервера;
- Вбить в файлик внешний реальник офиса с портом.
Конструкцию с RD Gateway считаю излишней. Тем более если делается с пробросом 443 порта на внутренний ресурс, тем более что RD Gateway требует установки роли Web Server, то есть потребляет ресурсы. Чем проще, тем надежнее. После настройки роли RDP и проверки работоспособности смело можно удалить даже фичи для администрирования RDP, они больше не нужны.
Клиенты
Клиенты MAC
Добавляем клиентов MAC OS X:
- Обновляем встроенный в MAC OS X RDP-клиент от MS на последнюю версию;
- Отключаем проверку подлинности.
Если режим remoteapp
не нужен, то на этом всё. Если нужен, берём файл rdp, созданный по описанию выше для Windows, меняем имя_сервера на IP-адрес, закидываем на мак и всё работает.
Клиенты Windows XP
Добавляем клиентов Windows XP:
- SP3 должен быть установлен;
- Включаем проверку подлинности на уровне сети (NLA). Тут обновляем RDP-клиент, потом включаем NLA. Сначала КB969084, ребут, потом FixIt. Скачать.
Клиенты Android
Наверное последнее, что нужно сказать по этой теме, для Андроида тоже есть RD Client от MS. Функционирует он штатно и нормально. Приложение бесплатное, загружается через Play Market. Как и для Mac’а файл rdp, закинутый на Андроид, запустится с помощью этого приложения, но логин и пароль при этом сохранить невозможно, а нужно вводить каждый раз.
Связана такая ситуация, с тем, что в новых версиях RDP учетные данные не сохраняются в самом файле rdp, а хранятся в отдельной базе данных. На компьютере эти данные можно посмотреть в Панель управления\Учетные записи пользователей\Диспетчер учетных данных
, либо Выполнить: control userpasswords2
, что тоже самое.
Где искать в Андроиде? Не знаю, да и не очень интересно, так как remoteapp
для телефонов и планшетов больше блажь, чем реальная потребность. Обычная RDP-сессия работает? — Работает. Этого достаточно.
Три способа повысить защиту RDP
- Уровень безопасности SSL;
- Уровень шифрования FIPS-совместимый;
- Подключения принимаются только от клиентов с NLA.
Траблшутинг
Залипания
Если возникают на 1 клиентском компьютере, нужно проверить сам компьютер и такие вещи как драйвера на видеокарту, количество свободных ресурсов, потому как залипание может происходить в моменты, когда жесткий диск свопит изо всех сил и даже мышку. Была курьёзная ситуация (несвязанная с данной проблемой), что при нажатии на кнопку мыши щелчок есть, а фактически нажатия нет, поменяли мышку, всё работает.
Если же залипание массовое и с ресурсами сервера всё в порядке, то проблема 90% сетевая. В 2012 R2 для RDP используется как TCP, так и UDP или только TCP. Нужно проверить, что UDP используется. Статья в помощь. Сайт MS. Таже нужно просмотреть политики.
Область применения
Статейка написана давно, более чем 2 года назад, тогда Windows Server 2012 R2 был ещё относительно свежим и хотелось разобраться как же это всё настроить. Был накидан рабочий черновик, вот эта заметка и ни на какую полноту она не претендует. С тех пор поднято несколько серверов в данном режиме, которые работают так по сей день.
Тема исчерпана, но вопросы идут и некоторые люди не понимают нишу использования remoteapp
, зачем такой режим, почему именно для 1C, какой тут смысл и в чём заключается выигрыш. Вещи-то очевидные, но раз так, то надо сказать пару слов.
remoteapp не панацея
В общем и целом remoteapp
решение нищебродское, если уж по честному. Плюсом есть очень толстые минусы как RDP, так и remoteapp
:
- Каждый раз когда пользователь хочет сохранить файл, ему открываются диски удалённой машины. Есть варианты, но это неудобно в работе;
- Далеко не все пользователи продвинутые и с компьютером «на ты», многие очень тяжело воспринимают
remoteapp
, они путаются где какой диск, сложно и затратно по времени растолковать им данный режим работы; - Для запуска
remoteapp
нужно время, так как на сервере должен загрузиться пользовательский сеанс; - При закрытии приложения сеанс отключается и нужно ждать его завершения (минимум 1 минута), если в сеансе открыт конкретный фал, он будет блокирован на запись. Можно разрешить множественные сеансы для пользователя или можно убрать ограничения для отключенного сеанса, тогда возникают другие проблемы;
- В зависимости от версии Windows Server могут возникать различные глюки, связанные с временными задержками (не помню точно в какой версии сервера, но загружается сеанс и его нельзя завершить ~30 секунд сразу после загрузки, было такое);
- Каждое запущенное приложение — отдельный сеанс и отдельная нагрузка на сервер;
- Сам сервер и лицензии для RDP стоят приличных денег, этот вопрос всплывёт рано или поздно.
Может что-то даже упустил из виду, хотя и так немало. Поэтому использовать remoteapp
нужно тогда, когда это действительно необходимо.
Примечание. Очень хороший пример когда не нужно использовать remoteapp
— Word и Excel.
Зачем 1С remoteapp?
Схема применения 1С может варьироваться в очень широких пределах от локальной однопользовательской базы до сотен пользователей и кластера серверов. Возьмем классический вариант: многопользовательская база на 5-15 пользователей. Работа с такой базой, даже на 5 человек, генерирует большой сетевой трафик и сама база требует серьёзной вычислительной мощности. Вот отсюда и два варианта применения remoteapp
для 1С:
- Если чистый файловый вариант базы и как раз 5-6 человек, потому как больше такая схема не потянет, тогда весь обсчёт на клиентах — для того чтобы перенести обсчёт с клиентов на сервер. Это позволяет увеличить число клиентов и одновременно значительно повысить скорость работы без внедрения СУБД;
- Удаленная работа через медленные либо лимитные каналы связи как в файловом варианте, так и в клиент-серверном — передавать изображение намного выгоднее по объёму трафика, чем трафик 1С.
remoteapp vs классический RDP
Обычно в случае 1С база на сервере, а вот документы для работы на локальном компьютере. Всё время сворачивать и разворачивать окно RDP неудобно, remoteapp
тут гораздо комфортнее.
Исключения
- Если все клиентские машины достаточно мощные (Core i3 и выше), баз мало (1-2-3), базы файловые, сеть локальная гигабитная, пользователей не больше, скажем, 5 и работа с базой не слишком интенсивная, тут даже сервер не нужен. Подойдёт любой компьютер с гигабитной сетевой картой и быстрым диском. Важный момент, что все машины мощные, так как 1 слабый компьютер станет узким местом и скорость работы будет равняться по нему;
- При удалённой работе есть альтернатива
remoteapp
— веб публикация 1С. У каждого из этих решений свои плюсы и минусы; - Используется СУБД и тонкие/веб клиенты. Тогда ничего не надо, стандартные корпоративные каналы достаточно широкие сейчас чтобы переварить такой трафик. Открыть для 1С
TCP 1540, 1541, 1560-1591
на FW и вперёд.
Почему 2012 R2
C чистой 2012 без R2 встретиться в работе не удалось и ничего про неё не скажу. Но если сравнивать 2008 R2 и 2012 R2, то последняя имеет значительно перелопаченный код, как следствие быстрее работает на том же самом железе, а сетевой стек до 30% быстрее.
Поддержка самого железа, особенно различных RAID-контроллеров, тоже лучше. И если на 2008 R2 драйвер при установке нужно подпихивать, то в 2012 R2 он скорее всего уже встроен, сталкивался несколько раз. Поддержка RDP 8.1.
Windows Server 2016 уже тоже в продакшене, имеет ряд преимуществ над 2012 R2, но для новых плюшек, таких как вложенная виртуализация, требует современного железа. По этой причине 2012 R2 более универсален.
Windows 2016
Эта статья получила довольно таки широкое распространение. Чего там говорить, вот да.. И как-то однажды, давно, где-то там на форуме, уже не вспомню каком, читал человек пишет: ставил по этой статье с этого сайта (с моего, отсюда) и на 2016 не работает. Дальше обсуждение на n-страниц. Как всегда. Ну не работает и не работает, мож даже и к лучшему. 🙂 Но тут меня недавно (22.04.2021) спросили конкретно здесь, в комментариях: почему не работает с 2016?
Что делать.. заставляете тряхнуть стариной. Уже не ставил этих серверных виндовс пару лет, 1С ещё дольше. Почти всё подзабыл, так что сильно не ругайте, если что-то не то скажу. Итак, нашёл образ, установил в виртуальную машину VMware, поставил все обновы:
Получилось так:
Дальше стал проверять по тексту. И всё в общем-то то же самое. Один в один. Если есть какие-то изменения, то минимум. Почему же не работает? Не знаю, должно работать. И кроме этого всё должно настроится точно по тексту без каких-либо ошибок.
Какие тут были ещё замечания
Первое. Служба Сервера 1C Предприятие не хотела стартовать от текущего пользователя при установке дистрибутива. Пришлось выбрать Создать нового пользователя и всё успешно запустилось. Второе. Сам дистрибутив 1С 8.3.17.1549 и он чисто x64. То есть ставится в папку C:\Program Files
, а не в папку C:\Program Files (x86)
. Соответственно в reg-файлике нужно сделать изменения:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cestart] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="1C Предприятие" "Path"="C:\Program Files\1cv8\common\1cestart.exe" "ShortPath"="C:\PROGRA~1\1cv8\common\1cestart.exe" "ShowInTSWA"=dword:00000001 "SecurityDescriptor"=""
И как уже говорил нужно контролировать что там добавилось в реестр. И добавилось ли вообще. Ветка TSAppAllowList
:
Ветка 1cestart:
В rdp-файлике прописывал не имя сервера, а IP. Потому что мой компьютер не знает какое там имя у виртуальной машины. Прописывать в файл hosts
мне было лень.
Запускаю файлик с домашнего компа и вуа-ля:
Другой дистрибутив
Может образ какой-то не тот? Хорошо, скачиваю оценочный образ с Microsoft.
14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_RU-RU.ISO
Опять мега долго ставлю обновления.
Версия после обновлений та же самая, что логично.
Скачиваю платформу 1С, версия 8.3.17.1549, но уже x86+x64. Сначала ставлю x86. Проверяю, не работает. Ищу где ошибка. При экспорте reg-файла не создаются ключи Path
и ShortPath
. Вообще никак. Добавляю руками (смотри картинку выше). Работает.
Теперь x64. Прям в реестре правлю параметры Path
и ShortPath
. Накатываю дистрибутив прям поверх x86. Проверяю, работает.
Так что в случае проблем припоминай не было ли каких-то варнингов, ошибок, проверяй всё по второму кругу. Должно работать.
Прочитано: 15 900
Хочу посмотреть, что же из себя представляет RemoteAPP но уже в новой редакции Windows, действительно ли так проста работа с опубликованным приложением, к примеру с 1С‘кой.
Итак как всегда все мои заметки опираются одна на другую, т. е. Я начинаю повествование с самого малого, а все далее и далее расширяю используемый функционал.
Первое что нужно сделать это ввести терминальный сервер в домен если он до этого не был в домене, хотя по хорошему правильнее было бы поступить в точности да наоборот:
- Развернуть систему на железо
- Ввести систему в домен
- Развернуть терминальный сервер
Ну не важно, раз пошел по другому пути то и не буду отклоняться:
Win + X → Command Prompt (Admin) →
C:\Windows\system32>netdom join %computername% /domain:polygon.local /userd:polygon.local\aollo /passwordd:*
Type the password associated with the domain user:
The computer needs to be restarted in order to complete the operation.
The command completed successfully.
После перезагружаю терминальный сервер для активации внесенных изменений по добавлению сервера в домен:
C:\Windows\system32>shutdown /r /t 3
После уже можно авторизовать под доменными административными идентификационными данными, в моем случае:
Login: aollo@polygon.local
Pass: 712mbddr@
Чтобы удаленные пользователи могли использовать терминальный сервер для них на домен контроллере будет правильнее создать группу к примеру: TS_RemoteServer и добавить в ней доменных пользователей, а после данную доменную группу на сервере добавить в группу Remote Desktop Users
Теперь нужно добавить на терминальный сервер возможность работы с публикуемыми программами через RemoteAPP.
Авторизуюсь на терминальном сервере уже под своей доменной административной учетной записью.
Запускаю оснастку «Server Manager» – Win + X → Control Panel — Administrative Tools, после в оснастке добавляю роль: – Dashboard – Add roles and features , Next — отмечаю галочкой: Remote Desktop Services installation, Next —
Т.к. все службы Remote Desktop Services у меня развернуты на одном сервере (т.е текущем), то в следующем окне мастер задействую выбор Quick Start (Быстрый запуск), Next
Далее выбираю сценарий развертывания Remote Desktop Services, т. е. Создание среды удаленных рабочих столов на основе RDP-сеансов: → Session-based desktop deployment, Next
Далее указываю текущий сервер (srv-serv.polygon.local 10.7.8.173), Next
После чего на текущем сервере будут развернуты необходимые роли для организации RemoteAPP, а именно:
- RD Connection Broker
- RD Web Access
- RD Session Host
отмечаю галочкой пункт: Restart the destination server automatically if required и нажимаю Deploy, ожидаю
Когда все бегунки пройдут будет сформирована URL-ссылка на доступ к опубликованным приложениям, вот к примеру у меня:
https://srv-serv.polygon.local/rdweb
Теперь можно смело нажать кнопку Close
Теперь когда все необходимые роли установлены в оснастке Служб удаленных рабочих столов можно увидеть текущую роль сервера:
Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Remote Desktop Services – Overview
Что очень даже информативно, ну наконец таки Microsoft пошла по пути пояснения что делает данный сервер и как он завязан на все остальное.
Теперь чтобы работать с RemoteAPP нужно либо использовать собственную коллекцию, а не ту что для всех пользователей домена уже присутствует Collections – QuickSessionCollection с программами: Calculator, Paint, WordPad
Что задействовать дефолтную коллекцию программ опубликованных для всех пользователей домена нужно проделать следующие шаги на рабочей станции, к примеру действия на Windows 7 Professional SP1 если сперва попробовать зайти на ссылку (Открываем браузер Internet Explorer и в строке адреса вводим URL Доступа к терминальному серверу, т. е. https://srv-serv.polygon.local/rdweb
) сформированную в процессе разворачивания терминального сервера, т. е. представить как будет выглядеть сам процесс:
Пуск — Все программы — Internet Explorer — URL: https://srv-serv.polygon.local/rdweb
– “Продолжить открытие этого веб-узла (не рекомендуется)” , браузер ругнется что для этого узла нужно надстройка «Microsoft Remote Desktop Services Web Access Con…» через правый клик по всплывающему сообщению выбираем «Запускать надстройку на всех веб-узлах» – Выполнить, после чего предстает страница доступа в дефолтную коллекцию которая по умолчанию назначена на всех пользователей.
Чтобы зайти в рабочее окружение, нужно авторизоваться:
- Domain\user name: polygon.local\aollo
- Password: 712mbddr@
- This is a public or shared computer (Отмечаем)
и нажать на кнопку Sign in
В случае правильного указания своего пароля получаем доступ к коллекции с опубликованными приложениями:
При нажатии на одно из них, к примеру Calculator запуститься окно отображающее что удаленное приложение будет запущено с нашего терминального сервера и также можно предопределить какие возможности использовать при работе с терминальным сервером, а именно перенаправлять:
- Диски (Отмечаю галочкой)
- Другие поддерживаемые самонастраиваемые возможности (Снимаю галочку)
- Буфер обмена (Отмечаю галочкой)
- Принтеры (Отмечаю галочкой)
- Запись звука (Снимаю галочку)
А после просто нажимаю кнопку «Подключить» следом появиться окно авторизации на терминальном сервере: (нужно указать)
Login: aollo@polygon.local
Pass: 712mbddr@
и нажать на кнопку OK, ожидаем происходит подключение и запуск приложения на удаленном сервере как будто данное приложения запущено с текущего компьютера локально:
И вот когда профиль подключившегося на терминальный сервер сформировался запуститься окно Калькулятора:
На заметку: так же из рабочей области можно создать RDP соединение с любой Windows системой на которую у Вас есть доступ, для этого нужно перейти на элемент Connect to a remote PC заполнить поля подключения и нажать Connect, а до этого где были видны все программы коллекции элемент назывался RemoteApp and Desktops.
Но согласитесь для пользователя вводить по нескольку раз свой логин и пароль несколько не правильно, почему бы не использовать также как и на терминальном сервере под управлением Server 2008 R2 (Ent), опубликовать приложение, сохранить его как rdp & msi пакет и просто раскидать по всем пользователя которым необходимо работать на сервере, настроить прозрачную аутентификация до TS и больше пользователю не нужно вводить никакие идентификационные данные для работы, к примеру с программой 1С, запустил и работай.
Может конечно здесь тоже такое есть — исследую, да и как создавать опубликованные приложения я разберу в следующей заметке дабы не загромождать текущую. Итак я познакомился с новым функционалом который прежде чем ввести в продуктивную среду следует протестировать в лабораторных условиях дабы избежать конфуза, что-то то наш IT-отдел настроил но все кривое и не допиленное. Все технические и не удобные моменты должны остаться за кадром. На этом я прощаюсь, до новых встреч на моем блоге, с уважением автор — ekzorchik.