Skip to content
On this page

Windows 云服务器桌面保活

使用远程桌面连接到远程计算机时,关闭远程桌面会锁定计算机并显示登录屏幕。在锁定模式下,计算机没有 GUI,因此任何当前正在运行或计划的 GUI 测试都将失败。

为了避免 GUI 测试出现问题,请使用 tscon 实用程序断开与远程桌面的连接。tscon 将控制权返回到远程计算机上的原始本地会话,绕过登录屏幕。远程计算机上的所有程序继续正常运行,包括 GUI 测试。

手动断开连接

要断开与远程桌面的连接,请以管理员身份在远程计算机上(在 “远程桌面连接” 窗口中)运行以下命令,例如通过命令行:

bash
%windir%\System32\tscon.exe RDP-Tcp# NNN /dest:console

其中 RDP-Tcp# NNN 是当前远程桌面会话的 ID,例如 RDP-Tcp#5。**您可以在 Windows 任务管理器的“用户”**选项卡上的 “会话” 列中看到它。

注意

默认情况下,会话 列是隐藏的。要显示它,请右键单击显示 CPU、内存等的行中的某个位置,然后在打开的上下文菜单中选择 “会话”

通过批处理文件断开连接

您可以使用批处理文件自动执行断开连接过程。在远程计算机上,执行以下操作:

  1. 使用以下代码创建一个批处理文件:
    bash
    for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
      %windir%\System32\tscon.exe %%s /dest:console
    )
  2. 创建此文件的桌面快捷方式。为此,请右键单击批处理文件,然后选择 发送到 > 桌面(创建快捷方式)
  3. 在快捷方式属性中,单击 “高级” 并选择 “以管理员身份运行”
  4. 双击远程计算机上的此快捷方式(在 远程桌面连接 窗口中)或在测试开始时调用此批处理文件(前提是测试以管理员身份运行)。

重要笔记

  • tscon 使远程计算机处于解锁状态,这会降低系统安全性。测试运行结束后,您可以使用以下命令锁定计算机:

    bash
    Rundll32.exe user32.dll,LockWorkStation

    注意

    当自动化测试仍在运行时,请勿锁定远程计算机。如果测试需要与 GUI 交互,它们将会失败,因为操作系统将停止绘制 GUI。有关详细信息,请参阅在锁定的计算机上运行测试

  • 如果 rdpclip.exe 进程正在远程计算机上运行,​​并且当您与远程会话断开连接时剪贴板不为空,则 rdpclip.exe进程可能会失败。

    为了避免此问题,您可以在断开会话连接之前终止 rdpclip.exe 进程。