Können RDP-Clients Remote-Anwendungen und keine Desktops starten?

82

Können RDP-Clients eine Remoteanwendung starten und dann nur diese Anwendung (und nicht den Desktop) anzeigen? Die Anwendung wird im Client im Vollbildmodus angezeigt, und wenn die Anwendung geschlossen wird, wird die Sitzung beendet.

Richard Dorman
quelle
1
Genau das, wonach ich gesucht habe ... danke, dass Sie gefragt haben!
Gishu
1
Die Antwort von @ user172681 enthält den aktuellsten Link. Es gibt jetzt auch ein nützliches Tool namens "RemoteApp Tool" (siehe Links im Abschnitt "Updates" oben auf der Seite) zum Konfigurieren Ihrer Remote-Anwendungen und zum Generieren der RDP-Dateien ... das unter Win7 perfekt für mich funktioniert hat.
John Rix

Antworten:

19

Mithilfe einer RDP-Verbindungsdatei können Sie die alternative Shell als Ihre Anwendung festlegen. Die Dateisyntax ist wie

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

und Sie übergeben das als Befehlszeilenargument an mstsc.exe; Dies ähnelt der Lösung von chrissr, wirkt sich jedoch nicht auf jede von Ihnen gestartete RDP-Sitzung aus. Eine ausführlichere Zusammenfassung der Einstellungen finden Sie hier .

Steve Gilham
quelle
6
hat bei mir nicht funktioniert ... Ich habe die Eigenschaft in der .rdp-Datei gesehen, aber die Änderung (die anscheinend funktionieren sollte) vorgenommen, hat nichts geändert, als ich die Verbindung initiiert habe. Remoting von Vista x64, um 7 x64 zu gewinnen.
Sonjz
3
Leider ist der Link tot.
Nikola Malešević
1
Könnten Sie dies mit weiteren Details aktualisieren oder zumindest den Link reparieren?
WhiteHotLoveTiger
Funktioniert unter Windows 10 nicht für mich. Haben sie diese Funktion entfernt?
مسعود
37

"Alternative Shell" scheint in neueren Windows-Versionen nicht mehr zu funktionieren , RemoteAppist der richtige Weg.

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

Damit dies z. B. unter Windows 10 Professional funktioniert, müssen einige Richtlinien aktiviert werden :

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnlistedRemotePrograms"=dword:00000001
Thorsten Schöning
quelle
7
Nur um die Genauigkeit zu erhöhen: Die obigen Änderungen (ab dem ersten Abschnitt) müssen in der .rdpDatei selbst und in der Registrierung auf dem Server vorgenommen werden.
Picrap
Für den Datensatz gibt es zwei ähnlich benannte RDP-Schlüssel: remoteapplicationfile:sund remoteapplicationprogram:s. Der *fileSchlüssel gibt den vollständigen Pfad zu einer ausführbaren Datei auf dem lokalen (Host-) Computer an, während der *programSchlüssel eine ausführbare Datei auf dem Remotecomputer angibt .
Moshe Rubin
10

Dies wird als "nahtloser" Modus bezeichnet. rdesktopDer RDP-Client für Unix ist dazu in der Lage. Aus der Manpage:

   -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.

Weitere Informationen finden Sie auf der genannten Cendio-Website .

ypnos
quelle
2
ist so etwas unter Windows verfügbar?
ScottC
7

Dies ist recht leicht zu erreichen.

  1. Wir müssen zulassen, dass nicht aufgeführte Programme von RDP aus starten.
    1.1 Speichern Sie das folgende Skript auf Ihrem Desktop. Die Erweiterung muss mit .reg enden.
Windows Registry Editor Version 5.00

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


       1.2 Rechtsklick auf die Datei und klicken Sie Merge, Yes, Ok.

  1. Ändern unserer .rdp-Datei.
    2.1 Fügen Sie am Ende unserer Datei den folgenden Code hinzu:
Remoteapplicationmode: i: 1
Remoteapplicationname: s: Dies ist die optionale Beschreibung der App
Remoteapplicationprogram: s: Relativer oder absoluter Pfad zur App
                           (Beispiel: taskmgr oder C: \ Windows \ system32 \ taskmgr.exe)
remoteapplicationcmdline: s: Hier würden Sie alle optionalen Anwendungsparameter einfügen


