RDPクライアントはリモートアプリケーションを起動し、そのアプリケーションのみを表示できますか(デスクトップは表示できません)?アプリケーションはクライアント内で全画面表示され、アプリケーションが閉じられた場合、セッションは終了します。
RDP接続ファイルを使用して、代替シェルをアプリケーションに設定できます。ファイルの構文は
alternate Shell:s:c:\winnt\system32\notepad.exe
そして、それをmstsc.exeのコマンドライン引数として渡します。これはchrissrのソリューションに似ていますが、起動するすべてのRDPセッションに影響を与えません。 設定のより詳しい要約はこちら 。
「代替シェル」 動作しないようです 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
これは「シームレス」モードと呼ばれます。 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サイト を参照してください。
はい、デフォルトのシェルをExplorer.exeから特定のアプリケーションに変更できます。
Regeditで、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogonに移動します。現在のシェルはExplorer.exeである必要があります。 YourApp.exeに変更します。これにより、マシンにログオンするすべてのユーザーのシェルが変更されます。特定のユーザーに対してのみ変更する場合は、代わりにHKEY_CURRENT_USERの同じキーに移動します。
これはRemoteAppと呼ばれます。これを使用するには、リモートデスクトップサービスと呼ばれるターミナルサービスをインストールする必要があります。
Citrixはそのようなことをしていると思います。数回しか使用していないので、詳細はわかりませんが。私が使用したものは XenApp と呼ばれたと思いますが、それがあなたが望んでいるものかどうかはわかりません。
このCodeProjectの記事には別の方法が示されています。
http://www.codeproject.com/KB/IP/tswindowclipper.aspx
基本的な考え方は、表示したいアプリのウィンドウ位置を送信する仮想チャネルを作成し、クライアント上でウィンドウのその部分のみをレンダリングすることです。
少なくとも2008R2では、アカウントがRDPにのみ使用され、ローカルログインには使用されない場合、アカウントごとに設定できます。これは、シンクライアントで機能するはずです。アカウントがローカルデスクトップでも使用されている場合、これはそれらのログインにも影響します。
ADUsers&Computersで、アカウントのプロパティを開き、[環境]タブに移動します。そのタブで、[ログオン時に次のプログラムを開始する]をオンにして、プログラムのパスと実行可能ファイルを指定します。
RDPはそれをネイティブに行いません。
他の答えが言っているように、RDPログインが意図したアプリケーション以外を実行するのを難しくするために、いくつかのスクリプトを作成し、ポリシーを変更する必要があります。
ただし、2008年の時点で、Microsoftはターミナルサービスを介してアプリケーション仮想化テクノロジをリリースしました。これにより、これをシームレスに行うことができます。