Чи можуть клієнти RDP запускати віддалені програми, а не настільні комп’ютери


85

Чи можуть клієнти RDP запустити віддалену програму, а потім лише відобразити цю програму (а не робочий стіл)? Додаток буде виглядати повноекранним у клієнті, і якщо програму закрити, сесія закінчиться.


1
Саме те, що я шукав ... дякую за запитання!
Gishu

1
Відповідь @ user172681 містить найсвіжіше посилання. Також зараз є чудовий інструмент під назвою «RemoteApp Tool» (див. Посилання в розділі оновлень у верхній частині сторінки) для налаштування віддалених програм та створення файлів RDP ... для мене прекрасно працював на Win7.
Джон Рікс,

Відповіді:


19

Використовуючи файл з’єднання RDP, ви можете встановити альтернативну оболонку як вашу програму; синтаксис файлу схожий

alternate shell:s:c:\winnt\system32\notepad.exe

і ви передаєте це як аргумент командного рядка до mstsc.exe; це схоже на рішення chrissr, але не впливаючи на кожен сеанс RDP, який ви запускаєте. Більш детальне резюме налаштувань тут .


6
у мене не спрацювало ... я побачив властивість у файлі .rdp, але внесення змін (які, мабуть, мають спрацювати) нічого не змінило, коли я ініціював підключення. віддалення з Vista x64, щоб виграти 7 x64.
sonjz

3
На жаль, посилання мертве.
Нікола Малешевич

1
Не могли б ви оновити це з додатковою інформацією або, принаймні, виправити посилання?
WhiteHotLoveTiger

Використовуйте це посилання: web.archive.org/web/20130127155938/http://coe.uncc.edu/mosaic/…
lynx_74

Не працює у мене на Windows 10. Чи видалили вони цю функцію?
مسعود

38

"Альтернативна оболонка" , здається, вже не працює в останніх версіях Windows, RemoteAppце шлях.

remoteapplicationmode:i:1
remoteapplicationname:s:Purpose of the app shown to user...
remoteapplicationprogram:s:C:\...\some.exe
remoteapplicationcmdline:s:

Щоб це працювало, наприклад, під Windows 10 Professional, потрібно ввімкнути певну політику :

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnlistedRemotePrograms"=dword:00000001

7
Тільки для додання деякої точності: зазначені вище зміни (з першого розділу) повинні бути внесені у сам .rdpфайл та реєстр на сервері.
пікрап

Для запису є дві однаково названі клавіші RDP: remoteapplicationfile:sі remoteapplicationprogram:s. У *fileключових вказує повний шлях до виконуваних на локальному (хост) комп'ютера, в той час як *programключ визначає виконуваний файл на віддаленому комп'ютері.
Моше Рубін

11

Це називається "безшовним" режимом. rdesktop, клієнт RDP для Unix на це здатний. Зі сторінки сторінки:

   -A     Enable SeamlessRDP. In this mode, rdesktop creates a X11 window for each window on the server
          side.  This  mode  requires  the  SeamlessRDP  server side component, which is available from
          http://www.cendio.com/seamlessrdp/.  When using this option, you  should  specify  a  startup
          shell which launches the desired application through SeamlessRDP.

Для отримання додаткової інформації див. Згаданий веб-сайт Cendio .


2
чи є щось подібне доступне у вікнах?
ScottC

9

Це досить легко досягти.

  1. Нам потрібно дозволити, щоб усі програми, що не належать до списку, починалися з RDP.
    1.1 Збережіть наведений нижче сценарій на робочому столі, розширення має закінчуватися .reg.
Редактор реєстру Windows, версія 5.00

    [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Terminal Server \ TSAppAllowList]
    "fDisabledAllowList" = dword: 00000001


       1.2 Клацніть правою кнопкою миші на файлі та натисніть Merge , Yes, Ok.

  1. Зміна нашого файлу .rdp.
    2.1 У кінці нашого файлу додайте такий код:
