保持远程桌面会话“活着”

时间:2011-04-03 08:12:36

标签: windows automation rdp autoit

我正在使用AutoIt自动执行GUI操作(使用RDP连接到运行待自动化应用程序的计算机)。每当我最小化RDP窗口(使用mRemote)时,不会执行进一步的AutoIt命令。

当我最小化窗口时,可能RDP会话被标记为“非活动”(我不知道这是否属实,也不知道如何配置此行为,如果是这样)。我正在考虑两种方法来克服这个问题:

  1. 以升级用户(或服务)的身份运行我的流程。
  2. 查找此配置,该配置控制会话是否标记为非活动状态并覆盖它。
  3. 如何在RDP窗口最小化时保持远程桌面会话“活动”?

4 个答案:

答案 0 :(得分:5)

我们遇到了与RDP相同的问题。我们使用的解决方法是打开另一个远程桌面会话以连接到同一服务器:

  1. 您使用RD连接到sever
  2. 从第1步的RD开始,您再次连接到server
  3. 这样,当您最小化甚至断开第一个RD会话时,第二个会话仍将处于“活动”状态。当然,您的远程桌面服务器必须支持来自同一用户的多个连接。

答案 1 :(得分:2)

您可能希望将当前的RDP会话附加到CONSOLE。在这种情况下,即使断开连接,UI仍将处于活动状态。

TSCON {sessionid | sessionname} /DEST:CONSOLE

答案 2 :(得分:0)

我的夜间回归套件曾经在我的本地机器上失败,因为企业规则在14分钟不活动后自动锁定机器。所以我写了一个小的vbScript程序,每隔12分钟按“PrintScreen”键,它真的解决了这个问题。虽然这不是在RDP上,但在远程机器上执行类似的操作会有所帮助。

答案 3 :(得分:0)

如果根本没有rdp会话,并且你仍然希望通过AutoIt实现自动化,那么接受的答案是行不通的。

They say在这种情况下,您不应该使用WinActivate并在AutoIt脚本中使用ControlSend,它会顺利运行。是的,这有效,自己检查一下。