Windows не удается запустить данное удаленное приложение remoteapp отсутствует в списке разрешенных

Обновлено: 02.07.2024

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

Ниже я расскажу как настроить Удаленные приложения RemoteApp в Windows Server 2008 R2 на примере программы 1с:Предприятие 7.7.

0. Оглавление

1. Что понадобится

  1. Компьютер с Windows Server 2008 R2 (об установке можно прочитать здесь)
  2. Запущенный сервер терминалов на данном компьютере (об установке сервера терминалов читайте здесь)
  3. Также, на этом компьютере должно быть установлено и настроено приложение, которое мы будем добавлять в RemoteApp, в моем случае это 1С:Предприятие 7.7 (об особенностях установки 1С:Предприятие 7.7 я писал здесь)

2. Создание RDP-файла или установщика для удаленной программы

Ustanovka_RemoteApp_001

Ustanovka_RemoteApp_002

Ustanovka_RemoteApp_003

Ustanovka_RemoteApp_004

Ustanovka_RemoteApp_005

После ввода данных увидим окно 1С:Предприятие так, как будто мы запустили его с локальной машины.

Ustanovka_RemoteApp_006

3. Настройка пользователей

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

Ustanovka_RemoteApp_008

Ustanovka_RemoteApp_007

Ustanovka_RemoteApp_009

На этом настройка закончена. Мы выполнили ее таким образом, что несколько человек одновременно могут работать с программой 1С:Предприятие 7.7 под одной учетной записью (для удобства работы можно создать несколько учетных записей, например, User_1c_Buh, User_1C_Operator, User_1C_Sklad и т. д. или же отдельную учетную запись для каждого пользователя).

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

Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…

Ниже будет рассказано о том, как добавить новое правило в Брандмауэр Windows Server 2008 R2. А конкретнее, будем добавлять разрешающее правило для порта 1433, который использует Microsoft SQL Server 2008 R2 или, как…

Иногда, при установке или запуске некоторых (часто устаревших) программ в Windows Server 2008 (справедливо и для Windows 7), можно наткнуться на ошибку вида: "Версия этого файла несовместима с используемой версией…

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

На сервере узла сеансов удаленных рабочих столов откройте диспетчер удаленных приложений RemoteApp. Чтобы открыть диспетчер удаленных приложений RemoteApp, нажмите кнопку Пуск, затем последовательно выберите пункты Администрирование, Службы удаленных рабочих столов и Диспетчер удаленных приложений RemoteApp.

В области Действия щелкните Добавить удаленные приложения RemoteApp.

На странице Мастер удаленных приложений (RemoteApp) нажмите кнопку Далее .

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

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

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

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

В тексте пути можно использовать системные переменные среды. Например, точный путь к папке Windows (например, C:\Windows) можно заменить на %windir%. Использование пользовательских переменных среды не поддерживается.

После завершения настройки свойств программы нажмите кнопку ОК, а затем кнопку Далее.

На странице Просмотр параметров проверьте параметры, а затем нажмите кнопку Готово.

Выбранные программы должны появиться в списке Приложения RemoteApp.

Привет, в 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 отсутсвует в списке разрешенных программ.

Ошибка при подключении к 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 после вышеописанных действий заработал.

Работающий 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"


HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\

В этой ветке создать


HKLM\….\Applications\1C RemoteApp\Name: «1C RemoteApp»
HKLM\…..\Applications\1C RemoteApp\Path: «C:\Program Files (x86)\1cv8\common\1cestart_start.exe»
HKLM\…..\Applications\1C RemoteApp\VPath: «C:\Program Files (x86)\1cv8\common\1cestart_start.exe»
HKLM\…..\Applications\1C RemoteApp\RequiredCommandLine: «»
HKLM\…..\Applications\1C RemoteApp\CommandLineSetting: 0x00000001
HKLM\…..\Applications\1C RemoteApp\IconPath: «C:\Program Files (x86)\1cv8\common\1cestart_start.exe»
HKLM\…..\Applications\1C RemoteApp\IconIndex: 0x00000000
HKLM\…..\Applications\1C RemoteApp\ShowInTSWA: 0x00000000

  • Способ 2. Создать и запустить файл «1C RemoteApp.reg» с таким содержимым

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1C RemoteApp]
«Name»=»1C RemoteApp»
«Path»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«VPath»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«RequiredCommandLine»=»»
«CommandLineSetting»=dword:00000001
«IconPath»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«IconIndex»=dword:00000000
«ShowInTSWA»=dword:00000000


2. Создать ярлык для подключения к RemoteApp

Допустим обычное подключение к рабочему столу доступно по адресу 192.168.0.100:3389
В ярлыке для подключения к нашему приложению следует указывать тот же адрес.

  • Способ 1. Создать текстовый файл с именем «1C RemoteApp.rdp» и содержанием

allow desktop composition:i:1
allow font smoothing:i:1
alternate full address:s:192.168.0.100:3389
alternate shell:s:rdpinit.exe
devicestoredirect:s:*
disableremoteappcapscheck:i:1
drivestoredirect:s:*
full address:s:192.168.0.100:3389
prompt for credentials on client:i:1
promptcredentialonce:i:0
redirectcomports:i:1
redirectdrives:i:1
remoteapplicationmode:i:1
remoteapplicationname:s:1C RemoteApp
remoteapplicationprogram:s:||1C RemoteApp
span monitors:i:1
use multimon:i:1

  • Способ 2. С помощью все той же утилиты "RemoteApp Tool" создать файл для подключения


Вот и все.

3. Важная информация

Конечно же мы помним, что Prof выпуски Windows позволяют только одному пользователю наслаждаться удаленным рабочем столом…
То есть когда кто-то подключиться к RemoteApp службе — рабочий стол компьютера заблокируется….
Но ведь продвинутый администратор, способный пользоваться такими уловками всегда помнит про программы типа RDP Wrapper Library.
Легальность использования такой программы явно под большим сомнением.
А еще многие отдают предпочтение программам SHUTLE TSPlus / Thinstuff / ViTerminal — это уже платные программы, которые кроме изъятия некоторой суммы денег сообщат вам много доводов, почему вы должны считать этот способ легальным.
Но вы должны помнить, что пункт 2а . В рамках настоящего соглашения мы предоставляем вам право установить и запустить один экземпляр программного обеспечения на устройстве (лицензированное устройство) для одновременного использования одним лицом.

А потому (ИМХО) использование любых средств (в том числе платных) для увеличения количества терминальных подключений без покупки Windows Server и пакета терминальных лицензий является грубым нарушением лицензионного соглашения.

Читайте также: