Windows 2012 r2 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

Она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, ещё что-то. Поэтому нужно подправить/проверить вручную.

  1. Path — для 1С 8.3 будет 1cv8\common\1cestart.exeдля 1С 8.2 1cv82\common\1cestart.exe
  2. 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 в 2012 R2 без домена

Если режим 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
  1. Уровень безопасности SSL;
  2. Уровень шифрования FIPS-совместимый;
  3. Подключения принимаются только от клиентов с NLA.

Траблшутинг

Залипания

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

Если же залипание массовое и с ресурсами сервера всё в порядке, то проблема 90% сетевая. В 2012 R2 для RDP используется как TCP, так и UDP или только TCP. Нужно проверить, что UDP используется. Статья в помощь. Сайт MS. Таже нужно просмотреть политики.


Область применения

Статейка написана давно, более чем 2 года назад, тогда Windows Server 2012 R2 был ещё относительно свежим и хотелось разобраться как же это всё настроить. Был накидан рабочий черновик, вот эта заметка и ни на какую полноту она не претендует. С тех пор поднято несколько серверов в данном режиме, которые работают так по сей день.

Тема исчерпана, но вопросы идут и некоторые люди не понимают нишу использования remoteapp, зачем такой режим, почему именно для 1C, какой тут смысл и в чём заключается выигрыш. Вещи-то очевидные, но раз так, то надо сказать пару слов.

remoteapp не панацея

В общем и целом remoteapp решение нищебродское, если уж по честному. Плюсом есть очень толстые минусы как RDP, так и remoteapp:

  1. Каждый раз когда пользователь хочет сохранить файл, ему открываются диски удалённой машины. Есть варианты, но это неудобно в работе;
  2. Далеко не все пользователи продвинутые и с компьютером «на ты», многие очень тяжело воспринимают remoteapp, они путаются где какой диск, сложно и затратно по времени растолковать им данный режим работы;
  3. Для запуска remoteapp нужно время, так как на сервере должен загрузиться пользовательский сеанс;
  4. При закрытии приложения сеанс отключается и нужно ждать его завершения (минимум 1 минута), если в сеансе открыт конкретный фал, он будет блокирован на запись. Можно разрешить множественные сеансы для пользователя или можно убрать ограничения для отключенного сеанса, тогда возникают другие проблемы;
  5. В зависимости от версии Windows Server могут возникать различные глюки, связанные с временными задержками (не помню точно в какой версии сервера, но загружается сеанс и его нельзя завершить ~30 секунд сразу после загрузки, было такое);
  6. Каждое запущенное приложение — отдельный сеанс и отдельная нагрузка на сервер;
  7. Сам сервер и лицензии для RDP стоят приличных денег, этот вопрос всплывёт рано или поздно.

Может что-то даже упустил из виду, хотя и так немало. Поэтому использовать remoteapp нужно тогда, когда это действительно необходимо.

Примечание. Очень хороший пример когда не нужно использовать remoteapp Word и Excel. 

Зачем 1С remoteapp?

Схема применения 1С может варьироваться в очень широких пределах от локальной однопользовательской базы до сотен пользователей и кластера серверов. Возьмем классический вариант: многопользовательская база на 5-15 пользователей. Работа с такой базой, даже на 5 человек, генерирует большой сетевой трафик и сама база требует серьёзной вычислительной мощности. Вот отсюда и два варианта применения remoteapp для 1С:

  1. Если чистый файловый вариант базы и как раз 5-6 человек, потому как больше такая схема не потянет, тогда весь обсчёт на клиентах — для того чтобы перенести обсчёт с клиентов на сервер. Это позволяет увеличить число клиентов и одновременно значительно повысить скорость работы без внедрения СУБД;
  2. Удаленная работа через медленные либо лимитные каналы связи как в файловом варианте, так и в клиент-серверном — передавать изображение намного выгоднее по объёму трафика, чем трафик 1С.
remoteapp vs классический RDP

Обычно в случае 1С база на сервере, а вот документы для работы на локальном компьютере. Всё время сворачивать и разворачивать окно RDP неудобно, remoteapp тут гораздо комфортнее.

Исключения
  1. Если все клиентские машины достаточно мощные (Core i3 и выше), баз мало (1-2-3), базы файловые, сеть локальная гигабитная, пользователей не больше, скажем, 5 и работа с базой не слишком интенсивная, тут даже сервер не нужен. Подойдёт любой компьютер с гигабитной сетевой картой и быстрым диском. Важный момент, что все машины мощные, так как 1 слабый компьютер станет узким местом и скорость работы будет равняться по нему;
  2. При удалённой работе есть альтернатива remoteapp — веб публикация 1С. У каждого из этих решений свои плюсы и минусы;
  3. Используется СУБД и тонкие/веб клиенты. Тогда ничего не надо, стандартные корпоративные каналы достаточно широкие сейчас чтобы переварить такой трафик. Открыть для 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. Проверяю, работает.

Так что в случае проблем припоминай не было ли каких-то варнингов, ошибок, проверяй всё по второму кругу. Должно работать.

Привет, в Windows Server 2012, Microsoft сделали ограничение на использование терминального сервера, если он не введен в домен Active Directory. В частности, я столкнулся с тем, что из консоли управления сервером нельзя настроить RemoteAPP. Но к счастью, приложения можно добавить в ручную, ниже я покажу как это можно сделать.

Само собой, для работы RemoteApp у вас должен быть установлен терминальный сервер, если кто не в курсе, если сервер не в домене, устанавливается он через добавление ролей, а не через установку служб удаленных рабочих столов. Выбираются службы удаленных рабочих столов, в них выбираются лицензирование удаленных рабочих столов и узел сеансов удаленных рабочих столов.

Установка роли служб удаленных рабочих столов

Я покажу как сделать задуманное, на примере 1С, думаю понятно, что по этой схеме можно добавить любое приложение RemoteApp.
Для упрощения процесса, я создал архив с готовыми файлами rdp и reg, скачать можно отсюда.

Ниже описание этих файлов.

Создадим, или откроем из архива .rdp файл подключения.

Содержимое его, должно иметь такой вид:

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
full address:s:192.168.1.112
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие
allow font smoothing:i:1
promptcredentialonce:i:1
authentication level:i:2
gatewayusagemethod:i:2
gatewayprofileusagemethod:i:0
gatewaycredentialssource:i:0
gatewayhostname:s:
remoteapplicationcmdline:s:
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
autoreconnection enabled:i:1
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationicon:s:
shell working directory:s:
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:

Вам нужно изменить строчки, на ваши порт и адрес:

server port:i:3389
full address:s:192.168.1.112

А так же, в случае, если добавляете не 1С, то эти то же:

alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие

Сохраните файл, и попробуйте подключиться, если файл создан правильно, то должна будет выскочить ошибка, что приложение RemoteApp отсутсвует в списке разрешенных программ.

Ошибка при подключении к remoteapp

Дальше добавим наше приложение в список разрешенных, для этого нужно будет отредактировать реестр. Я сделал дамп ветки которую нужно добавить для 1С 8.2. В архиве, файл называется 1cestart.reg

Его содержимое:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cestart]
«RequiredCommandLine»=»»
«Name»=»1C Предприятие»
«SecurityDescriptor»=»»
«CommandLineSettings»=dword:00000000
«IconIndex»=dword:00000000
«Path»=»C:\\\\Program Files (x86)\\\\1cv8\\\\common\\\\1cestart.exe»
«ShortPath»=»C:\\\\PROGRA~2\\\\1cv8\\\\common\\\\1cestart.exe»
«ShowInTSWA»=dword:00000001
«IconPath»=»%SystemRoot%\\Installer\\{D4895455-7B12-4E0B-B5F0-EFF6B9C3F93E}\\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»

Если вы будете заносить эти параметры вручную, то нужно в путях изменить \\\\ на \\.

Как не трудно догадаться, в нем нужно изменить пути до вашего приложения, в следующих строках:

«IconPath»=»%SystemRoot%\\Installer\\{D4895455-7B12-4E0B-B5F0-EFF6B9C3F93E}\\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»
«Path»=»C:\\\\Program Files (x86)\\\\1cv8\\\\common\\\\1cestart.exe»
«ShortPath»=»C:\\\\PROGRA~2\\\\1cv8\\\\common\\\\1cestart.exe»

И его имя в строке:

«Name»=»1C Предприятие»

А также ветку реестра, то есть если вы пробрасываете, например, калькулятор, то и ветка должна быть, не Applications\1cestart, а Applications\calc, и не забудьте, проверить, чтобы параметры названия приложения, в файле .rdp, соответствовали названию этой ветки.

Попробуйте подключиться снова, у меня RemoteApp после вышеописанных действий заработал.

Работающий remoteapp

Если же у вас что не заработало, проверьте ветку реестра, создалась ли она вообще, и правильные ли в ней пути прописаны, если в ней все верно на 100%, то попробуйте запустить файл termital.reg из архива.

