- Настройка удалённого подключения RemoteApp к Windows Server 2012
- 1. Публикация приложения на сервере
- Способ №1 (ручное добавление новой ветки в реестр)
- Способ №2 (создание файла .reg)
- Создание ярлыка для подключения к RemoteApp
- Использование программы RemoteApp Tool
- Что представляет RemoteApp на Server 2012 R2 Std
- RemoteApp на Windows 2012 без домена
Настройка удалённого подключения RemoteApp к Windows Server 2012
Для того, чтобы дать возможность клиентам работать с базой данных на сервере, но не давать допуск до полноценного RDP-сеанса на удалённом сервере (Windows Server 2012 R2) мы настроим RemoteApp на примере программы «Microinvest Склад Про». Цель этой технологии – ограничить подключение пользователя до рабочего стола и разрешить ему запуск только определенной программы. RemoteApp реализуется с помощью встроенных средств Windows Server, но с помощью стороннего приложения RemoteApp Tool (http://www.kimknight.net/remoteapptool) это можно сделать гораздо быстрее и проще. Рассмотрим способы:
1. Публикация приложения на сервере
Способ №1 (ручное добавление новой ветки в реестр)
В созданной нами ветке создать несколько параметров:
Способ №2 (создание файла .reg)
- Создать и запустить файл с расширением .reg со следующим содержимым:
Создание ярлыка для подключения к RemoteApp
- Создать текстовый файл с именем «ProgramName.rdp» со следующим содержимым:
Использование программы RemoteApp Tool
Создание RemoteApp подключения с помощью этой программы происходит гораздо проще и быстрее.
- После установки и запуска программы в стартовом окне нажимаем на «+» в левом нижнем углу
- В следующем окне указываем путь до исполняемого файла exe файла нужной нам программы и нажимаем «Открыть» в правом нижнем углу.
- После этого в стартовом пространстве появится ярлык выбранного нами файла, выделим его и нажмем «Create Client Connection» для начала создания протокола подключения RemoteApp
- Далее откроется окно создания RDP файла, здесь можно изменить настройки подключения или оставить по умолчанию, далее нажимаем «Create» в правом нижнем углу окна.
- Выберем директорию, где будет сохранен файл и укажем для него название и нажмём «Сохранить» в правом нижнем углу
После создания файла подключения любым из способов его нужно передать удобным способом на клиентские компьютеры, с которых будут происходить подключения.
- Запускаем файл и вводим учётные данные пользователя удаленной машины для подключения, нажимаем «Ок»
- после чего запустится указанное приложение, в нашем случае: Microinvest Склад Про
Процесс использования приложений через RemoteApp создает впечатление того, что пользователь работает на своём пк, а не на удаленной машине. Таким образом мы обезопасим сервер от человеческих факторов, приводящих к повреждению системы и неработоспособности машины.
Что представляет RemoteApp на Server 2012 R2 Std
Хочу посмотреть, что же из себя представляет RemoteAPP но уже в новой редакции Windows, действительно ли так проста работа с опубликованным приложением, к примеру с 1С‘кой.
Итак как всегда все мои заметки опираются одна на другую, т. е. Я начинаю повествование с самого малого, а все далее и далее расширяю используемый функционал.
Первое что нужно сделать это ввести терминальный сервер в домен если он до этого не был в домене, хотя по хорошему правильнее было бы поступить в точности да наоборот:
- Развернуть систему на железо
- Ввести систему в домен
- Развернуть терминальный сервер
Ну не важно, раз пошел по другому пути то и не буду отклоняться:
Win + X → Command Prompt (Admin) →
C:\Windows\system32>netdom join %computername% /domain:polygon.local /userd:polygon.local\aollo /passwordd:*
Type the password associated with the domain user:
The computer needs to be restarted in order to complete the operation.
The command completed successfully.
После перезагружаю терминальный сервер для активации внесенных изменений по добавлению сервера в домен:
C:\Windows\system32>shutdown /r /t 3
После уже можно авторизовать под доменными административными идентификационными данными, в моем случае:
Чтобы удаленные пользователи могли использовать терминальный сервер для них на домен контроллере будет правильнее создать группу к примеру: TS_RemoteServer и добавить в ней доменных пользователей, а после данную доменную группу на сервере добавить в группу Remote Desktop Users
Теперь нужно добавить на терминальный сервер возможность работы с публикуемыми программами через RemoteAPP.
Авторизуюсь на терминальном сервере уже под своей доменной административной учетной записью.
Запускаю оснастку «Server Manager» — Win + X → Control Panel — Administrative Tools, после в оснастке добавляю роль: — Dashboard — Add roles and features , Next — отмечаю галочкой: Remote Desktop Services installation, Next —
Т.к. все службы Remote Desktop Services у меня развернуты на одном сервере (т.е текущем), то в следующем окне мастер задействую выбор Quick Start (Быстрый запуск), Next
Далее выбираю сценарий развертывания Remote Desktop Services, т. е. Создание среды удаленных рабочих столов на основе RDP-сеансов: → Session-based desktop deployment, Next
Далее указываю текущий сервер (srv-serv.polygon.local 10.7.8.173), Next
После чего на текущем сервере будут развернуты необходимые роли для организации RemoteAPP, а именно:
- RD Connection Broker
- RD Web Access
- RD Session Host
отмечаю галочкой пункт: Restart the destination server automatically if required и нажимаю Deploy, ожидаю
Когда все бегунки пройдут будет сформирована URL-ссылка на доступ к опубликованным приложениям, вот к примеру у меня:
https://srv-serv.polygon.local/rdweb
Теперь можно смело нажать кнопку Close
Теперь когда все необходимые роли установлены в оснастке Служб удаленных рабочих столов можно увидеть текущую роль сервера:
Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Remote Desktop Services — Overview
Что очень даже информативно, ну наконец таки Microsoft пошла по пути пояснения что делает данный сервер и как он завязан на все остальное.
Теперь чтобы работать с RemoteAPP нужно либо использовать собственную коллекцию, а не ту что для всех пользователей домена уже присутствует Collections — QuickSessionCollection с программами: Calculator, Paint, WordPad
Что задействовать дефолтную коллекцию программ опубликованных для всех пользователей домена нужно проделать следующие шаги на рабочей станции , к примеру действия на Windows 7 Professional SP1 если сперва попробовать зайти на ссылку (Открываем браузер Internet Explorer и в строке адреса вводим URL Доступа к терминальному серверу, т. е. https://srv-serv.polygon.local/rdweb ) сформированную в процессе разворачивания терминального сервера, т. е. представить как будет выглядеть сам процесс:
Пуск — Все программы — Internet Explorer — URL: https://srv-serv.polygon.local/rdweb — «Продолжить открытие этого веб-узла (не рекомендуется)» , браузер ругнется что для этого узла нужно надстройка «Microsoft Remote Desktop Services Web Access Con…» через правый клик по всплывающему сообщению выбираем «Запускать надстройку на всех веб-узлах» — Выполнить, после чего предстает страница доступа в дефолтную коллекцию которая по умолчанию назначена на всех пользователей.
Чтобы зайти в рабочее окружение, нужно авторизоваться:
- Domain\user name: polygon.local\aollo
- Password: 712mbddr@
- This is a public or shared computer (Отмечаем)
и нажать на кнопку Sign in
В случае правильного указания своего пароля получаем доступ к коллекции с опубликованными приложениями:
При нажатии на одно из них, к примеру Calculator запуститься окно отображающее что удаленное приложение будет запущено с нашего терминального сервера и также можно предопределить какие возможности использовать при работе с терминальным сервером, а именно перенаправлять:
- Диски (Отмечаю галочкой)
- Другие поддерживаемые самонастраиваемые возможности (Снимаю галочку)
- Буфер обмена (Отмечаю галочкой)
- Принтеры (Отмечаю галочкой)
- Запись звука (Снимаю галочку)
А после просто нажимаю кнопку «Подключить» следом появиться окно авторизации на терминальном сервере: (нужно указать)
и нажать на кнопку OK, ожидаем происходит подключение и запуск приложения на удаленном сервере как будто данное приложения запущено с текущего компьютера локально:
И вот когда профиль подключившегося на терминальный сервер сформировался запуститься окно Калькулятора:
На заметку: так же из рабочей области можно создать RDP соединение с любой Windows системой на которую у Вас есть доступ, для этого нужно перейти на элемент Connect to a remote PC заполнить поля подключения и нажать Connect, а до этого где были видны все программы коллекции элемент назывался RemoteApp and Desktops.
Но согласитесь для пользователя вводить по нескольку раз свой логин и пароль несколько не правильно, почему бы не использовать также как и на терминальном сервере под управлением Server 2008 R2 (Ent), опубликовать приложение, сохранить его как rdp & msi пакет и просто раскидать по всем пользователя которым необходимо работать на сервере, настроить прозрачную аутентификация до TS и больше пользователю не нужно вводить никакие идентификационные данные для работы, к примеру с программой 1С, запустил и работай.
Может конечно здесь тоже такое есть — исследую, да и как создавать опубликованные приложения я разберу в следующей заметке дабы не загромождать текущую. Итак я познакомился с новым функционалом который прежде чем ввести в продуктивную среду следует протестировать в лабораторных условиях дабы избежать конфуза, что-то то наш IT-отдел настроил но все кривое и не допиленное. Все технические и не удобные моменты должны остаться за кадром. На этом я прощаюсь, до новых встреч на моем блоге, с уважением автор — ekzorchik.
RemoteApp на Windows 2012 без домена
Привет, в 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:
Вам нужно изменить строчки, на ваши порт и адрес:
А так же, в случае, если добавляете не 1С, то эти то же:
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие
Сохраните файл, и попробуйте подключиться, если файл создан правильно, то должна будет выскочить ошибка, что приложение 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
Если вы будете заносить эти параметры вручную, то нужно в путях изменить \\\\ на \\.
Как не трудно догадаться, в нем нужно изменить пути до вашего приложения, в следующих строках:
«IconPath»=»%SystemRoot%\\Installer\\
\\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»
«Path»=»C:\\\\Program Files (x86)\\\\1cv8\\\\common\\\\1cestart.exe»
«ShortPath»=»C:\\\\PROGRA
И его имя в строке:
А также ветку реестра, то есть если вы пробрасываете, например, калькулятор, то и ветка должна быть, не Applications\1cestart, а Applications\calc, и не забудьте, проверить, чтобы параметры названия приложения, в файле .rdp, соответствовали названию этой ветки.
Попробуйте подключиться снова, у меня 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»