web-dev-qa-db-ja.com

RDPクライアントはデスクトップではなくリモートアプリケーションを起動できますか

RDPクライアントはリモートアプリケーションを起動し、そのアプリケーションのみを表示できますか(デスクトップは表示できません)?アプリケーションはクライアント内で全画面表示され、アプリケーションが閉じられた場合、セッションは終了します。

63
Richard Dorman

RDP接続ファイルを使用して、代替シェルをアプリケーションに設定できます。ファイルの構文は

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

そして、それをmstsc.exeのコマンドライン引数として渡します。これはchrissrのソリューションに似ていますが、起動するすべてのRDPセッションに影響を与えません。 設定のより詳しい要約はこちら

18
Steve Gilham

「代替シェル」 動作しないようです 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
15

これは「シームレス」モードと呼ばれます。 UnixのRDPクライアントであるrdesktopはこれに対応しています。マンページから:

   -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 Webサイト を参照してください。

8
ypnos

はい、デフォルトのシェルをExplorer.exeから特定のアプリケーションに変更できます。

Regeditで、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogonに移動します。現在のシェルはExplorer.exeである必要があります。 YourApp.exeに変更します。これにより、マシンにログオンするすべてのユーザーのシェルが変更されます。特定のユーザーに対してのみ変更する場合は、代わりにHKEY_CURRENT_USERの同じキーに移動します。

6
chrissr

これはRemoteAppと呼ばれます。これを使用するには、リモートデスクトップサービスと呼ばれるターミナルサービスをインストールする必要があります。

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

2
AlexDev

Citrixはそのようなことをしていると思います。数回しか使用していないので、詳細はわかりませんが。私が使用したものは XenApp と呼ばれたと思いますが、それがあなたが望んでいるものかどうかはわかりません。

1
LiamGu

このCodeProjectの記事には別の方法が示されています。

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

基本的な考え方は、表示したいアプリのウィンドウ位置を送信する仮想チャネルを作成し、クライアント上でウィンドウのその部分のみをレンダリングすることです。

1
Jon Clegg

少なくとも2008R2では、アカウントがRDPにのみ使用され、ローカルログインには使用されない場合、アカウントごとに設定できます。これは、シンクライアントで機能するはずです。アカウントがローカルデスクトップでも使用されている場合、これはそれらのログインにも影響します。

ADUsers&Computersで、アカウントのプロパティを開き、[環境]タブに移動します。そのタブで、[ログオン時に次のプログラムを開始する]をオンにして、プログラムのパスと実行可能ファイルを指定します。

0
fencepost

RDPはそれをネイティブに行いません。

他の答えが言っているように、RDPログインが意図したアプリケーション以外を実行するのを難しくするために、いくつかのスクリプトを作成し、ポリシーを変更する必要があります。

ただし、2008年の時点で、Microsoftはターミナルサービスを介してアプリケーション仮想化テクノロジをリリースしました。これにより、これをシームレスに行うことができます。

0
James