Его содержимое, если кто захочет добавлять руками:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
«LicenseServers»=hex(7):00,00
«CertificateIssuedBy»=»»
«LicensingType»=dword:00000005
«fHasCertificate»=dword:00000000
«CertificateExpiresOn»=»»
«CentralLicensing»=dword:00000000
«fDisabledAllowList»=dword:00000000
«CertificateIssuedTo»=»»
«CustomRDPSettings»=»authentication level:i:2»

Настройка remoteapp в Windows Server 2012 R2 позволяет запускать отдельные приложения на удаленном сервере, а затем использовать их на локальной машине. Однако, в большинстве случаев для настройки remoteapp требуется присутствие домена. Но что делать, если домена нет? В этой подробной инструкции мы расскажем, как настроить remoteapp в Windows Server 2012 R2 без использования домена.

Для начала, убедитесь, что у вас установлена Windows Server 2012 R2 и у вас есть все необходимые права доступа для изменения настроек. Затем следуйте пошаговой инструкции ниже.

Шаг 1: Установка службы удалённых рабочих столов

Первым делом необходимо установить службу удалённых рабочих столов на сервере. Для этого откройте меню «Управление сервером» и выберите «Установка службы удаленных рабочих столов».

Шаг 2: Включение функции RemoteApp и рабочего стола

После установки службы удалённых рабочих столов, откройте «Серверный менеджер» и выберите «Серверные виды», затем «Ролевые службы» и «Серверные роли».

Прокрутите список ролей до раздела «Службы и рабочие столы удалённых рабочих столов» и щелкните на «Требуется перезагрузка» справа. Появится окно с просьбой о перезагрузке, подтвердите его.

Содержание

  1. Настройка RemoteApp Windows Server 2012 R2 без домена: подробная инструкция
  2. Шаг 1: Установка Remote Desktop Services
  3. Шаг 2: Создание сертификата для подписи RemoteApp
  4. Шаг 3: Конфигурация файлового сервера
  5. 1. Откройте «Управление сервером».
  6. 2. Установите роль «Файловые службы».
  7. Шаг 4: Создание и настройка публикации RemoteApp
  8. Шаг 5: Настройка доступа к RemoteApp для клиентов
  9. Шаг 6: Тестирование и устранение возможных проблем

Настройка RemoteApp Windows Server 2012 R2 без домена: подробная инструкция

Введение

RemoteApp — это функция Windows Server, которая позволяет запускать отдельные приложения на сервере и предоставлять доступ к ним удаленным пользователям через сетевое подключение. Настройка RemoteApp на Windows Server 2012 R2 возможна даже без наличия домена, и в данной статье мы рассмотрим подробную инструкцию по его установке и настройке.

Шаг 1: Установка службы Remote Desktop Services

1. Откройте «Server Manager» (Управление сервером) через «Start» (Пуск) и выберите «Add Roles and Features» (Добавить службы и компоненты).

2. Next (Далее) во всплывающем окне приветствия.

3. Выберите «Role-based or feature-based installation» (Установка на основе ролей или компонентов) и нажмите Next (Далее).

4. Выберите ваш сервер и нажмите Next (Далее).

5. В списке «Server Roles» (Службы сервера) отметьте «Remote Desktop Services» (Службы удаленного рабочего стола) и нажмите Next (Далее).

6. Установите все требуемые компоненты, которые появятся в появившемся окне, и нажмите Next (Далее).

7. В окне «Features» (Компоненты) нажмите Next (Далее).

8. В окне «Remote Desktop Services» нажмите Next (Далее).

9. В окне «Role Services» (Службы ролей) отметьте «Remote Desktop Licensing» (Лицензии удаленного рабочего стола) и «Remote Desktop Session Host» (Хост сеансов удаленного рабочего стола) и нажмите Next (Далее).

10. На экране «Confirmation» (Подтверждение) нажмите Install (Установить), чтобы запустить установку.

Шаг 2: Настройка Remote Desktop Licensing

1. В «Server Manager» (Управление сервером) перейдите в раздел «Remote Desktop Services» -> «Remote Desktop Licensing Manager» (Управление лицензиями удаленного рабочего стола).

2. Выберите «Specifiy the Remote Desktop licensing mode» (Указать режим лицензирования удаленного рабочего стола) и нажмите Next (Далее).

3. Выберите лицензионный сервер и нажмите Next (Далее).

4. Введите лицензионный ключ, если у вас есть, или же выберите «Use the specified Remote Desktop license servers» (Использовать указанные серверы лицензий удаленного рабочего стола) и нажмите Next (Далее).

5. Завершите настройку, нажав Next (Далее), и затем Finish (Завершить).

Шаг 3: Настройка Remote Desktop Session Host

1. В «Server Manager» (Управление сервером) перейдите в раздел «Remote Desktop Services» -> «Collections» (Коллекции).

2. Нажмите правой кнопкой мыши на «RD Session Host» (Хост сеансов RD), выберите «Add RD Session Host Servers» (Добавить серверы хостов сеансов RD) и следуйте инструкциям.

3. В окне «Add RD Session Host Servers» (Добавить серверы хостов сеансов RD) нажмите Next (Далее).

4. Выберите сервер, на котором будет установлен хост сеансов, и нажмите Next (Далее).

5. В окне «Configuration» (Конфигурация) нажмите Next (Далее).

6. В окне «License servers» (Серверы лицензий) выберите сервер лицензий удаленного рабочего стола и нажмите Next (Далее).

7. На экране «Confirmation» (Подтверждение) нажмите Install (Установить), чтобы запустить установку.

Шаг 4: Настройка виртуальных приложений RemoteApp

1. Перейдите в «Server Manager» (Управление сервером) и перейдите в «Remote Desktop Services» -> «RemoteApp Manager» (Управление RemoteApp).

2. Нажмите правой кнопкой мыши на «RemoteApp Programs» (Программы RemoteApp), выберите «Add RemoteApp Programs» (Добавить программы RemoteApp) и следуйте инструкциям.

3. В окне «RemoteApp Program Wizard» (Мастер программ RemoteApp) выберите приложение, которое хотите сделать доступным для удаленных пользователей, и нажмите Next (Далее).

4. Нажмите Next (Далее) в окне «Paths» (Пути).

5. В окне «Settings» (Настройки) проверьте параметры и нажмите Next (Далее).

6. На экране «Confirmation» (Подтверждение) нажмите Finish (Завершить), чтобы завершить настройку.

Вывод

Поздравляю! Теперь у вас настроен RemoteApp на Windows Server 2012 R2 без домена. Вы можете запускать выбранные приложения на сервере и предоставлять доступ к ним удаленным пользователям через сетевое подключение.

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

Шаг 1: Установка Remote Desktop Services

Для настройки RemoteApp на сервере Windows Server 2012 R2 без использования домена, необходимо установить компонент Remote Desktop Services (службы удаленного рабочего стола). Для этого следуйте данным инструкциям:

  1. Проверьте, что у вас установлена необходимая версия операционной системы Windows Server 2012 R2 Standard или Windows Server 2012 R2 Datacenter.

  2. Откройте Server Manager.

  3. В левой панели выберите Add Roles and Features (Добавление ролей и компонентов).

  4. На странице Before You Begin (Перед началом) нажмите Next (Далее).

  5. На странице Installation Type (Тип установки) оставьте выбранной опцию Role-based or feature-based installation (Установка ролей или компонентов) и нажмите Next (Далее).

  6. На странице Server Selection (Выбор сервера) оставьте выбранным сервер, на котором вы хотите установить Remote Desktop Services, и нажмите Next (Далее).

  7. На странице Server Roles (Установленные роли) найдите и отметьте пункт Remote Desktop Services (Службы удаленного рабочего стола). Появится всплывающее окно с предупреждением о том, что для установки службы будут установлены и другие необходимые компоненты. Нажмите Add Features (Добавить компоненты).

  8. Перейдите на страницу Features (Компоненты) и нажмите Next (Далее).

  9. На странице Remote Desktop Services (Службы удаленного рабочего стола) прочтите информацию о том, что будут установлены и запущены несколько компонентов, необходимых для работы службы. Нажмите Next (Далее).

  10. На странице Role Services (Службы роли) выберите нужные вам компоненты службы (например, Remote Desktop Session Host, Remote Desktop Licensing, Remote Desktop Gateway) и нажмите Next (Далее).

  11. На странице Confirmation (Подтверждение) проверьте выбранные настройки и нажмите Install (Установить).

  12. Дождитесь завершения процесса установки и нажмите Close (Закрыть).

После установки компонента Remote Desktop Services ваш сервер будет готов к настройке удаленных рабочих столов и RemoteApp.

Шаг 2: Создание сертификата для подписи RemoteApp

Для корректной работы и безопасности RemoteApp требуется наличие сертификата для его подписи. В данном шаге мы рассмотрим процесс создания такого сертификата.

Шаг 1: Откройте программу «Управление сервером» (Server Manager) и перейдите на вкладку «Пользователи и группы» (Local Users and Groups).

