Вы здесь

RemoteApp на Windows 2012 без домена


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:

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

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"

 

3 1

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<


Комментарии

Попробовал на win16: Не удалось открыть программу или файл. Возникла проблема с 1с Предприятие, или нет доступа к файлу, который вы пытаетесь открыть.

В win16 немного иначе выглядит реестр, по ходу в нём дело. Нет настроек реестра для win 16 ? [email protected]

0 0

суть в том, что в статье в рег файлах почему-то используется по \\\\, у меня путь выглядит так: "Path"="C:\Program Files (x86)\1cv8\common\1cestart.exe", имеется в самом реестре, если руками прописывать... после этого все заведется.

0 0

Спасибо за инфу. Очень помогло. Все завелось и работает.Очень интересует параметр"CommandLineSettings"=dword:00000000Для запуска определенной базы.Без возможности входа в конфигуратор и выбора другой базы.Пробовал запихнуть параметр enterprise /s serv\base (enterprise /s serv\\base) в реестр сервера.Ничего не получилось. Подскажите как реализовать.Локально работает. Через RemoteApp не хочет. 

1 0

Здравствуйте, статья бомба.На деле очень удобно, выглядит как локальный софт, а на деле лежит на удаленном сервере. Спасибо за статью.Появился вопрос по теме, точнее проблема, с которой столкнулся:По всей видимости не запускается служба печати под пользователем, от которого запускается удаленная 1с, но это не точно))Проблема собственно в том что печатать невозможно. Как только подключаешься по rdp - сразу все доки печатаются. Может поможете с решением этой проблемы или может сами сталкивались с таким?Спасибо.

0 0

Большое спасибо. На сер 2016 стандарт работает. Только что то размер шрифтов больше чем требуется. Подскажите какие параметры ярлыка надо менять что бы маштабирование было 100%. видео по ссылке ]]>https://youtu.be/lRvUG3BuBGU]]>  

0 0

Это дело вроде бы в целом для сервера настраивается - параметры масштабирования, а не для каждого подключения (может и ошибаюсь). Попробуйте при локальном подключении к серверу поменять масштаб.

0 0

Все привет. Проверил данною схему, все работает внутри сети! Скажите пожалуйста как настроить удаленное подключение, к примеру комп дома а сервер на работе? Какие коректировки нужны в файле .rdp и на самом сервере? Windows server 2012 r2

0 0

спасибо, сделал по аналогии. выгрузил рабочий вариант ветки из 2022 сервера для 7-й и 8-й версии 1С:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cestart]"CommandLineSetting"=dword:00000000"RequiredCommandLine"="""Path"="C:\\Program Files\\1cv8\\common\\1cestart.exe""ShortPath"="C:\\PROGRA~1\\1cv8\\common\\1cestart.exe""ShowInTSWA"=dword:00000000"Name"="1C Предприятие""SecurityDescriptor"=""[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cv7]"CommandLineSetting"=dword:00000000"RequiredCommandLine"="""Path"="C:\\Program Files (x86)\\1Cv77\\BIN\\1cv7.exe""ShortPath"="C:\\PROGRA~2\\1Cv77\\BIN\\1cv7.exe""ShowInTSWA"=dword:00000000"Name"="1С Предприятие""SecurityDescriptor"="" 

0 0