Oder verwenden Sie einfach dieses, um sicherzustellen, dass es funktioniert:

Remoteapplicationmode: i: 1
Name der Remoteapplication: s:
Remoteapplicationprogram: s: mspaint
remoteapplicationcmdline: s:

        2.2 Geben Sie Ihren Benutzernamen und Ihr Passwort ein und stellen Sie eine Verbindung her.


    3. Jetzt können Sie Ihre RemoteApp ohne Probleme verwenden, als ob sie auf Ihrem lokalen Computer ausgeführt würde 😉


quelle
Die obige hervorragende Antwort verwendet den remoteapplicationprogram:sSchlüssel, um eine Anwendung anzugeben, die sich auf dem Remotecomputer befindet . Verwenden Sie stattdessen den Schlüssel, um eine lokale host-seitige Anwendung auf dem Remotecomputer auszuführen remoteapplicationfile:s.
Moshe Rubin
6

Ja, Sie können die Standard-Shell von Explorer.exe in eine bestimmte Anwendung ändern.

Navigieren Sie in Regedit zu HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon. Die aktuelle Shell sollte Explorer.exe sein. Ändern Sie es in YourApp.exe. Dadurch wird die Shell für alle Benutzer geändert, die sich am Computer anmelden. Wenn Sie es nur für einen bestimmten Benutzer ändern möchten, wechseln Sie stattdessen zu demselben Schlüssel in HKEY_CURRENT_USER.

chrissr
quelle
Hinweis: Benutzer können weiterhin STRG-Alt-Entf drücken und auf andere Anwendungen zugreifen. Möglicherweise möchten Sie STRG-Alt-Entf für das Konto oder die Gruppe deaktivieren, die sich über RDP anmelden.
Chrissr
3
Dadurch kann sich der Benutzer nicht regelmäßig anmelden.
Ypnos
1

Ich denke, Citrix macht so etwas. Obwohl ich mir bei Einzelheiten nicht sicher bin, da ich es nur ein paar Mal verwendet habe. Ich glaube, die, die ich verwendet habe, hieß XenApp, aber ich bin mir nicht sicher, ob Sie danach suchen.

LiamGu
quelle
Bei XenApp geht es anscheinend mehr um Anwendungsvirtualisierung als um Remotezugriff (obwohl ich sehe, dass es eine Remoteoption gibt). Ich suche auch etwas im Open Source Camp (wie rdesktop).
Richard Dorman
2
Unter der Haube ist die Schlüsselkomponente von XenApp immer noch serverbasiertes Computing (genau wie vor einem Jahrzehnt, als das Produkt MetaFrame hieß). Es ist nur so, dass sich die Marketing-Mode geändert hat und das Produkt erweitert wurde, um mehr als nur den App-Remoting-Kern zu enthalten.
Steve Gilham
1

Ein anderer Weg wird in diesem CodeProject-Artikel gezeigt:

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

Die Grundidee besteht darin, einen virutalen Kanal zu erstellen, der die Fensterposition der App (s) sendet, die Sie anzeigen möchten, und dann nur diesen Teil des Fensters auf dem Client zu rendern.

Jon Clegg
quelle
0

RDP wird das nicht nativ tun.

Wie andere Antworten bereits sagten, müssen Sie einige Skripte erstellen und Richtlinienänderungen vornehmen, um es RDP-Anmeldungen zu erschweren, etwas anderes als die beabsichtigte Anwendung auszuführen.

Ab 2008 hat Microsoft jedoch die Anwendungsvirtualisierungstechnologie über Terminaldienste veröffentlicht, mit der Sie dies nahtlos tun können.

James
quelle
0

Zumindest in 2008R2 können Sie dies für jedes Konto festlegen, wenn die Konten nur für RDP und nicht für lokale Anmeldungen verwendet werden. Das sollte für Thin Clients funktionieren. Wenn die Konten auch auf lokalen Desktops verwendet werden, wirkt sich dies auch auf diese Anmeldungen aus.

Öffnen Sie unter ADUsers & Computers die Eigenschaften für das Konto und wechseln Sie zur Registerkarte Umgebung. Aktivieren Sie auf dieser Registerkarte "Starten Sie das folgende Programm bei der Anmeldung" und geben Sie den Pfad und die ausführbare Datei für das Programm an.

Zaunpfosten
quelle