Шаг 2: Найдите вкладку «Сертификаты» (Certificates), щелкните правой кнопкой мыши и выберите пункт «Запрос нового сертификата» (Request New Certificate).

Шаг 3: В появившемся окне выберите тип сертификата «Шаблон: Прочее пользовательское» (Template: Custom).

Шаг 4: Укажите требуемые параметры сертификата, такие как название и длительность его действия. Рекомендуется выбрать длительность действия не менее чем на 1 год.

Шаг 5: На следующем этапе вы можете выбрать место сохранения сертификата. Рекомендуется выбрать путь, доступный только администратору сервера.

Шаг 6: После завершения процесса создания сертификата, вы сможете его увидеть в разделе «Личные» (Personal) вкладки «Сертификаты» (Certificates).

Примечание: Перед началом процесса создания сертификата, убедитесь что на сервере установлены все необходимые компоненты и сервисы для работы с сертификатами. Это может включать в себя установку службы Certificates Authority и генерацию корневого сертификата.

Шаг 3: Конфигурация файлового сервера

Для правильной работы RemoteApp на сервере Windows Server 2012 R2 без домена необходимо настроить файловый сервер. Файловый сервер будет использоваться для хранения приложений, которые будут доступны пользователям через RemoteApp.

Вам понадобится установить роль «Файловые службы» на сервере. Чтобы это сделать, выполните следующие действия:

1. Откройте «Управление сервером».

Выполните следующие действия:

  • Нажмите правой кнопкой мыши на меню «Пуск».
  • Выберите «Управление сервером».

2. Установите роль «Файловые службы».

Выполните следующие действия:

  • В окне «Управление сервером» нажмите на «Добавить роли и компоненты».
  • В мастере установки ролей и компонентов выберите сервер, на котором вы хотите установить роль «Файловые службы».
  • Отметьте «Файловые службы» и нажмите «Далее».
  • Подтвердите установку необходимых компонентов, нажав «Далее».
  • Нажмите «Установить» для установки выбранных компонентов.

После установки роль «Файловые службы» на сервере Windows Server 2012 R2 будет активирована, и вы сможете приступить к настройке файлового сервера.

Шаг 4: Создание и настройка публикации RemoteApp

После настройки RD Web Access на Windows Server 2012 R2 без домена, вы можете перейти к созданию и настройке публикации RemoteApp. RemoteApp позволяет пользователям выполнять отдельные приложения из удаленного рабочего стола, без необходимости полного доступа к рабочему столу.

Для создания и настройки публикации RemoteApp выполните следующие шаги:

  1. Откройте «Панель управления» и перейдите в «Удаленные приложения RD».
  2. На панели действий выберите «Добавить новое устройство» и следуйте инструкциям мастера.
  3. В поле «Program path» укажите путь к исполняемому файлу приложения, которое вы хотите опубликовать.
  4. Укажите название RemoteApp, которое будет отображаться пользователям.
  5. Укажите пароль администратора для данного RemoteApp.
  6. Выберите «Завершить» для создания публикации RemoteApp.

После завершения создания публикации RemoteApp, пользователи смогут подключаться к удаленному рабочему столу через RD Web Access и выполнять указанное приложение, не имея доступа к остальным ресурсам сервера.

Шаг 5: Настройка доступа к RemoteApp для клиентов

После того как установка и настройка RemoteApp на сервере Windows 2012 R2 без домена завершена, необходимо настроить доступ к RemoteApp для клиентов.

Чтобы клиенты могли использовать RemoteApp, необходимо настроить соединение с сервером с использованием инструмента Remote Desktop Connection.

Для этого выполните следующие действия:

  1. Откройте приложение «Remote Desktop Connection» на клиентском компьютере.
  2. В поле «Computer» введите IP-адрес или FQDN (Fully Qualified Domain Name) сервера RemoteApp.
  3. Нажмите кнопку «Connect».
  4. Если соединение установлено успешно, появится окно входа на сервер.
  5. Введите учетные данные пользователя, имеющего доступ к RemoteApp.
  6. После успешной аутентификации откроется список доступных RemoteApp приложений.
  7. Выберите нужное приложение и нажмите на него для запуска.

Теперь клиенты имеют доступ к RemoteApp на сервере Windows 2012 R2 без домена и могут использовать приложения, развернутые через RemoteApp в своей локальной среде.

Шаг 6: Тестирование и устранение возможных проблем

После завершения настройки RemoteApp на Windows Server 2012 R2 без домена, рекомендуется провести тестирование системы и устранить возможные проблемы, чтобы убедиться, что всё работает корректно.

1. Проверьте подключение к серверу.

Убедитесь, что компьютеры, на которых будут запускаться удаленные приложения, могут подключиться к серверу. Попробуйте открыть удаленное рабочее место (RDP) на сервере с клиентского компьютера, чтобы убедиться, что подключение работает.

2. Проверьте настройки RemoteApp.

Убедитесь, что все настройки RemoteApp на сервере указаны правильно. Проверьте пути к программным файлам, наличие всех необходимых приложений и правильность настроек безопасности.

3. Проверьте доступность удаленных приложений.

Запустите удаленные приложения через Remote Desktop Connection (RDC) или файл .rdp, чтобы убедиться, что они работают корректно. Проверьте функциональность каждого приложения и убедитесь, что они могут свободно использоваться на клиентских компьютерах.

4. Отслеживайте и устраняйте возможные проблемы.

Если в процессе тестирования или использования RemoteApp возникают проблемы, внимательно исследуйте их и пытайтесь их решить. Ошибки могут быть связаны с настройками сервера, приложений или клиентского оборудования.

Примечание: В некоторых случаях может потребоваться дополнительная помощь специалиста по настройке удаленных приложений и сервера.

Протестируйте ваши удаленные приложения и убедитесь, что они работают так, как задумано. В случае возникновения проблем с RemoteApp, вы можете использовать предоставленные инструменты для устранения неполадок и обращаться за помощью к сообществу или специалистам.

Также по теме:

  • Развёртка Remote Desktop Service на Windows Server 2012R2
  • Публикация и настройка удаленных приложений RemoteApp

Оказалось что в 2012 сервере Майкрософт не очень хорошо поступил с ремот апп: сплошные мучения с веб-доступом, браузер зачем-то запускать. Я не стал разбираться и решил найти простое решение. Оказалось есть специальная софтинка — https://sites.google.com/site/kimknight/remoteapptool. Подробности на http://stealthpuppy.com/remoteapp-for-windows-xp-and-windows-vista-the-missing-pieces/. Но по сути софтина делает ярлык и добавляет новую ветку в реестре. Вот подробности из блога технаря:

Возможность опубликовывать приложения с помощью remoteapp в среде Windows server 2012 без контроллера домена отсутствует.
Да и ограничение ставить терминальный сервер и контроллер домена дает о себе знать.
На форумах технет найдено решение, обходящее эту проблему:
Пример опубликования WinRar.
Создаем файл c расширением rdp со следующим содержимым:

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:TS01
alternate shell:s:||C:\Program Files (x86)\WinRAR\WinRAR.exe
remoteapplicationprogram:s:||WinRAR
gatewayhostname:s:
remoteapplicationname:s:WinRAR
remoteapplicationcmdline:s:

Так же на сервере правим реестр

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\WinRAR]
"CommandLineSetting"=dword:00000000
"RequiredCommandLine"=""
"IconIndex"=dword:00000000
"IconPath"="%SYSTEMDRIVE%\\Program Files (x86)\\WinRAR\\WinRAR.exe"
"Path"="C:\\Program Files (x86)\\WinRAR\\WinRAR.exe"
"VPath"="%SYSTEMDRIVE%\\Program Files (x86)\\WinRAR\\WinRAR.exe"
"ShowInTSWA"=dword:00000001
"Name"="WinRAR"
"SecurityDescriptor"=""

Расшифровка ключей в эрдипи файлике тут — http://technet.microsoft.com/en-us/library/ff393699%28v=ws.10%29.aspx

Join @AdmNtsRu on Telegram

Смотрите также:

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_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart]
 "CommandLineSetting"=dword:00000000
 "RequiredCommandLine"="" 
 "Name"="1C Предприятие"
 "Path"="C:Program Files (x86)1cv8common1cestart.exe" 
 "ShortPath"="C:PROGRA~21cv8common1cestart.exe" 
 "ShowInTSWA"=dword:00000001
 "SecurityDescriptor"=""

Проверяем правильность путей, сохраняем с раcширением .reg, закидываем в реестр. Проверяем. Если не работает, смотрим ветку 1cestart. Значения из reg-файла должны перенестись. И на всякий пожарный ветку TSAppAllowList там же, у меня это:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList] 
 "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_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart

Она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, ещё что-то. Поэтому нужно подправить/проверить вручную.

  1. Path — для 1С 8.3 будет 1cv8common1cestart.exeдля 1С 8.2 1cv82common1cestart.exe
  2. 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 в 2012 R2 без домена

