web-dev-qa-db-fra.com

Les clients RDP peuvent-ils lancer des applications distantes et non des bureaux

Les clients RDP peuvent-ils lancer une application distante et ensuite uniquement afficher cette application (et non le bureau)? L'application apparaîtrait en plein écran dans le client et si l'application était fermée, la session se terminerait.

55
Richard Dorman

À l'aide d'un fichier de connexion RDP, vous pouvez définir l'autre shell comme votre application. la syntaxe du fichier est comme

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

et vous transmettez cela en tant qu'argument de ligne de commande à mstsc.exe; Ceci est similaire à la solution chrissr, mais n'affecte pas toutes les sessions RDP que vous lancez. Un résumé plus complet des paramètres ici .

16
Steve Gilham

Cela s'appelle le mode "sans couture". rdesktop, le client RDP pour Unix, est capable de cela. De la page de manuel:

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

Voir le site Web mentionné ci-après Cendio pour plus d'informations.

7
ypnos

Oui, vous pouvez modifier le shell par défaut à partir de Explorer.exe en une application spécifique.

Dans Regedit, accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Le shell actuel devrait être Explorer.exe. Changez-le en YourApp.exe. Cela modifiera le shell pour tous les utilisateurs qui se connectent à la machine. Si vous souhaitez uniquement le modifier pour un utilisateur spécifique, accédez à la même clé dans HKEY_CURRENT_USER.

6
chrissr

"Shell alternatif" ne semble pas fonctionner plus dans les versions récentes de Windows, RemoteApp est le chemin à parcourir.

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

Pour que cela fonctionne, par exemple Windows 10 Professional, il faut activer certaines règles :

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

Je pense que Citrix fait ce genre de chose. Bien que je ne sois pas sûr des détails, je ne l'ai utilisé que quelques fois. Je pense que celui que j'ai utilisé s'appelait XenApp mais je ne sais pas si c'est ce que vous recherchez.

2
LiamGu

Ceci s'appelle RemoteApp. Pour l'utiliser, vous devez installer les services Terminal Server, qui s'appellent maintenant les services de bureau à distance.

https://social.technet.Microsoft.com/wiki/contents/articles/10817.publishing-remoteapps-in-windows-server-2012.aspx

2
AlexDev

Une autre manière est présentée dans cet article CodeProject:

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

L'idée de base est de créer un canal virtuel qui envoie la position de la/des application (s) à afficher à la fenêtre, puis de ne restituer que cette partie de la fenêtre sur le client.

1
Jon Clegg

Au moins sur 2008R2, si les comptes ne sont utilisés que pour RDP et non pour les connexions locales, vous pouvez le définir pour chaque compte. Cela devrait fonctionner pour les clients légers. Si les comptes sont également utilisés sur des bureaux locaux, cela affectera également ces connexions.

Dans ADUsers & Computers, ouvrez les propriétés du compte et accédez à l'onglet Environnement. Sur cet onglet, cochez la case "Démarrer le programme suivant à la connexion" et spécifiez le chemin d'accès et l'exécutable du programme.

0
fencepost

RDP ne le fera pas nativement.

Comme d'autres réponses l'ont déjà indiqué, vous devrez créer des scripts et modifier les stratégies à la manière d'un kludge pour empêcher les connexions RDP d'exécuter autre chose que l'application souhaitée.

Toutefois, à compter de 2008, Microsoft a publié une technologie de virtualisation d’application via les services Terminal Server qui vous permettra de le faire de manière transparente.

0
James