トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

Win32/RemoteApp

INDEX

リモートデスクトップ接続(RemoteApp)

RemoteApp とは

リモートデスクトップセッションを利用して、サーバーのデスクトップが表示されるのではなく、起動したアプリケーションのウインドウのみがクライアントに表示される。

RemoteApp 環境構築

サーバ側は、リモートデスクトップ接続は Professional エディション以上の Windows に接続出来るが、RemoteApp は Enterprise / Ultimate の Windows もしくは Windows Server である必要がある。

クライアント側は、リモートデスクトップ接続が可能であればよいと思われる。

試した環境は、サーバ側 Windows 7 Ultimate、クライアント側 Windows 7 Professional。

RemoteApp も1セッションとして接続されるので、通常のリモートデスクトップ接続や複数の RemoteApp の接続は出来ない(同じ端末から同じユーザでの利用は同一セッション)。

 サーバ側設定

RemoteApp で許可するアプリケーションを事前に登録しておく必要がある。Windows Server (かつ ドメイン環境)であれば RDMS (Remote Desktop Management Service) で設定が出来るようだが、必要な設定をレジストリに登録すればよい。

レジストリは、HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications 下に公開するアプリケーション名ごとに、実行ファイルのパスなどを登録する。

レジストリエディタでキー・値を登録するか、以下のレジストリ登録ファイルを作成して結合する。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\<<公開名>>]
"Path"="<<アプリケーションのパス>>"
"Name"="<<アプリケーション名>>"
名前 備考
Name 文字列 アプリケーション名
Path 文字列 アプリケーションのパス
VPath 文字列 アプリケーションのパス
IconPath 文字列 アイコンファイルのパス 表示するアイコン icn か exe or dll
IconIndex DWORD 0 アイコンのインデックス番号(負数は ID)
RequiredCommandLine 文字列
CommandLineSetting DWORD 0
ShowInTSWA DWORD 0 TSWA に表示するか(1:表示)
SecurityDescriptor 文字列

全てのアプリケーションを許可する

許可するアプリケーションを登録しなくても、以下の方法でサーバ側の全てのアプリケーションを実行できるようになる。システムに影響を与えるようなプログラムも起動出来るので注意すること。

レジストリは、HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList 下に、名前 fDisabledAllowList (DWORD型)の値を 1 にする(0 で設定したリストのみ許可)。

Windows Registry Editor Version 5.00

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

Windows XP と Vista

RemoteApp を利用するために事前にパッチを適応する必要がある。XP Mode は適応済み。

 クライアント側設定

接続するための“リモート デスクトップ接続 (.rdp)”ファイルを作成し、配布・起動する。

RemoteApplicationMode = 1 とし RemoteApp を有効にし、RemoteApplicationProgram で起動するアプリケーションの公開名を指定する。Full Address には接続するサーバの名前もしくはIPアドレスを指定する。Alternate Shell には、RemoteApp の shell となる rdpinit.exe もしくは RemoteApplicationProgram と同じ公開名を指定する。※公開名で指定する場合は、「||公開名」と“||”を入れる。

以下のファイルを参考に必要な箇所を修正する(リダイレクトはクリップボードのみ許可している)。その他の細かい設定は Win32/mstsc を参照。

full address:s:<<接続サーバ名orIPアドレス>>
prompt for credentials:i:0
alternate shell:s:rdpinit.exe
remoteapplicationmode:i:1
remoteapplicationname:s:<<アプリケーション名>>
remoteapplicationprogram:s:||<<公開名>>
redirectclipboard:i:1
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:0
redirectposdevices:i:0
redirectdrives:i:0
drivestoredirect:s:

参考

最終更新時間:2015年11月06日 12時53分29秒 指摘や意見などあればSandBoxのBBSへ。