我想编写一个应用程序来测试Windows机器是否正确响应RDP(远程桌面) - 即检查机器不仅允许连接,而且还正常响应,并且没有挂起或以其他方式异常响应。
是否有库或实用程序可用于此?我的搜索结果显示了完整的RDC客户端
,但我希望至少有一些提供API进行测试的东西。我最想使用Java或脚本语言来完成这个任务,但我也愿意听取建议。
我想编写一个应用程序来测试Windows机器是否正确响应RDP(远程桌面) - 即检查机器不仅允许连接,而且还正常响应,并且没有挂起或以其他方式异常响应。
是否有库或实用程序可用于此?我的搜索结果显示了完整的RDC客户端
,但我希望至少有一些提供API进行测试的东西。我最想使用Java或脚本语言来完成这个任务,但我也愿意听取建议。
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端口,因此我在这里包含了它...
您可以在这个问题中找到一些好的答案:编程创建和启动RDP会话(无GUI)
由于RDP是一个不断发展的专有协议,我猜测没有一些简单的开源代码可以拿来使用。这让我们有两条可能要走的路:
对于第二个选项,我建议使用AutoHotkey。它非常适合自动化Windows程序,并配备了强大的库。它还有一个强大的社区支持,因此您可以在互联网上找到许多有用的脚本。我用它来控制Winamp(比如“我讨厌这首歌!删除它并移动到下一首”)(好吧,技术上是“移动到下一首歌曲并删除前一个”,因为您不能在使用文件时删除它,但您明白我的意思)。如果您选择这条路线,我可以帮您编写脚本。