- Установка и настройка удалённых приложений RemoteApp в Windows Server 2016
- Оглавление
- Что такое служба удалённых приложений RemoteApp?
- Установка ролей и служб RemoteApp
- Настройка коллекции и добавление удалённых приложений
- Натсройка подключения к RemoteApp приложению
- RemoteApp на Windows Server 2016 без Active Directory.
- Создание файла подключения RDP
- Прописываем опубликованное приложение через реестр
- Доступ к приложениям в окне через RemoteAPP
- Версия RDP клиента должна быть 6.1 или выше, посмотреть c:\windows\system32\mstsc.exe открыть свойства и посмотреть версию Либо через командную строку C:\Users\aollo>wmic datafile where name=’c:\windows\system32\mstsc.exe’ get version Version 6.1.7601.17514
- Должен быть установлен .NET Framework 3.5 и выше, посмотреть что установлено в системе, так.: Открыть командную строку (c правами Администратора) и набрать следующую команду: wmic product where «name like ‘Microsoft .NET Framework%'» get name,version
Установка и настройка удалённых приложений RemoteApp в Windows Server 2016
Оглавление
Что такое служба удалённых приложений RemoteApp?
RemoteApp — это часть роли служб терминального сервера Windows Server 2016 и эта служба даёт доступ к приложениям, работающих на терминальном сервере, таким образом, что как будто вы их запускаете у себя на локальном компьютере. Служба терминального сервера, которая берёт на себя все вычислительные ресурсы приложения, а пользователю отправляет только результат. Ещё и называют удалённым приложением RemoteApp.
Установка ролей и служб RemoteApp
Для установки RemoteApp запускаем Мастер добавления ролей и компонентов и выбираем Тип установки Установка служб удалённых рабочих столов как на скриншоте ниже
Далее выбираем Стандартное обёртывание xD. И после выбираем Развёртывание рабочих столов на основе сеансов.
На пункте Посредник подключения выбираем наш сервер из пула серверов и добавляем его в правое поле.
На следующем пункте, обратите внимание, необходимо отметить чекбксом Установить службу роли веб-доступа к удалённым рабочим столам на сервере посредника подключений к удалённому рабочему столу
Так же выбираем наш сервер из пула серверов и прожимаем Далее / Развернуть
Процесс развёртывания будет отображаться на экране, а по окончанию мы с вами выходим из мастера по нажатию кнопки Закрыть
Настройка коллекции и добавление удалённых приложений
Далее в Диспетчере серверов переходим в Службы удалённых рабочих столов и добавляем коллекцию, присваиваем имя и заполняем описание. Далее
Выбираем сервер из пула. Далее
На данном шаге нам необходимо Добавить Группы пользователей, которые будут иметь доступ к данному приложению remoteapp.
Теперь переходим к завершению настройки удалённого приложения remoteapp, нам нужно зайти в только что созданную нами коллекцию и через Задачи выбрать из выпадающего меню выбрать пункт Опубликовать удалённые приложения RemoteApp
Добавляем нужные нам приложения и финализируем Закрыть
Натсройка подключения к RemoteApp приложению
Тут всё ещё проще! Переходим по ссылке http://IP_ADDRES/RDWeb, где указываем имя или ip адрес вашего сервера, логинимся под вашей учётной записью.
Открывается меню Удалённые приложения RemoteApp и рабочие столы, где нам буду доступны только те приложения к которым у нас есть доступ (настраивали ранее). Нажимая на значок приложения начнётся процесс скачивания. После того как вы запустите его вам будет предложено авторизоваться, а уже после чего перед вами откроется уже само приложение 1С RemoteApp или Outlook 2016 RemoteApp.
Приложение RemoteApp будет помечено соответствующим значком
Вот и всё, друзья! Надеюсь я вам смог помочь) Всем спасибо!
RemoteApp на Windows Server 2016 без Active Directory.
Не нашел мануалов по этому поводу в сети. Максимум что было, это вопросы в статьях по 2012r2 — «будет ли это работать на 2016?» Ответ — будет! На мелочах, по типу лицензирования RDS внимание заострять не буду, если Вы дошли до этой статьи, вы как минимум умеете это делать и понимаете для чего это нужно.
- Устанавливаем операционную систему Windows Server 2016, обновления, драйвера и прочий нужный вам софт
- Запускаем Диспетчер серверов — Добавить Роли и компоненты. В типе установки будет выбор Установка ролей и компонентов и Установка служб удаленных рабочих столов. Выбирать необходимо первый пункт, так как службы без домена вы не поставите.
- Жмем Далее, выбираем необходимый сервер из пула серверов, жмем Далее и отмечаем роль Службы удаленных рабочих столов, для установки ставим галочки на Лицензирование удаленных рабочих столов (Remote Desktop Licensing) и Узел сеансов удаленных рабочих столов (Remote Desktop Session Host). Жмем Далее и устанавливаем отмеченные роли.
- Теперь нам необходимо указать сервер и параметры лицензирования. Делается это через Групповые политики. Соответственно запускаем 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) — включена — на пользователя. - Далее активируем сервер лицензий стандартными средствами оснастки администрирования и устанавливаем нужное количество лицензий.
Создание файла подключения 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/
После этого подключение не запрашивает пароль, а использует сохраненный. Проверено электроникой.
Доступ к приложениям в окне через RemoteAPP
Итак всем привет и хорошего дня, сегодня я покажу на практике, как сделать следующее:
Задача: на терминальном сервере активировать службу RemoteAPP и опубликовать приложение клиента 1С на подключение к развернутому кластеру 1C.
На сервер установлен гипервизор ESXi, а уже внутри него под каждую задачу развернуты виртуальные системы:
- Имеется доменnemdomb.local
- Имеется развернутый терминальный сервер
- Имеется сервер базы данных и кластер1с (все на одной машине, то лучше разделять по отдельным системам
- и отдельная рабочая станция.
Но пока как заготовка, терминальный сервер я разверну на сервере базы данных и кластере 1С (все на одной машине).
На терминальном сервере рекомендую пользовательский профили вынести на отдельный диск вместо системного:
Для чего нужен RemoteAPP – это технология расширения функционала терминального сервера посредством которой можно вместо того, чтоб каждому пользователю настраивать удаленное подключение где он будет работать с приложениями (Почта, 1С, печать и другими) сделать так чтобы у него на компьютере был вынесен ярлык через который запускается удаленная сессия с запуском опубликованного приложения.
К примеру: у меня сейчас два офиса, в одном (он же главный) располагается кластер 1с + база и терминальный сервер и вместо того, чтобы пользователи через удаленный рабочий стол заходили на терминальный сервер из другого офиса (это каждому нужно настраивать профиль: вывести ярлыки программ, организовать печать, обеспечить интернетом (а по соображениями безопасности я этого сделать не могу, просто так надо) у них на своих рабочих компьютерах настроен ярлык на запуск только опубликованного приложения. В рамках этой заметки я покажу на практике как это выглядит.
Создаю приложение которое будет опубликовано с использованием RemoteAPP на терминальном сервере:
Start – Control Panel – Administrative Tools – Server Manager – Roles – Remote Desktop Services – RemoteApp Manager (srv-host.nemdomb.local) – запускаю мастер: Add RemoteApp Programs, нажимаю Next, следующим шагом показывается какие текущие установленные приложения на терминальном сервере могут выступить в роли опубликованных через RemoteAPP, выбираю самое первое 1С Предприятие через нажатием на кнопку Properties можно:
- переименовать добавляемое приложение
- Изменить путь запуска до исполняемого файла
- Изменить алиас
- Настроить запуск клиента 1С с опциями запуска (к примеру подключение к опеределенной базе под определенным пользователем и паролем: /ENTERPRISE /S “1ccluster\base” /N “test” /P “test” — Здесь подключение к кластеру с именем 1ccluster, base – название базы, testtest – пользователь и пароль в этой базе)
Я же в рамках этой заметки не буду настраивать ничего в свойствах, а просто выбираю приложение: —
Нажимаю на кнопку Next и перехожу к этапу мастера где отображается результирующая информация по настройкам публикуемого приложения, если все правильно и ничего не нужно изменять нажимаю Finish
Следующим шагом нужно экспортировать RemoteAPP созданное приложение с целью распространить на компьютеры пользователям которые будут с ним работать , делает это так, выделяется приложение и через правый клик на нем вызываются свойства.
Опубликованное приложением можно экспортировать, как rdp файл настроенного подключение так и как msi пакет (можно поставить локально его на компьютере пользователя или же через GPO установить)
Если выбрать экспорт в виде RDP файла: Create .rdp File, по умолчанию путь куда предлагает мастер экспорта сохранить rdp файл подключения: C:\Program Files\Packaged Programs, но никто не мешает изменить данный путь на любой другое более удобный. Я оставляю по умолчанию
Следующим шагом также выводится результирующая информация – если все хорошо то нажимаем кнопку Finish и откроется explorer местонахождения экспортированного файла опубликованного приложения 1С, если открыть свойства данного rdp файла, то можно обнаружить что в настройки подключения к терминальному сервере уже автоматически подставляются аутентификационные данные текущей сессии на компьютере:
Теперь копирую данный файл: 1cv8s.rdp на рабочую станцию с которой пользователь alektest будет взаимодействовать клиентом 1С Предприятие.
На заметку: чтобы передать файл простым копирование через проводник:
\\w7x86\с$ на рабочей станции в настройках брандмауера должны быть включены входящие правила:
- Общий доступ к файлам и принтерам (входящий трафик SMB ) – Профиль (Домен).
- Общий доступ к файлам и принтерам (эхо-запрос – входящий трафик ICMPv4) – Профиль (Домен)
На заметку: пользователи которые задействуют RemoteAPP приложения на терминальном сервере должны быть в группе Remote Desktop Users
Запускаю на рабочей станции Windows 7 (W7X86) переданный файл предварительно авторизовавшись в системе под учетной записью alektest
На следующем шаге ввожу пароль на авторизацию на терминальном сервере: (Практичнее будет использовать SSO, т.е. авторизация на терминальном сервере с использование доменной учетной записи, а на терминальном сервере в группу “Пользователи удаленного рабочего стола” (Remote Desktop Users) добавить группу “Пользователи домена”).
На заметку: если задействовать SSO то вводить ничего не придется, будет задействована доменная аутентификация без какого либо ввода пароля.
Ожидаю… Идет подключение к приложению
Видите, раз в приложении когда я его подготавливал для RemoteAPP я не указал базу и сервер, то первый раз когда пользователь подключается у него запускается информационное окно, что список информационных баз пуст и нужно настроить:
Нажимаю “Да” — после выбираю: “Добавление в список существующей информационной базы” —
- Укажите наименование информационной базы: zup
- Выберите тип расположения информационной базы: На сервере 1С:Предприятия
Затем на следующем шаге указываю параметры информационной базы:
- Кластер серверов 1С:Предприятия:10.7.8.63
- Имя информационной базы в кластере: zup
Затем на следующем шаге все выбранное мастеров оставляю по дефолту
На этом установка клиента 1С на подключение завершена.
В итоге будет так:
Подключаюсь к данной базе zup нажатием на 1С:Предприятие и происходит подключение к базе путем ввода логина и пароля выданного Администратором 1С (хотя может и Вы можете совмещать две должности вместе: системный администратор + администратор 1С).
И вот вы внутри:
Работа с клиентом 1С на рабочем столе ничем особым не отличается если бы пользователь работал на терминальном сервере, теже самые окна, чтобы распечатать документы задействуется технология EasyPrint когда принтер с рабочей станции пробросится на терминальный сервер, и пользователь выбрав документ – печать также увидит и выбрав его распечатает.
Ниже скришот демонстрирует, открытое окно клиента 1С и “Диспетчер задач” во вкладке “Процессы” которого присутствует подключение к терминальному серверу через (mstsc.exe).
Чтобы задейстовать технологию EasyPrint и не ставить драйвера на терминальный сервер к рабочим станциям в домене предъявляются следующие требования:
Версия RDP клиента должна быть 6.1 или выше, посмотреть c:\windows\system32\mstsc.exe открыть свойства и посмотреть версию
Либо через командную строку
C:\Users\aollo>wmic datafile where name=’c:\\windows\\system32\\mstsc.exe’ get version
Version
6.1.7601.17514
Должен быть установлен .NET Framework 3.5 и выше, посмотреть что установлено в системе, так.: Открыть командную строку (c правами Администратора) и набрать следующую команду:
wmic product where «name like ‘Microsoft .NET Framework%'» get name,version
На заметку: когда пользователь закрывает 1С нажатием на крестик (или Файл — Выход), то его сессия на терминальном сервере не закрывается, а все еще находится в состоянии подключения
он может снова подключиться, но теперь введя пароль не забыть поставить галочку “Запомнить учетные данные” чтобы больше не видеть данное окно.
Если же по каким бы то ни было причинам, пароль был введен и сохранен, а в последствии пользователь его изменил (обычно по централизованной политике раз в 3 месяца), то он не сможет подключиться, т.к. пароль запомнен изменить его можно вот так:
На рабочей станции пользователя: Windows 7 – Пуск – Панель управления – Диспетчер учетных записей, находим сохраненное подключение
Нажимаем “Изменить” — и меняем пароль поле которого выделено на представленном скрипншоте ниже:
Согласитель, не хорошо, что когда клиент 1с закрыт, сессия на терминальном сервере все еще висит, в таком случае на терминальном сервере настраиваются промежутки ограничения простоя и неактивности терминального соединения:
Если сессия не активно в течении одного дня – она завершается, если в статусе Disconnected то через 15 минут она закрывается.
Если же экспортировать приложение RemoteAPP не в rdp файл, а в msi пакет, то
- либо такжепередаем через проводник данный файл
- либо через подготавливаем групповую политику:
GPO_RemoteAPP — Configuration — Policies — Software Settings — Software Installation — и путь в расшаренной папке до msi пакета RemoteAPP
После перезагрузки рабочей станции на рабочем столе пользователя будет ярлык 1С
Если ранее уже через rdp файл было настроено подключеник к базе, то когда через GPO произвели установку msi пакета найстройки подключения в клиенте 1С уже присутствуют:
У меня было что политика применилась к компьютеру, но msi все равно не устанавливалась, в логах на компьютере Windows 7 были следующие ошибки:
- Event ID: 303 → Удаление назначения приложения 1C Предприятие из политики GPO_RemoteAPP выполнено успешно.
- Event ID: 108 → Не удалось применить изменения для параметров установки приложения. Невозможно выполнить изменения для этого программного обеспечения. Должны существовать предшествующие записи в журнале, содержащие необходимые сведения. Ошибка: %%1612
- Event ID: 1085 → Windows не удалось применить параметры «Software Installation«. Параметры «Software Installation» могут иметь свой собственный файл журнала. Щелкните ссылку «Дополнительные сведения«.
Проблема была в месте откуда в момент создать групповой политики я указывал месторасположением msi файла, у компьютера не было прав доступа в данный каталог. Права на каталог месторасположения msi файла должны быть, чтобы у группы “Прошедшие проверку” были права на чтение (Чтение и выполение,Список содержимого папки,Чтение) и только тогда msi успешно отработает.
В итоге данная заметка шпаргалка готова и подлежит публикации на моем блоге практических заметок. Всего того, что пригодится в течении рабочего дня и самостоятельного изучения, повышения свой квалификации. Итого подведу итог практических действий:
- Развернут терминальный сервер
- Профиля будующих пользователей вынесены на отдельный логический диск.
- Посредством компоненты RemoteAPP и установленного ПО на сервере собраные пакеты задействующие технологию RemoteAPP для использования ПО, как будто оно установлена на рабочих местах пользователей, а все на самом деле не так, они работают в терминале. Таким образом достигается меньшая нагрузка на сеть.
- Чтобы запускать на рабочих станциях опубликованное приложение RemoteAPP, можно раз ввести аутентификационные данные на подключение к терминальному сервере или задействовать SSO.
- Также посредством GPO можно msi файл опубликованного приложения установить всем тем сотрудникам которые работают в программе 1С.
- На терминальном сервере можно централизованно по каждому профилю раскидать файл конфигурации на подключение к кластеру 1С и соответствующей базе. Об этом будет одна из следующих заметок.
Ну а пока я прощаюсь, я и так довольно много всего рассмотрел и не зачем еще более увеличивать данную заметку. Лучше много мелких и по теме, чем все сразу. До новых встреч, с уважением автор блога – ekzorchik.