RemoteApp на Windows Server 2016 без Active Directory.

Не нашел мануалов по этому поводу в сети. Максимум что было, это вопросы в статьях по 2012r2 — «будет ли это работать на 2016?» Ответ — будет! На мелочах, по типу лицензирования RDS внимание заострять не буду, если Вы дошли до этой статьи, вы как минимум умеете это делать и понимаете для чего это нужно.

  1. Устанавливаем операционную систему Windows Server 2016, обновления, драйвера и прочий нужный вам софт
  2. Запускаем Диспетчер серверов — Добавить Роли и компоненты. В типе установки будет выбор Установка ролей и компонентов и Установка служб удаленных рабочих столов. Выбирать необходимо первый пункт, так как службы без домена вы не поставите.
  3. Жмем Далее, выбираем необходимый сервер из пула серверов, жмем Далее и отмечаем роль Службы удаленных рабочих столов, для установки ставим галочки на Лицензирование удаленных рабочих столов (Remote Desktop Licensing) и Узел сеансов удаленных рабочих столов (Remote Desktop Session Host). Жмем Далее и устанавливаем отмеченные роли.
  4. Теперь нам необходимо указать сервер и параметры лицензирования. Делается это через Групповые политики. Соответственно запускаем 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) — включена — на пользователя.
  5. Далее активируем сервер лицензий стандартными средствами оснастки администрирования и устанавливаем нужное количество лицензий.

Создание файла подключения RDP

Создаем текстовый документ, помещаем туда следующий листинг и сохраняем файл как Application.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:Srv-Universe
alternate shell:s:||winbox
remoteapplicationprogram:s:||winbox
gatewayhostname:s:
remoteapplicationname:s:Winbox
remoteapplicationcmdline:s:
screen mode id:i:2
desktopwidth:i:800
desktopheight:i:600
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:

Жирным выделены параметры, которые вы можете поменять на свои. Там указывается Имя сервера и программа. У меня для теста опубликован Winbox.

Прописываем опубликованное приложение через реестр

Запускаем  Regedit и идем по следующему пути:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications

Если такой папки нет — создайте ее сами. В ней же создаем еще один раздел с названием приложения и следующими параметрами

 

 

Создание RDP файлов и автоматическое прописывание данных в реестр можно делать при помощи программы RemoteApp Tool. Кстати, хорошая программа, которая работает «из коробки» и вообще не требует каких либо настроек и позволяет запускать RemoteApp приложения. Единственный косяк, который в ней есть, при закрытии программы не закрывается RDP сессия, она будет висеть сколь угодно долго не взирая на настройки отключения сессий по таймауту. В диспетчере задач видно, что при закрытии программы сессия пользователя не переходит в режим (Отключен) из-за этого не работает отключение. Есть режим простоя сессии, но его не удалось нормально подстроить под мои задачи.

Сделав все эти настройки, соблюдая все остальные параметры, запустив созданный RDP ярлык у вас уже запустится приложение. Повторюсь, я не описываю всякую мелочь, по типу того, что в файле RDP у нас прописано Netbios имя сервера и ваш днс сервер должен успешно его резолвить в IP, без этих знаний смысла нет куда-либо лезть вообще и читать эту статью. Я пишу ее как памятку для себя и она не является пошаговым мануалом для кого-то другого.

Как сделать так, чтобы при подключении не спрашивались логин и пароль.

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

Сделать нужно следующее:

Запускаем gpedit.msc 
— Конфигурация компьютера (Computer Configuration);
— Административные шаблоны (Administrative Templates) —
Компоненты Windows (Windows Components);
— Службы удаленных рабочих столов (Remote Desktop Services) —
Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) —
Безопасность (Security).

Параметр «Всегда запрашивать пароль при подключении» — Отключена

Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) —
Ограничение сеансов по времени.

Параметр «Задать ограничение по времени для отключенных сеансов» — Включена, установлена 1 минута.

— Конфигурация компьютера (Computer Configuration);
— Административные шаблоны (Administrative Templates) — Система;
— Передача учетных данных

Параметры:
— Разрешить передачу новых учетных данных — Включена
— Разрешить передачу новых учетных данных с проверкой подлинности сервера «только NTLM» — Включена
— Разрешить передачу сохраненных учетных данных — Включена
Разрешить передачу сохраненных учетных данных с проверкой подлинности сервера «только NTLM»

В этих параметрах прописать значение TERMSRV/*

Далее в Параметре:
-Ограничить делегирование учетных данных удаленным серверам — Включена.
Выставить режим — Предпочтительное использование удаленного Credential Guard.

Далее, это важно! У клиента на Windows 10 жмем пуск, вводим credent или Управление учетными данными Windows. Запускаем диспетчер учетных данных.

 

Если в Учетных данных Windows есть записи, относящиеся к вашему новому настроенному серверу (Например, вы его настроили, тестировали, ставили галочку сохранить пароль) нужно удалить эти записи и добавить их чуть ниже в «Общие учетные данные». Не забыть в имени сервера прописать TERMSRV/

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