Если режим 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
  1. Уровень безопасности SSL;
  2. Уровень шифрования FIPS-совместимый;
  3. Подключения принимаются только от клиентов с NLA.

Траблшутинг

Залипания

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

Если же залипание массовое и с ресурсами сервера всё в порядке, то проблема 90% сетевая. В 2012 R2 для RDP используется как TCP, так и UDP или только TCP. Нужно проверить, что UDP используется. Статья в помощь. Сайт MS. Таже нужно просмотреть политики.


Область применения

Статейка написана давно, более чем 2 года назад, тогда Windows Server 2012 R2 был ещё относительно свежим и хотелось разобраться как же это всё настроить. Был накидан рабочий черновик, вот эта заметка и ни на какую полноту она не претендует. С тех пор поднято несколько серверов в данном режиме, которые работают так по сей день.

Тема исчерпана, но вопросы идут и некоторые люди не понимают нишу использования remoteapp, зачем такой режим, почему именно для 1C, какой тут смысл и в чём заключается выигрыш. Вещи-то очевидные, но раз так, то надо сказать пару слов.

remoteapp не панацея

В общем и целом remoteapp решение нищебродское, если уж по честному. Плюсом есть очень толстые минусы как RDP, так и remoteapp:

  1. Каждый раз когда пользователь хочет сохранить файл, ему открываются диски удалённой машины. Есть варианты, но это неудобно в работе;
  2. Далеко не все пользователи продвинутые и с компьютером «на ты», многие очень тяжело воспринимают remoteapp, они путаются где какой диск, сложно и затратно по времени растолковать им данный режим работы;
  3. Для запуска remoteapp нужно время, так как на сервере должен загрузиться пользовательский сеанс;
  4. При закрытии приложения сеанс отключается и нужно ждать его завершения (минимум 1 минута), если в сеансе открыт конкретный фал, он будет блокирован на запись. Можно разрешить множественные сеансы для пользователя или можно убрать ограничения для отключенного сеанса, тогда возникают другие проблемы;
  5. В зависимости от версии Windows Server могут возникать различные глюки, связанные с временными задержками (не помню точно в какой версии сервера, но загружается сеанс и его нельзя завершить ~30 секунд сразу после загрузки, было такое);
  6. Каждое запущенное приложение — отдельный сеанс и отдельная нагрузка на сервер;
  7. Сам сервер и лицензии для RDP стоят приличных денег, этот вопрос всплывёт рано или поздно.

Может что-то даже упустил из виду, хотя и так немало. Поэтому использовать remoteapp нужно тогда, когда это действительно необходимо.

Примечание. Очень хороший пример когда не нужно использовать remoteapp Word и Excel. 

Зачем 1С remoteapp?

Схема применения 1С может варьироваться в очень широких пределах от локальной однопользовательской базы до сотен пользователей и кластера серверов. Возьмем классический вариант: многопользовательская база на 5-15 пользователей. Работа с такой базой, даже на 5 человек, генерирует большой сетевой трафик и сама база требует серьёзной вычислительной мощности. Вот отсюда и два варианта применения remoteapp для 1С:

  1. Если чистый файловый вариант базы и как раз 5-6 человек, потому как больше такая схема не потянет, тогда весь обсчёт на клиентах — для того чтобы перенести обсчёт с клиентов на сервер. Это позволяет увеличить число клиентов и одновременно значительно повысить скорость работы без внедрения СУБД;
  2. Удаленная работа через медленные либо лимитные каналы связи как в файловом варианте, так и в клиент-серверном — передавать изображение намного выгоднее по объёму трафика, чем трафик 1С.
remoteapp vs классический RDP

Обычно в случае 1С база на сервере, а вот документы для работы на локальном компьютере. Всё время сворачивать и разворачивать окно RDP неудобно, remoteapp тут гораздо комфортнее.

Исключения
  1. Если все клиентские машины достаточно мощные (Core i3 и выше), баз мало (1-2-3), базы файловые, сеть локальная гигабитная, пользователей не больше, скажем, 5 и работа с базой не слишком интенсивная, тут даже сервер не нужен. Подойдёт любой компьютер с гигабитной сетевой картой и быстрым диском. Важный момент, что все машины мощные, так как 1 слабый компьютер станет узким местом и скорость работы будет равняться по нему;
  2. При удалённой работе есть альтернатива remoteapp — веб публикация 1С. У каждого из этих решений свои плюсы и минусы;
  3. Используется СУБД и тонкие/веб клиенты. Тогда ничего не надо, стандартные корпоративные каналы достаточно широкие сейчас чтобы переварить такой трафик. Открыть для 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_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart]
 "CommandLineSetting"=dword:00000000
 "RequiredCommandLine"=""  
 "Name"="1C Предприятие" 
 "Path"="C:Program Files1cv8common1cestart.exe" 
 "ShortPath"="C:PROGRA~11cv8common1cestart.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. Проверяю, работает.

Так что в случае проблем припоминай не было ли каких-то варнингов, ошибок, проверяй всё по второму кругу. Должно работать.

Привет, в Windows Server 2012, Microsoft сделали ограничение на использование терминального сервера, если он не введен в домен Active Directory. В частности, я столкнулся с тем, что из консоли управления сервером нельзя настроить RemoteAPP. Но к счастью, приложения можно добавить в ручную, ниже я покажу как это можно сделать.

Само собой, для работы RemoteApp у вас должен быть установлен терминальный сервер, если кто не в курсе, если сервер не в домене, устанавливается он через добавление ролей, а не через установку служб удаленных рабочих столов. Выбираются службы удаленных рабочих столов, в них выбираются лицензирование удаленных рабочих столов и узел сеансов удаленных рабочих столов.

Установка роли служб удаленных рабочих столов

Я покажу как сделать задуманное, на примере 1С, думаю понятно, что по этой схеме можно добавить любое приложение RemoteApp.
Для упрощения процесса, я создал архив с готовыми файлами rdp и reg, скачать можно отсюда.

Ниже описание этих файлов.

Создадим, или откроем из архива .rdp файл подключения.

Содержимое его, должно иметь такой вид:

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
full address:s:192.168.1.112
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие
allow font smoothing:i:1
promptcredentialonce:i:1
authentication level:i:2
gatewayusagemethod:i:2
gatewayprofileusagemethod:i:0
gatewaycredentialssource:i:0
gatewayhostname:s:
remoteapplicationcmdline:s:
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
autoreconnection enabled:i:1
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationicon:s:
shell working directory:s:
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:

Вам нужно изменить строчки, на ваши порт и адрес:

server port:i:3389
full address:s:192.168.1.112

А так же, в случае, если добавляете не 1С, то эти то же:

alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие

Сохраните файл, и попробуйте подключиться, если файл создан правильно, то должна будет выскочить ошибка, что приложение RemoteApp отсутсвует в списке разрешенных программ.

Ошибка при подключении к remoteapp

Дальше добавим наше приложение в список разрешенных, для этого нужно будет отредактировать реестр. Я сделал дамп ветки которую нужно добавить для 1С 8.2. В архиве, файл называется 1cestart.reg

Его содержимое:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart]
«RequiredCommandLine»=»»
«Name»=»1C Предприятие»
«SecurityDescriptor»=»»
«CommandLineSettings»=dword:00000000
«IconIndex»=dword:00000000
«Path»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«ShortPath»=»C:\\PROGRA~2\\1cv8\\common\\1cestart.exe»
«ShowInTSWA»=dword:00000001
«IconPath»=»%SystemRoot%\Installer\{D4895455-7B12-4E0B-B5F0-EFF6B9C3F93E}\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»

Если вы будете заносить эти параметры вручную, то нужно в путях изменить \\ на \.

Как не трудно догадаться, в нем нужно изменить пути до вашего приложения, в следующих строках:

«IconPath»=»%SystemRoot%\Installer\{D4895455-7B12-4E0B-B5F0-EFF6B9C3F93E}\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»
«Path»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«ShortPath»=»C:\\PROGRA~2\\1cv8\\common\\1cestart.exe»

И его имя в строке:

«Name»=»1C Предприятие»

А также ветку реестра, то есть если вы пробрасываете, например, калькулятор, то и ветка должна быть, не Applications1cestart, а Applicationscalc, и не забудьте, проверить, чтобы параметры названия приложения, в файле .rdp, соответствовали названию этой ветки.

Попробуйте подключиться снова, у меня RemoteApp после вышеописанных действий заработал.

Работающий remoteapp

Если же у вас что не заработало, проверьте ветку реестра, создалась ли она вообще, и правильные ли в ней пути прописаны, если в ней все верно на 100%, то попробуйте запустить файл termital.reg из архива.

Его содержимое, если кто захочет добавлять руками:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList]
«LicenseServers»=hex(7):00,00
«CertificateIssuedBy»=»»
«LicensingType»=dword:00000005
«fHasCertificate»=dword:00000000
«CertificateExpiresOn»=»»
«CentralLicensing»=dword:00000000
«fDisabledAllowList»=dword:00000000
«CertificateIssuedTo»=»»
«CustomRDPSettings»=»authentication level:i:2»

