Назад | Перейти на главную страницу

Вызов подключения к удаленному рабочему столу из гиперссылки

Есть ли способ создать гиперссылку, которая будет вызывать подключение удаленного рабочего стола к машине Windows?

Не как таковое. Вы можете сохранить файл RDP на своем сервере и предложить ссылку на него, если ваши типы MIME правильно настроены на сервере, который он должен загружать, а затем при открытии пользователем должен открывать RDP с правильными настройками.

Вы не сможете просто запустить исполняемый файл (в данном случае mstsc.exe) прямо из браузера, это будет довольно большой дырой в безопасности, пользователю нужно будет что-то загрузить и сознательно открыть его.

Как упомянул Сэм, просто сохраните файл RDP на своем сервере или напишите что-нибудь, что будет генерировать файл RDP для вас.

Тип MIME, который вам нужно отправить: "приложение / x-rdp".

Я не совсем уверен, что вам нужно. Другим вариантом может быть использование клиента RDP Java-апплета. Для экзаменаторов (http://properjavardp.sourceforge.net/)

Есть обходной путь, если он нужен только для личного использования. Вы можете создать собственный дескриптор протокола и использовать его через свой HTML. Вот хороший пример.

Я нашел этот полезный пост Джеймса Клементса, в котором описывается техника, которая, кажется, работает: http://www.jjclements.co.uk/2010/02/21/rdp-hyperlink/ Это требует, чтобы каждый человек, который собирается щелкнуть гиперссылку rdp: //, запускал пакетный файл, соответствующим образом настраивая свою систему. Если это соответствует вашим потребностям, продолжайте читать.

Джеймс предоставляет небольшой файл .BAT, который устанавливает ассоциацию rdp: //, так что после установки ассоциации вы можете щелкнуть гиперссылки на rdp: // myserver или rdp: //myserver.myhost.com, и он запустит MSTSC. exe, подключающийся к указанному серверу. (Stack Overflow не позволит мне вставить эти гиперссылки в этот пост, что достаточно справедливо, но если вы контролируете HTML, вы можете это сделать.)

Центральная часть командного файла создает две вещи:

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 с веб-сайта Джеймса Клементса (и распространить его среди других пользователей), или вы можете просто сохранить его. hyperlink-rdp.js файл и добавьте эти ключи реестра самостоятельно. Можно также создать файл .reg, содержащий те же настройки. Пакетный файл Джеймса также предоставляет способ удалить ассоциацию, если вы хотите.