返回

当远程桌面断开时,如何保持 Windows 服务器键盘输入?

windows

在远程桌面断开连接时,防止 Windows 服务器停止键盘输入

在使用远程桌面连接到 Windows 服务器时,当你断开连接时,服务器通常会停止接受键盘输入。这可能给那些依赖宏或脚本自动化任务的人带来不便。本博客文章将探索解决此问题的几种方法。

问题背景

远程桌面连接提供了一种远程管理服务器的便利方式。然而,当连接断开时,服务器上的键盘输入通常会停止,即使脚本或宏仍在运行。这是因为服务器上的某些安全设置和配置阻止了外部输入。

解决方案

1. 启用注册表项

修改注册表可以允许外部程序在远程桌面断开连接后继续发送键盘输入。具体步骤如下:

  1. 打开注册表编辑器 (regedit.exe)。
  2. 导航到以下项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
  3. 在右侧面板中,右键单击并选择“新建”>“DWORD(32 位)值”。
  4. 将其命名为“DisableConsoleInput”,并将其值设置为“1”。

2. 使用键盘模拟软件

键盘模拟软件可以模拟人类键盘输入,从而绕过服务器安全设置。一些流行的选项包括:

  • AutoHotkey
  • NirCmd

3. 使用无头虚拟显示器

无头虚拟显示器可以欺骗服务器,使其认为有一个显示器已连接,即使实际情况并非如此。这将允许键盘输入即使在远程桌面断开后也能继续进行。一些可用的选项包括:

  • Dummy Display
  • VirtualBox Headless

Python 脚本示例

使用 Python 脚本,你可以创建自动键盘输入,即使远程桌面连接已断开。以下是一个示例:

import pyinput

while True:
    pyinput.press('enter')
    time.sleep(10)

其他注意事项

在实施这些解决方案之前,需要考虑以下事项:

  • 确保你的脚本或软件具有发送键盘输入的权限。
  • 某些安全设置可能会阻止外部输入,因此需要相应地调整这些设置。
  • 测试你的解决方案以确保其符合你的要求。

结论

通过遵循本博客文章中概述的步骤,你可以在远程桌面断开连接时继续向 Windows 服务器发送键盘输入。这将使你能够自动化任务并提高工作效率。

常见问题解答

1. 我没有注册表编辑权限,怎么办?

请联系管理员以获得权限或探索替代解决方案,例如使用键盘模拟软件。

2. 键盘模拟软件无效,为什么?

确保软件具有必要的权限,并且没有其他安全设置阻止输入。

3. 无头虚拟显示器是否需要其他配置?

根据你使用的特定软件,可能需要一些额外的配置。请参阅软件的文档以获取详细信息。

4. Python 脚本不起作用,怎么办?

检查脚本是否正确,并确保你使用的是最新版本的 PyUserInput 库。

5. 这些解决方案是否对所有版本的 Windows 服务器有效?

这些解决方案已在 Windows Server 2016 及更高版本上进行测试,但可能适用于其他版本。