Начну с главного: всё нормально и быстро настраивается. Опубликовать 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.

Настройка параметров 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 – Далее (бессмысленный набор цифр ищем в интернете, ищется легко, буквально вторая/третья ссылка) – вводим номер – Далее – выбираем число лицензий и тип На пользователя.
  • Заходим Диспетчер серверов – Локальный сервер – Terminal Services – Средство диагностики, проверяем, что нет ошибок.
 Создаем файл RDP

На примере 1С предприятия: открываем блокнот и помещаем туда следующую информацию, заменяя имя_сервера на действительное имя сервера:

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_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart] "CommandLineSetting"=dword:00000000
"RequiredCommandLine"="" 
"IconIndex"=dword:00000000 "IconPath"="%SYSTEMDRIVE%\Windows\Installer\{80897B76-D827-4270-808C-C8FCD379475D}\ShortCut_ThinStarter.exe" 
"Name"="1C Предприятие" 
"Path"="C:\Program Files (x86)cv8\commoncestart.exe" "ShortPath"="C:\PROGRA~2cv8\commoncestart.exe" "ShowInTSWA"=dword:00000001
"SecurityDescriptor"=""

Проверяем правильность путей и ключа для иконки, сохраняем с раcширением reg, закидываем в реестр. Проверяем. Если не работает, смотрим ветку TSAppAllowList, у меня это:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList] "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С нет в списке разрешенных, посмотрел на сервере ветку:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart

– она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, поэтому после копирования все кавычки нужно подправить/проверить в блокноте вручную. И ещё раз проверить пути:

  1. Путь для иконки IconPath точно будет другой, нужно найти у себя в WindowsInstaller правильный путь и заменить мою комбинацию 80897B76-D827-4270-808C-C8FCD379475D на свою
  2. Path – для  1С 8.3 будет 1cv8\common\1cestart.exe, для 1С 8.2 1cv82\common\1cestart.exe
  3. ShortPath – тоже самое
Подключение через интернет

В файлике rdpвместо имя_сервера, можно использовать IP-адрес (или даже IP-адрес с портом через двоеточие). Это позволяет подключать клиентов через интернет и NAT:

  • Пробросить на роутере рандомный внешний порт на внутренний 3389 сервера;
  • Вбить в файлик rdpвнешний реальник офиса с портом.

Конструкцию с RD Gateway считаю излишней, тем более если делается с пробросом 443 порта на внутренний ресурс, тем более что RD Gateway требует установки роли Web Server, то есть потребляет ресурсы – чем проще, тем надежнее. После настройки роли RDP и проверки работоспособности смело можно удалить даже фичи для администрирования RDP – они больше не нужны.

Содержание:

  • Сжатие передачи данных при подключении к серверу
  • Terminal Server на Windows 2016. RemoteApp (часть 4).
  • Examples
  • Доступ пользователей к RemoteApps через TS Web Access
  • Доступ к RemoteApps с помощью пакетов Windows Installer
  • Изменение параметров приложения RemoteApp
  • Установка роли терминального сервера
  • Что такое RemoteApps?
  • Examples
  • RemoteFX в Windows Server 2012. Что нового?
  • Аппаратные и программные требования для использования RemoteFX в Windows Server 2012
  • Подготовка сервера к установке RemoteApps
  • Настройка приложения в качестве RemoteApp
  • Запуск RemoteApps с помощью .rdp файлов

Сжатие передачи данных при подключении к серверу

Для клиентов RDP можно настроить сжатие передачи данных при подключении к серверу.

Для этого на сервере необходимо открыть объект локально групповой политики и изменить значение:

Конфигурация компьютера → Административные шаблоны → компоненты Windows→ Службы удаленных рабочих столов → Удаленный рабочий стол узле сеансов → Среда удаленного сеанса → Настроить сжатие для данных RemoteFX.

Есть возможность оптимизировать работу сервера за счет оптимизацию работы памяти, пропускной способности сети, баланс памяти и пропускной способности сети, либо отключить механизм сжатия.

Для эксперимента попробуем оптимизировать работу за счет оптимизации работы пропускной способности сети.

Меняем параметр и перезагружаем сервер:

Смотрим, что получилось для MSTSC:

Как видим – ничего не поменялось. Это потому, что данный механизм будет заметен только на большом количестве подключений. Тогда-то мы и увидим уменьшение потребления пропускной способности сети.

Terminal Server на Windows 2016. RemoteApp (часть 4).

В целом, терминальный сервер настроен, на нем благополучно крутится 1С и работают пользователи.

Но настроить RemoteApp пришлось не просто так. У нас на сервере крутятся 2 платформы: 1с83 и 1с82. В 1с83 проблем нет, а вот в 1с82, люди жалуются на невозможность изменения масштаба в 1с и мелкий шрифт в ней же. Именно по этому было принято решение прокинуть 1с через RemoteApp.

Еще раз коротко о ролях терминального сервера:

1.       Посредник подключения к удаленному рабочему столу. Он занимается подключением клиентского устройства к удаленным приложениям «RemoteApp», а также рабочим столам на базе сеансов, либо к виртуальным рабочим столам, зависит от того на базе какой технологии мы RDS построили.

2.       Роль, которая обеспечивает веб-доступ к удаленным рабочим столам. Ее задача – предоставление ресурсов через веб-браузер.

3.       Узел сеансов удаленных рабочих столов – данная роль позволяет размещать на сервере удаленные приложения, или основанные на сеансах рабочие столы.

4.       Узел виртуализации удаленных рабочих столов. На данном узле, это у нас сервер Hyper-V, на котором у нас разворачиваются все виртуальные машины, доступ к которым получат все пользователи, что использую технологию VDI.

5.       Шлюз удаленных рабочих столов, это посредник между клиентами из внешней сети и коллекции сеансов во внутренней сети и приложений. Шлюз – это безопасность, сервис у нас абсолютно безопасный. И благодаря тому, что RDS в 2012/2016 и 2012R2/201 становится более гибким, проработаны абсолютно все недочеты, которые были раньше. Сейчас этот сервис легко реализуем для огромных, масштабных проектов, для больших корпораций. Раньше возникали некоторые вопросы.

Преимущества «RemoteApp» над обычным «Сервером терминалов» :

  1. Пользователь не путается между удаленным рабочим столом и своим локальным.
  2. Программа 1С запускается сразу при клике по ярлыку, и выглядит как локально установленная.
  3. Пользователь не видит всего рабочего стола и работает лишь с теми программами, которые назначил администратор.
  4. Безопасность выше, чем на обычном сервере терминалов.
  5. Скорость передачи изображения с сервера, выше, чем в сравнении с обычным сервером терминалов. (Оптимизация за счет, передачи не всей картинки, а лишь нужной программы).

Для начала необходимо создать коллекции, ранее мы их уже создали, я об этом уже писал, поэтому здесь пропущу.

Далее публикуем сами приложения RemoteApp (Публикация удаленных приложений).

Выбираем необходимое нам приложение (в моем случае это  соответственно 1С):

Вроде благополучно все опубликовалось.

Далее предлагается локально скачать файлик:

Запускаем его:

Здесь сразу запускается 1С.

Все достаточно быстро и без проблем. Но, к сожалению, нашу текущую проблему с масштабированием  1С82 RemoteApp не решает. Но все работает.

На этом настройка закончена.

Всем хорошей работы!!!

P.S.

Думали опубликовать еще 1с82 через IIS WEB, но с платформой 1с82 это оказалось достаточно проблематично.

По публикации платформы 1с83 почитать можно здесь:

или

Examples

Example 1: Modify settings for a RemoteApp program

This command modifies settings for a RemoteApp program in the collection named Virtual Desktop Collection.
The command specifies IE as an alias, and specifies Websites as the folder where the RemoteApp program appears.
The command specifies the virtual desktop name RDS-WKS-A27.
This command uses a required command line argument.
This RemoteApp opens the specified browser to go to the specified URL.

Example 2: Modify user and group settings for a RemoteApp program

This command modifies settings for a RemoteApp program in the collection named Session Collection.
The command specifies Notepad as an alias for the program, and specifies the Admin Tools as the folder where this RemoteApp program appears.
The command also specifies the users and groups that can see the program.

Доступ пользователей к RemoteApps через TS Web Access

По умолчанию, приложение RemoteApps доступно через TS Web Access. Проверить этот факт можно, как указано выше, с помощью окна свойств RemoteApp и наличия в нем отмеченного чекбокса RemoteApp is available through TS Web Access. Естественно, этот параметр может быть изменен в любое время, для чего в списке приложений  RemoteApp нужно выбрать необходимое приложение и перейти в его свойства.

Итак, если ваши RemoteApps настроены для доступа через TS Web Access, просто откройте окно браузера и введите URL-адрес веб-страницы:

В качестве значения 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 FilesPackaged Programs). Этот файл может быть скопирован на любую клиентскую систему, где он должен быть запущен. В результате установки пакета Windows Installer RemoteApp можно найти в меню «Пуск» (Start -> All Programs -> Remote Programs).

В этом случае, так же как при использовании TS Web Access, пользователь будет предоставлена возможность указать, какие локальные ресурсы, такие как диски, порты и принтеры должны быть доступными в удаленном приложении.

Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.

На вкладке Общие окна свойств приложения доступны следующие настройки:

  • Имя удалённого приложения RemoteApp. Позволяет задать произвольное имя для опубликованного приложения.
  • Показывать удалённое приложение в службе веб-доступа к удалённым рабочим столам. Если выбрать пункт Нет, то приложение не будет отображаться списке приложений на странице веб-доступа и не будет доступно пользователям, хотя будет установлено на серверах узлов сеансов и будет иметь статус опубликованного.
  • Папка удалённого приложения RemoteApp. Этот параметр позволяет упорядочивать приложения RemoteApp, раскладывая их по папкам.

Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.

Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее.На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров.

Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.

На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.

Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям

Установка роли терминального сервера

Я уже установил терминальный сервер, поэтому найду в интернете подходящую статью, наиболее похожую на правду с инструкцией по установке терминального сервера.

Входим в Server Manager. Справа вверху выбираем Manage -> Add Roles and Features. Для установки сервиса удаленных рабочих столов предусмотрен специальный мастер Remote Desktop Services installation.

Для одного сервера, выбираем Quick Start. Мастер обещает установку сервиса удаленных рабочих столов, настройку Collection и RemoteApp programs. (Я выбирал Standard deployment — процедура немного отличалось от этой.)

Выбираем, что наши пользователи будут подключаться к серверу (собственным сессиям на сервере), а не к собственным виртуальным машинам.

По сценарию на наш сервер будут добавлены следующие серверные роли:

  • RD Connection Broker – контроль подключений пользователей, определяет для какого пользователя на каком сервере будет открыта сессия или запущено приложение.
  • Web Access – доступ к приложениям через веб браузер.
  • RD session Host – сервер, на котором будут опубликованы приложения и на который пользователи смогут подключаться через удаленный рабочий стол.

Если инфраструктура у вас большая или вам нужна отказоустойчивость, то необходимо дублировать серверы с данными ролями, изначально решение создавалось как кластерное.

Позже, во второй части статьи, мы добавим ещё одну роль:

RD Licensing — сервер лицензий.

После чего начинается «автоматическая» настройка ролей, которая кончается ошибкой настройки Session collection и отменой установки RemoteApp programs. У меня все процедуры закончились «succeeded», здесь скриншот корявый.

После установки первой роли сервер перезагружается и включается триальный период работы терминального сервера 120 дней.

Чтобы завершить установку вручную, выбираем в Server Manager вкладку управления ролью Remote Desktop Services.

Там видим еще одно графическое представление плана установки. Первые два пункта у нас выполнены.

Кликаем по третьему пункту, Create session collection. Запускается мастер создания.

Придумываем название для Session Collection.

Выбираем наш сервер, в качестве RD session Host.

Выбираем группы или отдельных пользователей, которые смогут подключаться к нашему серверу по протоколу RDP.

Нужно выбрать, где централизованно будут храниться данные о пользовательских сессиях, настройки. Дело в том, что сессия пользователя запускается как-бы в подобии виртуальной машины и в папке с профилями будут храниться виртуальные жесткие диски .vhdx В процессе использования, когда вы зайдете под администратором, то не найдете на системном диске никаких признаков присутствия юзеров. Я снял галку «Enable user profile disks».

Вот теперь установка закончилась удачно.

Дальше нужно выбрать RemoteApp программы. Я пока пропускаю, потому что ещё не установил 1С, для которого терминальный сервер и поднимается. Сделаю это позже.

Перезагружаемся и переходим к второй части.

Что такое RemoteApps?

RemoteApps являются частью роли служб терминалов в Windows Server 2008. Цель служб терминалов – обеспечение доступа клиентских систем к рабочему столу и приложениям, работающих на терминальном сервере. Как следует из названия, удаленный доступа к рабочему столу означает отображение всего рабочего стола сервера на экране локального клиента. Такой подход позволяет пользователю выполнять различные  задачи на сервере,  в том числе запускать и взаимодействовать с приложениями на удаленном хосте. Функция RemoteApps помогает избегать предоставления пользователю доступа ко всему рабочему столу удаленной системы, в том случае если, ему необходимо всего одно приложение. При запуске каждого приложения RemoteApp, оно отображается в отдельном окне на рабочем столе клиента, то есть точно так же, как если бы оно было установлено и запушено  локально.

RemoteApps могут быть запущены с помощью специальной ссылки на веб-странице TS Web Access, или путем установки специального файла на компьютере клиента.

Examples

Example 1: Publish a RemoteApp program

This command creates a new RemoteApp program in the collection named Session Collection.
The command specifies the display name Notepad and uses the .exe file at the specified file path.

Example 2: Publish a RemoteApp program with a required argument

This command publishes a RemoteApp to the collection named Virtual Desktop Collection.
The command specifies the display name Bing and uses the .exe file at the specified file path.
The command specifies the virtual desktop name RDS-WKS-A27.
This command uses a required command line argument.
This RemoteApp opens the specified browser to go to the specified URL.

RemoteFX в Windows Server 2012. Что нового?

Что же нового предлагает нам Microsoft в обновлённой версии RemoteFX:

  • Multi-Touch: поддержка мульти-тач в RDP сессии (в совместимом клиенте, как минимум RDP 8.0). RDS поддерживает полный набор жестов, которые работают в Windows 8 (например, увеличение или открытия меню настроек) между клиентом и хостом с разрешением до 256 касаний.
  • Адаптивная графика: динамический выбор типа компрессионного кодека в зависимости от передаваемого изображения и качества канала
  • Специальный API  для перенаправления медиа-контента: используется для передачи медиа-нагрузки на клиентское устройство, облегчая тем самым рендеринга аудио-видео контента (на текущий момент используется только в Lync)
  • WAN Enhancements: возможность работы на WAN каналоах с сохранением всех преимуществ RemoteFX за чет использования специальных адаптивных  расширения  для протокола UDP.
  • GPU Changes: поддержка как аппаратных  так и программно-эмулируемых GPU. Добавлена поддержка DirectX 11.
  • Динамическое перенаправление USB-устройств: Возможность добавления локальных  USB устройств без необходимости переподключения.
  • Восстановление сессий для RemoteApp и Remote Desktop. Возможность переподключения к существующим сессиям с сохранением последнего состояния
  • RemoteFX Network Auto Detect: автоматическое определение качества канала для оптимизации качества сессии и производительности

Аппаратные и программные требования для использования RemoteFX в Windows Server 2012

Чтобы полноценно воспользоваться всеми нововведениями в технологии RemoteFX, необходимо, чтобы система соответствовала следующим требованиям:

  • Аппаратное соответствие для запуска роли  HyperV (поддержка Intel VT или AMD-V, а также XD/NX bit)
  • Процессор, совместимые со SLAT (Second-Level Address Translation — преобразование адреса второго уровня). Для процессоров AMD эта технология называется NPT/RVI (Nested Page Tables), для Intel CPU – EPT (Extended Page Tables).
  • Графический контроллер (GPU) с большим количеством видеопамяти, поддерживающий  DirectX 11 (WDDM 1.2).
  • На сервере должны быть установлены роли Remote Desktop Virtualization Host и Remote Desktop Services
  • Виртуальная машина  Windows 8 Enterprise x64 c драйвером Windows Display Driver Model (WDDM) 1.2 и выше

Подготовка сервера к установке RemoteApps

Перед использованием технологии RemoteApps на сервере Windows Server 2008 необходимо выполнить ряд условий. В первую очередь на вашем сервере должна быть установлена и настроена роль служб терминалов.

Во-вторых, все приложения, которые планируется использовать с помощью RemoteApps должны быть установлены на терминал так, чтобы они поддерживали одновременную многопользовательскую работу. Как это сделать, вы можете прочитать в статье Установка приложений для Windows Server 2008 Terminal Services .

И, наконец, если планируется сделать доступ к приложениям через браузер с помощью роли TS Web Access, необходимо произвести настройки, описанные в статье Настройка TS Web Access в Windows Server 2008 .

После выполнения первых двух, а, если необходимо и третьего требования, можно переходить к процессу конфигурации RemoteApp.

Настройка приложения в качестве 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 is available through TS Web Access –управляет доступом к приложению RemoteApp через TS Web Access. Подробнее о TS Web Access читайте пост под названием Настройка Windows Server 2008 TS Web Access .

Command-Line Arguments(параметры командной строки) –устанавливает правила для использования приложением аргументов командной строки.

Change Icon –Позволяет установить и изменять иконку приложения

После внесения каких-либо изменений в свойства RemoteApp, нажмите кнопку ОК, а затем Next. После завершения настройки приложений они будут перечислены в списке RemoteApp Programs, как показано на рисунке:После настройки RemoteApps, удаленные пользователи могут приступать к их использованию. Осталось лишь установить на ПК клиента специальный пакет Windows Installer или скопировать ему заранее сформированный .rdp файл, либо же предоставить ему доступ к  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 FilesPackaged Programs) появится новый .rdp файл. Этот файл нужно скопировать на любую систему, с которой предполагается воспользоваться удаленным приложением  RemoteApp.

Как и в случае с TS Web Access, пользователь может определить какие локальные ресурсы могут быть доступными в опубликованном терминальном приложении.

December 21 2012, 12:13

Возможность опубликовывать приложения с помощью remoteapp в среде Windows server 2012 без контроллера домена отсутствует.
Да и ограничение ставить терминальный сервер и контроллер домена дает о себе знать.
На форумах технет найдено решение, обходящее эту проблему:
Пример опубликования WinRar.
Создаем файл c расширением rdp со следующим содержимым:

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:TS01
alternate shell:s:||C:Program Files (x86)WinRARWinRAR.exe
remoteapplicationprogram:s:||WinRAR
gatewayhostname:s:
remoteapplicationname:s:WinRAR
remoteapplicationcmdline:s:

Так же на сервере правим реестр

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplicationsWinRAR]
"CommandLineSetting"=dword:00000000
"RequiredCommandLine"=""
"IconIndex"=dword:00000000
"IconPath"="%SYSTEMDRIVE%\Program Files (x86)\WinRAR\WinRAR.exe"
"Path"="C:\Program Files (x86)\WinRAR\WinRAR.exe"
"VPath"="%SYSTEMDRIVE%\Program Files (x86)\WinRAR\WinRAR.exe"
"ShowInTSWA"=dword:00000001
"Name"="WinRAR"
"SecurityDescriptor"=""

Доброго дня.

Имеется Windows Server 2012R2 без домера. Установлены и настроены лицензирование удаленных рабочих столов и узел сеансов удаленных рабочих столов. Для запуска баз 1С с использованием remoteapp, внесены изменения в реестр
и настроены RDP файлы(подобно одной из статей в сети, напр._https://arny.ru/it/software/server/windows-server/2012-r2/remoteapp-v-2012-r2-bez-domena/). 1с запускается без проблем, но при запуске последующего приложения (второго, третьего,… ) выскакивает
сообщение:

Сеанс подключения к удаленному рабочему столу завершен.

Подключение было потеряно, потому что к удаленному компьютеру подключился другой пользователь. Повторите попытку подключения либо обратитесь за помощью к администратору сети или в службу технической поддержки.

http://s012.radikal.ru/i320/1711/2f/5be28b8819f4.jpg

хотя база открывается и вторая и третья…

Если смотреть на сервере, ко все 1С-ки запускаются в одном сеансе. Что нужно сделать,чтобы это сообщение не выскакивало?

Ветки реестра для запуска:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList]
«LicenseServers»=hex(7):00,00
«CertificateIssuedBy»=»»
«LicensingType»=dword:00000005
«fHasCertificate»=dword:00000000
«CertificateExpiresOn»=»»
«CentralLicensing»=dword:00000000
«fDisabledAllowList»=dword:00000000
«CertificateIssuedTo»=»»
«CustomRDPSettings»=»authentication level:i:2»

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1Cv8-Buh]
«CommandLineSetting»=dword:00000002
«RequiredCommandLine»=»enterprise /f «C:\Data\Base1C\Buh»»
«Path»=»C:\Program Files\1cv8\common\1cestart.exe»
«ShortPath»=»C:\PROGRA~1\1cv8\common\1cestart.exe»
«ShowInTSWA»=dword:00000000
«Name»=»1Cv8-Buh»
«SecurityDescriptor»=»»
«VPath»=»%SYSTEMDRIVE%\Program Files\1cv8\common\1cestart.exe»

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1Cv8-Buh_usn]
«CommandLineSetting»=dword:00000002
«RequiredCommandLine»=»enterprise /f «C:\Data\Base1C\Buh_usn»»
«Path»=»C:\Program Files\1cv8\common\1cestart.exe»
«ShortPath»=»C:\PROGRA~1\1cv8\common\1cestart.exe»
«ShowInTSWA»=dword:00000000
«Name»=»1Cv8-Buh_usn»
«SecurityDescriptor»=»»
«VPath»=»%SYSTEMDRIVE%\Program Files\1cv8\common\1cestart.exe»

Состав одного из файлов *.RDP

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:SRV2012
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1Cv8-Buh
gatewayhostname:s:
remoteapplicationname:s:1Cv8-Buh
remoteapplicationcmdline:s:
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow desktop com:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
autoreconnection enabled:i:1
prompt for credentials:i:1
negotiate security layer:i:1
remoteapplicationicon:s:
shell working directory:s:
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:

  • Изменено

    12 ноября 2017 г. 12:14
    ошибка

  • Изменен тип
    Petko KrushevMicrosoft contingent staff, Moderator
    20 ноября 2017 г. 7:41

Приложения RemoteApp представляют собой программы, удалённый доступ к которым предоставляется с помощью служб удалённых рабочих столов, но выглядят они так, будто это локальные приложения. Проще говоря, приложение RemoteApp представляет собой доступ к удалённому рабочему столу, ограниченному одним приложением. Однако, несмотря на формулировку выше, пользователь может запускать несколько приложений или несколько экземпляров одного и того же приложения в одном сеансе.

rdweb

Использование приложений RemoteApp выглядит хорошей альтернативой традиционным удалённым рабочим столам, поскольку это приносит для системного администратора целый ряд преимуществ. Эти выгоды связанных с тем, что пользователю более не доступен рабочий стол полностью и его действия ограничены границами запускаемого приложения. А как известно, что чем меньше у пользователя возможностей крутить и настраивать, тем надёжнее и безопаснее работает система. Пользователям так же удобно использовать приложения RemoteApp, поскольку они выглядят так же как и любое локально установленное приложение, что значительно упрощает работу.

В этой статье будут рассмотрены следующие моменты:

  1. Процесс публикации приложений RemoteApp
  2. Проверка работоспособности приложений RemoteApp
  3. Изменение параметров опубликованных приложений RemoteApp
  4. Отмена публикации приложений RemoteApp

Публикация приложений RemoteApp

Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открыть Диспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удалённых приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удалённые приложения RemoteApp.

002-30

Рис.1 — Публикация приложений RemoteApp

Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удалённого рабочего стола. Это означает, что в одной коллекции могут быть либо удалённый рабочий стол полностью либо некий набор отдельных приложений RemoteApp.

Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) и одно собственное приложение (Foxit Reader). Для того, чтобы опубликовать встроенное приложение необходимо отметить его и нажать кнопку Далее.

002-31

Рис.2 — Выбор публикуемых приложений RemoteApp

С приложениями, которых нет в списке несколько сложнее. Тут требуется соблюсти одно важное условие — необходимо чтобы публикуемое приложение размещалось по одному и тому же пути на все серверах узлов сеансов. Если это так, то нажимаем кнопку Добавить и указываем необходимое приложение.

002-32

Рис.3 — Указание пути к публикуемому приложению RemoteApp

Как видно на рисунке, указание приложения, в данном случае, происходит на сервере RDSH2.

После того, как все приложения отмечены нажимаем кнопку Далее.

002-33

Рис.4 — Выбор публикуемых приложений RemoteApp

В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.

002-34

Рис.5 — Подтверждение выбора приложений RemoteApp

После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.

002-35

Рис.6 — Отчёт о публикации приложений RemoteApp

Проверка публикации программ RemoteApp

После успешной публикации удалённых приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https://servername/rdweb. В рассматриваемом случае, это ссылка https://rdwh.domain.local/rdweb.

002-c21

Рис.7 — Веб-доступ к приложениям RemoteApp

Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ. Запустим Foxit Reader.

002-c23

Рис.8 — Удалённое приложение Foxit Reader

Приложение успешно запустилось и готово к использованию. О том, что это приложение RemoteApp говорит иконка с изображением двух направленных друг к другу стрелок рядом с иконкой основного приложения.

Посмотрим, как отобразилось подключение на серверной стороне. Зайдем в свойства коллекции сеансов и посмотрим на панель Подключения.

002-36

Рис.9 — Подключения к коллекции сеансов

На скриншоте выше отображено осуществлённое подключение. Как видим,  несмотря на то, что путь к программе Foxit Reader мы указывали на сервере RDSH2, подключение было выполнено к серверу узлов сеансов RDSH1.

Изменение параметров приложений RemoteApp

Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.

002-50

Рис.10 — Вызов окна свойств приложения RemoteApp

