远程桌面协议 (RDP) 是一种流行、简单且方便的连接到远程 Windows 计算机的方法。借助 RDP,您可以完全访问远程计算机的图形桌面环境并使用它,就像它是您自己的本地设备一样。默认情况下,远程桌面在 Windows 和 Windows Server 的桌面版本上均处于禁用状态。在本文中,我们将了解在 Windows 中启用 RDP 的几种方法。
本地启用和禁用远程桌面在 Windows 10 和 11 上启用远程桌面的最直观方法是使用 GUI。您可以启用 RDP:
- 从经典的 SystemPropertiesRemote 控制面板:运行命令 SystemPropertiesRemote 并启用“远程桌面”部分中的“允许远程连接到此计算机”选项;
- 从现代设置面板:运行 ms-settings:remotedesktop 命令并切换选项“远程桌面”:
但是,这需要对要启用 RDP 的计算机进行本地访问。您通常可以向用户询问(需要本地管理员权限)或本地技术支持。但是,如果远程分支机构中没有人可以在本地启用远程桌面怎么办?
让我们看一下允许您在远程主机(服务器或计算机)上远程启用远程桌面 (RDP) 的几种方法,
使用远程注册表启用 RDP您可以使用注册表编辑器在远程计算机上启用远程桌面。这需要:
- 远程计算机必须可通过网络访问;
- 您必须知道远程计算机上具有本地管理员权限的帐户的凭据;
- 远程注册表服务必须在远程计算机上运行(您可以通过 services.msc 管理单元、GPO 或使用命令 sc \RemotePCName start RemoteRegistry 来启用它)。
因此,要通过远程注册表启用远程桌面,请按照下列步骤操作:
- 按Win R组合键,输入regedit.exe>确定;
- 在注册表编辑器中选择“文件”>“连接网络注册表”;
- 指定远程计算机的主机名或 IP 地址。如果远程计算机无法授权您作为当前用户,系统将提示您输入凭据;
- 远程计算机的注册表将出现在注册表编辑器中(只能访问 HKLM 和 HKEY_Users 配置单元);
- 转到远程计算机上的以下注册表项:HKLMSYSTEMCurrentControlSetControlTerminal Server。将 fDenyTSConnections 参数 (Type=REG_DWORD) 的值从 1 更改为 0;
- 如果远程计算机上启用了防火墙,则必须启用允许远程桌面连接的规则。您可以通过 GPO、PowerShell Remoting 或使用 PsExec 启用它(请查看本指南的下一部分)。
您可以使用 PsExec cmd 工具在远程 Windows 设备上启用远程桌面。
从 Microsoft 网站下载 PsExec 工具包,并将 PSTools.zip 存档解压到本地文件夹。
以管理员身份打开命令提示符并转到 PSTools 目录:
CD c:PSPStools
要使用 PSExec 在域中的远程计算机上启用 RDP,请运行以下命令:
PsExec.exe /accepteula \RemoteComputerName_or_IP reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
然后在 Windows Defender 防火墙中启用访问 RDP 端口的规则:
PsExec.exe /accepteula \RemoteComputerName_or_IP netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
如果远程计算机位于不同的域或工作组中,您可以提供具有管理员权限的用户名来连接到远程计算机:
PsExec.exe /accepteula \RemoteComputerName_or_IP -u administrator reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
然后允许到 RDP 端口 (3389/TCP) 的入站连接:
PsExec.exe /accepteula \RemoteComputerName_or_IP -u administrator netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
现在尝试通过 RDP 连接到远程计算机。
使用 PowerShell 远程启用远程桌面要远程启用 RDP,您需要在远程计算机上配置并运行 WinRM 服务(Windows 远程管理)。从 Windows Server 2012 开始,WinRM 服务在所有版本的 Windows Server 中默认启用。但是,WinRM 在客户端操作系统(例如 Windows 10 或 11)中默认禁用。
您可以使用 GPO 或在本地使用 PowerShell 在加入域的计算机上启用 WinRM。在 Windows 10/11 上本地启用 WinRM 服务并允许通过 PowerShell 远程处理进行访问的最简单方法是使用以下命令:
Enable-PSRemoting
WinRM 已更新以接收请求。
WinRM 服务类型更改成功。
WinRM 服务已启动。
接下来,您需要检查远程计算机上是否启用了 WinRM,以及是否允许 PSRemoting 连接。运行命令:
Test-WsMan 192.168.31.102
如果远程计算机上的 WinRM 服务响应,您将收到以下响应: