如果无法直接访问某台机器,来自 Sysinternals 的 PsExec 是一款非常出色的工具,可用于远程启用远程桌面协议(RDP)PsExec 允许您远程执行命令,因此非常适合这一用途。
为确保信息在 2025 年仍然最新且有效,我已查阅来自 Microsoft Answers 和 Spiceworks 等可信来源的最新用户指南、论坛和讨论。基于真实世界的反馈和最佳实践,本指南反映了使用 PsExec 启用 RDP 的最新且经验证的步骤。
以上内容的前提是 PsExec 已经能够访问目标计算机并通过其身份验证;如果您尚未具备这种访问权限,请跳到下方的 HelpWire 部分。
以下是在 Windows 10、11 和 Server 2022 上远程启用 RDP 的简化分步流程:下载并设置 PsExec,修改注册表以启用 RDP,通过防火墙放行 RDP,调整会话限制(可选)检查或重启远程桌面服务,并在需要时使用 PowerShell 进行高级设置。
现在,让我们继续查看详细指南。
1. 下载并配置 PsExec
-
下载 PsExec 自官方 Sysinternals 网站:Microsoft Learn 上的 PsExec。
-
解压该文件并将其放在例如 C:\Tools\PsExec. 的目录中
-
可选:将 PsExec 添加到系统的 PATH,以便更方便地使用:
• 右键单击 此电脑 > 属性 > 高级系统设置 > 环境变量。
• 在 系统变量 下,找到 Path,并添加 PsExec 所在的目录。
2. 通过注册表编辑器启用 RDP
-
以管理员身份打开命令提示符。
-
运行以下命令以远程修改注册表并启用 RDP:
psexec \\TargetMachineName reg add “HKLM\System\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnections /t REG_DWORD /d 0 /f
3. 允许 RDP 通过 Windows 防火墙
-
运行此命令以启用 RDP 的防火墙规则:
psexec \\TargetMachineName netsh advfirewall firewall set rule group=”remote desktop” new enable=Yes
-
要验证该规则,请运行:
psexec \\TargetMachineName netsh advfirewall firewall show rule name=”remote desktop”
4. 通过注册表配置 RDP 会话限制 (可选)
要增加允许的 RDP 会话的最大数量,请运行:
psexec \\TargetMachineName reg add “HKLM\System\CurrentControlSet\Control\Terminal Server” /v MaxInstanceCount /t REG_DWORD /d 100 /f
5. 检查并重新启动远程桌面服务
-
要检查远程桌面服务是否正在运行:
psexec \\TargetMachineName sc query TermService
-
如果它未在运行,请使用以下命令启动:
psexec \\TargetMachineName sc start TermService
6. 可选:使用 PowerShell 进行高级配置
使用 PowerShell 远程启用 RDP:
psexec \\TargetMachineName powershell -Command “Set-ItemProperty -Path ‘HKLM:\System\CurrentControlSet\Control\Terminal Server’ -Name fDenyTSConnections -Value 0”
7. 如果 PsExec 无法访问该计算机
以上每条命令都假定 PsExec 已经具有到目标计算机的可用路径以及其有效的管理员凭据。如果该计算机在网络上不可达、位于防火墙之后,或者你尚未拥有可用于其的凭据,那么任何 psexec \\\\TargetMachineName 命令都无法运行。
HelpWire 完全绕过了这一点。你无需针对已具有管理员网络访问权限的计算机运行命令,而是向该计算机前的用户发送一个链接;他们批准后,你就可以进入,事先无需可用的凭据或网络路径。会话使用 TLS 和 AES-256 进行端到端加密;无论目标计算机运行 Windows、macOS 还是 Linux,其工作方式都相同。
连接后,你可以直接打开命令提示符或注册表编辑器,运行本指南中完全相同的 fDenyTSConnections 和防火墙命令,只是从会话内部执行,而不是通过网络。当你为已管理的一批设备编写脚本以启用 RDP 时,它不能替代 PsExec;但当你需要处理一台目前尚无法通过其他方式访问的单机时,它是一种更快的进入方式。
结语
在审阅专家讨论和论坛后,我可以确认,这些用于启用 RDP 的 PsExec 方法在 2025 年仍然有效。如果问题仍然存在,请检查网络连通性、权限或组策略设置。对于更大的网络,考虑使用 PowerShell 脚本将该过程自动化,以简化远程桌面管理。