На вкладке Общие окна свойств приложения доступны следующие настройки:

  1. Имя удалённого приложения RemoteApp. Позволяет задать произвольное имя для опубликованного приложения.
  2. Показывать удалённое приложение в службе веб-доступа к удалённым рабочим столам. Если выбрать пункт Нет, то приложение не будет отображаться списке приложений на странице веб-доступа и не будет доступно пользователям, хотя будет установлено на серверах узлов сеансов и будет иметь статус опубликованного.
  3. Папка удалённого приложения RemoteApp. Этот параметр позволяет упорядочивать приложения RemoteApp, раскладывая их по папкам.

Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.

002-51

Рис.11 — Общие параметры приложения RemoteApp

Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее. Поместим приложение Foxit Reader в папку Офисные приложения и посмотрим, что произойдет со страницей веб-доступа.

002-c24

Рис.12 — Использование папок для сортировки приложений RemoteApp

Как видим, выбранное приложение Foxit Reader было успешно помещено в папку Офисные приложения.

На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование.  Помимо этого можно задать принудительное использование заранее заданных параметров. В целом ряде случаев, последний параметр очень выручает.

002-52

Рис.13 — Параметры командной строки приложения

Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.

002-53

Рис.14 — Назначение пользователей приложения

На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.

002-54

Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.

Отмена публикации приложений RemoteApp

В случае, когда удалённое приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.

Для того, чтобы вызвать мастер отмены публикации удалённых приложений RemoteApp нужно выбрать пункт Отменить публикацию удалённых приложений RemoteApp в меню Задачи на панели Удалённые приложения RemoteApp.

002-55

Рис.15 — Вызов мастера отмены публикации приложения

На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удалённому рабочему столу полностью.

002-60

Рис.16 — Выбор приложения, публикация которого отменяется

В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.

002-61

Рис.17 — Подтверждение выбора

После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.

002-62

Рис.18 — Успешная отмена публикации приложения RemoteApp

***

Как видим, процессы добавления, удаления и настройки удалённых приложений RemoteApp довольно быстро и удобно осуществляются из единой панели Удалённые приложения RemoteApp на вкладке коллекции сеансов.


Прочитано:
14 372

Хочу посмотреть, что же из себя представляет RemoteAPP но уже в новой редакции Windows, действительно ли так проста работа с опубликованным приложением, к примеру с ‘кой.

Итак как всегда все мои заметки опираются одна на другую, т. е. Я начинаю повествование с самого малого, а все далее и далее расширяю используемый функционал.

Первое что нужно сделать это ввести терминальный сервер в домен если он до этого не был в домене, хотя по хорошему правильнее было бы поступить в точности да наоборот:

  • Развернуть систему на железо
  • Ввести систему в домен
  • Развернуть терминальный сервер

Ну не важно, раз пошел по другому пути то и не буду отклоняться:

Win + X → Command Prompt (Admin) →

C:Windowssystem32>netdom join %computername% /domain:polygon.local /userd:polygon.localaollo /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:Windowssystem32>shutdown /r /t 3

После уже можно авторизовать под доменными административными идентификационными данными, в моем случае:

Login: aollo@polygon.local

Pass: 712mbddr@

Чтобы удаленные пользователи могли использовать терминальный сервер для них на домен контроллере будет правильнее создать группу к примеру: TS_RemoteServer и добавить в ней доменных пользователей, а после данную доменную группу на сервере добавить в группу Remote Desktop Users

Теперь нужно добавить на терминальный сервер возможность работы с публикуемыми программами через RemoteAPP.

Авторизуюсь на терминальном сервере уже под своей доменной административной учетной записью.

Запускаю оснастку «Server Manager» — Win + X → Control Panel — Administrative Tools, после в оснастке добавляю роль: — DashboardAdd 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, ожидаю

Устанавливаются необходимые сервисы для работы с RemoteAPP

Когда все бегунки пройдут будет сформирована URL-ссылка на доступ к опубликованным приложениям, вот к примеру у меня:

https://srv-serv.polygon.local/rdweb

Теперь можно смело нажать кнопку Close

Теперь когда все необходимые роли установлены в оснастке Служб удаленных рабочих столов можно увидеть текущую роль сервера:

Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Remote Desktop Services — Overview

Визуализированное отображение текущей роли терминального сервера

Что очень даже информативно, ну наконец таки Microsoft пошла по пути пояснения что делает данный сервер и как он завязан на все остальное.

Теперь чтобы работать с RemoteAPP нужно либо использовать собственную коллекцию, а не ту что для всех пользователей домена уже присутствует CollectionsQuickSessionCollection с программами: 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…» через правый клик по всплывающему сообщению выбираем «Запускать надстройку на всех веб-узлах»Выполнить, после чего предстает страница доступа в дефолтную коллекцию которая по умолчанию назначена на всех пользователей.

Чтобы зайти в рабочее окружение, нужно авторизоваться:

  • Domainuser name: polygon.localaollo
  • Password: 712mbddr@
  • This is a public or shared computer (Отмечаем)

и нажать на кнопку Sign in

Авторизуюсь в рабочей области терминального сервера

В случае правильного указания своего пароля получаем доступ к коллекции с опубликованными приложениями:

Так выглядит рабочее окружения с опубликованной коллекцией программ

При нажатии на одно из них, к примеру Calculator запуститься окно отображающее что удаленное приложение будет запущено с нашего терминального сервера и также можно предопределить какие возможности использовать при работе с терминальным сервером, а именно перенаправлять:

  • Диски (Отмечаю галочкой)
  • Другие поддерживаемые самонастраиваемые возможности (Снимаю галочку)
  • Буфер обмена (Отмечаю галочкой)
  • Принтеры (Отмечаю галочкой)
  • Запись звука (Снимаю галочку)

А после просто нажимаю кнопку «Подключить» следом появиться окно авторизации на терминальном сервере: (нужно указать)

Login: aollo@polygon.local

Pass: 712mbddr@

и нажать на кнопку OK, ожидаем происходит подключение и запуск приложения на удаленном сервере как будто данное приложения запущено с текущего компьютера локально:

Запускается удаленное приложение "Calculator" с Терминального сервера

И вот когда профиль подключившегося на терминальный сервер сформировался запуститься окно Калькулятора:

Профиль подключения к терминальному серверу сформирован и запустился "Калькулятор"

На заметку: так же из рабочей области можно создать RDP соединение с любой Windows системой на которую у Вас есть доступ, для этого нужно перейти на элемент Connect to a remote PC заполнить поля подключения и нажать Connect, а до этого где были видны все программы коллекции элемент назывался RemoteApp and Desktops.

Но согласитесь для пользователя вводить по нескольку раз свой логин и пароль несколько не правильно, почему бы не использовать также как и на терминальном сервере под управлением Server 2008 R2 (Ent), опубликовать приложение, сохранить его как rdp & msi пакет и просто раскидать по всем пользователя которым необходимо работать на сервере, настроить прозрачную аутентификация до TS и больше пользователю не нужно вводить никакие идентификационные данные для работы, к примеру с программой , запустил и работай.

Может конечно здесь тоже такое есть — исследую, да и как создавать опубликованные приложения я разберу в следующей заметке дабы не загромождать текущую. Итак я познакомился с новым функционалом который прежде чем ввести в продуктивную среду следует протестировать в лабораторных условиях дабы избежать конфуза, что-то то наш IT-отдел настроил но все кривое и не допиленное. Все технические и не удобные моменты должны остаться за кадром. На этом я прощаюсь, до новых встреч на моем блоге, с уважением автор — ekzorchik.


  • Remove From My Forums
  • Question

  • Hello,

       We have 2 servers in a housing; one has RDP and the other a SQL2014; the two are running Win2012R2.

       We want to install RemoteAPP, but seems that we need DC; is there any way to avoid that?; if not, where is it suggested to install DC (RDP or SQL server); I cannot buy another server for only DC.

       Thanks.

Answers

  • Most of Microsoft’s enterprise technologies require Active Directory. It is a best practice to deploy domain controllers in pairs on physically separate hardware. If you do not wish to make this investment in hardware / virtual hardware, you may consider
    using Microsoft’s Azure RemoteApp service instead.


    Mike Crowley | MVP
    My Blog —
    Baseline Technologies

    • Edited by

      Monday, December 21, 2015 7:50 PM

    • Proposed as answer by
      Mike Crowley
      Tuesday, January 5, 2016 2:44 PM
    • Marked as answer by
      Eve WangMicrosoft contingent staff
      Wednesday, January 6, 2016 9:20 AM
  • Hi,

    In Windows Server 2012/2012 R2, domain environment is necessary for RDS infrastructure.

    You may consider of using Hyper-V, build virtual machine as the DC, then, complete your configuration.

    Best Regards,
    Eve Wang


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    • Proposed as answer by
      Eve WangMicrosoft contingent staff
      Wednesday, January 6, 2016 9:20 AM
    • Marked as answer by
      Eve WangMicrosoft contingent staff
      Wednesday, January 6, 2016 9:20 AM

  • Windows 7 32 bit lite для нетбука
  • Windows 2012 профиль по умолчанию
  • Windows 2008 черный экран с курсором
  • Windows 2012 remote server administration tools for windows
  • Windows 7 32 bit language pack