віддалений режим застосування: i: 1
remoteapplicationname: s: Це буде необов’язковий опис програми
remoteapplicationprogram: s: відносний або абсолютний шлях до програми
                           (Приклад: taskmgr або C: \ Windows \ system32 \ taskmgr.exe)
remoteapplicationcmdline: s: Тут ви б вказали будь-які додаткові параметри програми


Або просто скористайтеся цим, щоб переконатися, що він працює:

віддалений режим застосування: i: 1
remoteapplicationname: s:
програма віддаленого застосування: s: mspaint
віддалене застосуванняcmdline: s:

        2.2 Введіть своє ім'я користувача та пароль та підключіться.


    3. Тепер ви можете використовувати ваш RemoteApp без будь-яких проблем, як якщо б він працював на вашому локальному комп'ютері 😉


Відмінна відповідь вище використовує remoteapplicationprogram:sключ, щоб вказати програму, що знаходиться на віддаленому комп’ютері. Щоб запустити локальну програму на стороні хоста на віддаленому комп’ютері, використовуйте remoteapplicationfile:sзамість цього ключа.
Моше Рубін

6

Так, ви можете змінити оболонку за замовчуванням з Explorer.exe на конкретну програму.

У Regedit перейдіть до HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon. Поточна оболонка повинна бути Explorer.exe. Змініть його на YourApp.exe. Це змінить оболонку для всіх користувачів, які увійдуть до машини. Якщо ви хочете змінити його лише для певного користувача, замість цього перейдіть до того самого ключа в HKEY_CURRENT_USER.


Примітка. Користувачі все ще матимуть можливість сполучення клавіш CTRL-Alt-Del та доступу до інших програм. Можливо, ви захочете відключити CTRL-Alt-Del для облікового запису або групи, яка буде входити в систему через RDP.
chrissr

3
Це фактично відключає користувачеві можливість регулярного входу.
ypnos


1

Я думаю, що Citrix робить такі речі. Хоча я не впевнений у специфіці, оскільки я використовував його лише пару разів. Я думаю, що той, який я використовував, називався XenApp, але я не впевнений, що це те, що ви шукаєте.


XenApp, схоже, більше стосується віртуалізації додатків, ніж віддаленого доступу (хоча я бачу, що у нього є віддалений варіант). Я також шукаю щось у таборі з відкритим кодом (наприклад, rdesktop).
Річард Дорман,

2
Під капотом ключовим компонентом XenApp все ще є серверні обчислення (так само, як це було десять років тому, коли продукт називався MetaFrame). Просто маркетингова мода змінилася, і продукт розширився, щоб містити більше, ніж просто ядро ​​віддалення програми.
Стів Гілхам

1

У цій статті CodeProject показано інший спосіб:

http://www.codeproject.com/KB/IP/tswindowclipper.aspx

Основна ідея полягає в тому, щоб створити вірусний канал, який надсилає позицію вікон програми (програм), яку ви хочете показати, а потім відтворює лише ту частину вікна на клієнті.


0

RDP не буде робити цього споконвічно.

Як сказано в інших відповідях, вам потрібно буде виконати кілька сценаріїв та внести зміни до політики, щоб ускладнити роботу логінів RDP з будь-чим, окрім передбачуваного додатка.

Однак станом на 2008 рік корпорація Майкрософт випустила технологію віртуалізації додатків через служби терміналів, що дозволить вам робити це без проблем.


0

Принаймні на 2008R2, якщо облікові записи використовуються лише для RDP, а не для локальних входів, ви можете встановити це для кожного облікового запису. Це має працювати для тонких клієнтів. Якщо облікові записи також використовуються на локальних робочих столах, це також вплине на ці логіни.

У ADUsers & Computers відкрийте властивості облікового запису та перейдіть на вкладку Середовище. На цій вкладці встановіть прапорець «Запустити наступну програму при вході в систему» ​​та вкажіть шлях та виконуваний файл програми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.