Тест подключения RDP / отзывчивости - PullRequest
4 голосов
/ 27 октября 2008

Я хочу написать приложение, чтобы проверить, правильно ли машина Windows реагирует на RDP (удаленный рабочий стол) - то есть проверить, разрешает ли машина не только подключение, но и нормально реагирует, и не завис или не реагирует ненормально.

Есть ли библиотека или утилита, которую я могу использовать для этого? Мои поиски оказались полными RDC clients, но я надеюсь, что что-то есть, по крайней мере, предлагает API для тестирования. Я бы хотел использовать для этого Java или язык сценариев, но я открыт для предложений.

Ответы [ 2 ]

1 голос
/ 09 ноября 2012

Вы можете найти несколько хороших ответов на этот вопрос: Программно создать и запустить сеанс RDP (без графического интерфейса пользователя)

Поскольку RDP является постоянно развивающимся проприетарным протоколом , я предполагаю, что нет простого кода с открытым исходным кодом, который вы можете взять и использовать. Это оставляет нам два возможных пути:

  1. Использовать элемент управления Microsoft RDP ActiveX (в Windows)
  2. Запустите mstsc.exe и отправьте на него события клавиатуры (также в Windows, используя ваш любимый язык)

Для второго варианта я предлагаю AutoHotkey . Он идеально подходит для автоматизации программ Windows и поставляется с мощной библиотекой. Он также имеет сильное сообщество, поэтому вы можете найти много полезных сценариев в Интернете. Я использую его для управления Winamp (например, «Я ненавижу эту песню! Удали ее и переходи к следующей») (ну, технически «переход к следующей песне и удаление предыдущей», потому что вы не можете удалить файл во время использования, но вы получить идею). Если вы выберете этот путь, я могу помочь вам со сценарием.

1 голос
/ 27 октября 2008

Нашли это на Эксперты Exchange :

use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10, Prompt => '', Port >= 3389);
if($t->open("computer.name.or.ip")) {
    print "Connect successful\n";
}
else {
    print "Could not connect\n";
}

Идея состояла в том, чтобы попытаться установить соединение, и если оно не может установить соединение в течение количества секунд «х», предположим, что оно не будет работать. Немного усложняется, если вы пытаетесь увидеть, работает ли логин для определенного пользователя или нет, но это должно, по крайней мере, помочь вам начать.

ПРИМЕЧАНИЕ : Как указано в комментариях, исходное решение исключило порт RDP, поэтому я включил его в этот ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...