RDP连接/响应性测试

时间:2008-10-27 15:48:45

标签: remote-desktop

我想编写一个应用程序来测试Windows机器是否正确响应 RDP(远程桌面) - 即检查机器是否不仅允许连接,而且还正常响应,并且没有挂起或以其他方式反应异常。

我可以使用库或实用程序来执行此操作吗?我的搜索结果已满RDC clients,但我希望其中有一些内容至少提供了一个用于测试的API。我最想使用Java或脚本语言来做这件事,但我愿意接受建议。

2 个答案:

答案 0 :(得分:1)

Experts 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";
}

想法是尝试连接,如果它无法在'x'秒内连接,则认为它不起作用。如果你试图查看特定用户的登录是否有效,会变得有点复杂,但这至少应该让你开始。

注意:正如评论中所指出的,原始解决方案遗漏了RDP端口,因此我将其包括在内...

答案 1 :(得分:1)

您可以在此问题中找到一些好的答案:Programmatically create and launch and RDP session (without gui)

因为RDP是constantly evolving proprietary protocol,所以我猜你没有一些简单的开源代码可供您使用。这给我们留下了两条可能的路径:

  1. Use Microsoft RDP ActiveX control(在Windows上)
  2. 启动mstsc.exe并向其发送键盘事件(也在Windows上,使用您喜欢的语言)
  3. 对于第二种选择,我建议AutoHotkey。它非常适合自动化Windows程序,并配有强大的库。它背后还有一个强大的社区,所以你可以在互联网上找到很多有用的脚本。我用它来控制winamp(喜欢'我讨厌这首歌!删除它并移到下一个')(好吧,技术上'转到下一首歌并删除之前的'因为你可以& #39; t在使用中删除文件,但你明白了。)如果您选择此路径,我可以帮助您完成脚本。