web-dev-qa-db-ja.com

ハイパーリンクからリモートデスクトップ接続を呼び出す

Windowsマシンへのリモートデスクトップ接続を呼び出すハイパーリンクを作成する方法はありますか?

5
BlueGene

そうではありません。サーバーにRDPファイルを保存し、そのリンクを提供できます。サーバーでMIMEタイプが正しく設定されている限り、ダウンロードしてユーザーが開くと、正しい設定でRDPを開く必要があります。

ブラウザから直接実行可能ファイル(この場合はmstsc.exe)を実行できないため、かなり大きなセキュリティホールになります。ユーザーは何かをダウンロードして、意識的に開く必要があります。

4
Sam Cogan

サムが述べたように、RDPファイルをサーバーに保存するか、RDPファイルを生成するものを記述してください。

送信する必要のあるMIMEタイプは「application/x-rdp」です。

何が必要なのか正確にはわかりません。 JavaアプレットRDPクライアントを使用することもできます。例( http://properjavardp.sourceforge.net/

4
Zoredache

個人的な使用にのみ必要な場合の回避策があります。カスタムプロトコルハンドルを作成し、HTMLを介して使用できます。これが良い です。

0
Stoinov

James Clementsによるこの便利な投稿を見つけました。これは、機能しているように見えるテクニックについて説明しています。 http://www.jjclements.co.uk/2010/02/21/rdp-hyperlink/ これにはそれぞれが必要ですrdp://ハイパーリンクをクリックして、システムを適切にセットアップするバッチファイルを実行する個人。それがあなたのニーズを満たしているなら、読み進めてください。

Jamesは、rdp://アソシエーションを設定する小さな.BATファイルを提供しているため、アソシエーションをインストールした後、rdp:// myserverまたはrdp://myserver.myhost.comへのハイパーリンクをクリックすると、MSTSCが起動します。指定されたサーバーに接続しているexe。 (Stack Overflowでは、これらのハイパーリンクをこの投稿に挿入することはできません。これは十分に公正ですが、HTMLを制御すれば実行できます。)

バッチファイルの中央部分は、2つのものを作成します。

1)既知の場所にあるJavascriptファイル(C:\Windows\hyperlink-rdp.js)次の内容で:

var server=(WScript.Arguments(0))
var prefix='rdp://'
var app='C:\\WINDOWS\\system32\\mstsc.exe'
server=server.replace(prefix, '')
server=server.replace('/', '')
var Shell = new ActiveXObject("WScript.Shell")
Shell.Exec(app + " /v:" + server)

2)rdp://リンクをそのスクリプトに関連付けるためのいくつかのレジストリ設定。これらは、Windowsコマンドプロンプトから実行できるコマンドの形式で提供されます。

reg add "HKCR\rdp" /f /v "" /t REG_SZ /d "URL:Remote Desktop Connection"
reg add "HKCR\rdp" /f /v "URL Protocol" /t REG_SZ /d ""
reg add "HKCR\rdp\DefaultIcon" /f /v "" /t REG_SZ /d "C:\WINDOWS\System32\mstsc.exe"
reg add "HKCR\rdp\Shell\open\command" /f /v "" /t REG_SZ /d "wscript.exe C:\WINDOWS\hyperlink-rdp.js %%1"

Rdp.batは、James ClementsのWebサイトからダウンロードして実行(および他のユーザーに配布)することも、保存することもできますhyperlink-rdp.js自分でファイルを作成し、それらのレジストリキーを自分で追加します。同じ設定を含む.regファイルを作成することもできます。 Jamesのバッチファイルは、必要に応じて関連付けをアンインストールする方法も提供します。

0
AlexC