远程桌面无法连接到远程计算机 - Windows Server

远程桌面无法连接到远程计算机 - Windows Server

本文有助于排查连接到远程计算机时出现的错误。

使用直接远程桌面协议(RDP)连接连接到 Windows 计算机时,连接失败,并出现以下错误之一。 该错误发生在在远程桌面连接应用程序上输入凭据之前或之后。

出于以下某种原因,远程桌面无法连接到远程计算机:

1) 未启用对服务器的远程访问

2) 远程计算机已关闭

3) 远程计算机在网络上不可用

请确保远程计算机已打开并已连接到网络,并且已启用远程访问。

此计算机无法连接到远程计算机。

请再次尝试连接。 如果问题持续出现,请与远程计算机的所有者或网络管理员联系。

有多种可能的根本原因,但主要原因为 RDP-TCP 侦听器不起作用,网络配置不正确。

验证错误是否与计算机的状态或性能相关

首先,检查计算机是否正在运行。 如果它正在运行并且具有主机访问权限(例如物理计算机的集成灯出(iLO),或者虚拟机的 Hyper-V 控制台),请测试如何通过它连接到计算机。 如果成功,请继续 验证错误是否与 RDP-TCP 侦听器相关。

在以下情况下,请联系Microsoft 支持部门获取进一步帮助:

无法使计算机处于运行状态。

计算机处于运行状态,但主机对计算机的访问失败。

验证错误是否与 RDP-TCP 侦听器相关

qwinsta运行该命令以验证 RDP-TCP 侦听器是否在运行 RDP 连接。

C:\Windows\System32>qwinsta

SESSIONNAME USERNAME ID STATE TYPE DEVICE

services 0 Disc

>console 1 Active

rdp-tcp 65536 Listen

如果输出列表包含 rdp-tcp 处于状态的 Listen 行,则 RDP-TCP 侦听器正在运行。 继续验证错误是否与网络相关。

否则,请使用以下方法来排查该问题。

检查注册表配置

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表。

打开注册表编辑器并确保按如下所示设置这些键:

DWORD 值 fEnableWinStation 的值为 1。

默认路径:Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp

DWORD 值 fDenyTSConnections 的值为 0。

默认路径:Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

策略路径(如果配置了策略): Computer\HKEY\_LOCAL\_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

备注

策略会替代默认配置,应使用 gpedit.msc (本地)或 gpmc.msc (域级别)进行配置。

如果同时配置了策略和默认值,请确保两个 fDenyTSConnections 值都设置为 0,以避免可能的侦听器问题。

检查服务

确保以下服务正在运行:

远程桌面服务(TermService)。

远程桌面服务 UserMode 端口重定向器(UmRdpService)。

如果任何服务无法启动,请联系Microsoft 支持部门获取进一步帮助。

检查权限

将网络服务添加到受影响计算机上的本地管理员组,并在提升的会话上运行以下 PowerShell cmdlet:

Add-LocalGroupMember -Group Administrators -Member "Network Service"

之后,重启远程桌面服务服务(TermService)。

检查 sysprep 状态

通过打开注册表编辑器并检查以下键,确保计算机未处于 Sysprep 状态:

Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\Setup

DWORD 值 SystemSetupInProgress 和 OOBEInProgress 均设置为 0。

替换 RDP-TCP 子项

在同一 Windows 版本正常运行的计算机上导出以下子项:

Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

备份受影响计算机上的现有密钥。 然后,将其删除,并将其替换为从正常运行的计算机导出的子项。

备注

无法使用删除子项通过 RDP RDP-Tcp 访问计算机。

请联系 Microsoft 支持

如果上述步骤无法解决 RDP-TCP 侦听器无法正常工作的问题,请联系Microsoft 支持部门获取进一步帮助。

验证错误是否与网络相关

如果 RDP-TCP 侦听器正常工作,请使用以下步骤检查是否可以通过控制台会话连接到服务器(例如,物理计算机的 iLO 或虚拟机的 Hyper-V 控制台):

在“运行”框中键入 mstsc 以打开远程桌面连接应用程序。

在远程桌面连接应用程序中,在“计算机”框中键入 localhost,然后选择“连接”。

如果错误仍然存在,则服务器出现问题。 转到 验证计算机的配置和角色。

如果错误不再发生,则可能与网络相关,并且可能会进一步排查以下步骤的问题。

备注

上述测试仅在 Windows Server 计算机上可用,可能并非在所有场合(例如 Azure 虚拟机)可用。

如果不可用或可能,请从同一网络中的计算机测试与 Test-NetConnection cmdlet 的连接。

若要确认连接问题,请从同一网络中的计算机运行以下步骤:

打开提升的 PowerShell 窗口,并运行以下 cmdlet:

Test-NetConnection -ComputerName -port 3389 -InformationLevel Detailed

在输出列表中,如果是TcpTestSucceededTrue,则表示没有连接问题。 转到 验证计算机的配置和角色。

False如果是TcpTestSucceeded,则表示连接问题。 转到下一步。

检查默认 RDP 端口

打开注册表编辑器,确保按如下所示设置以下键:

Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp

DWORD 值 PortNumber 具有值 0x00000d3d (3389)。

如果值不同,远程桌面连接应使用 hostname:port 或 IPaddress:port 作为计算机名称。

检查域名系统(DNS)解析

如果使用计算机的主机名时连接失败,请尝试使用其 IP 地址进行连接。

如果连接适用于 IP 地址,则问题可能与名称解析相关。

如果连接也因 IP 地址而失败,请继续执行下一个故障排除步骤。

检查防火墙或网络安全组配置

检查防火墙规则是否允许 RDP 访问计算机,或者防火墙是否已禁用。

打开 wf.msc,选择 入站规则 并查找 远程桌面 - 用户模式 (TCP-In) 和 远程桌面 - 用户模式 (UDP-In) 。 请确保它们已启用到所有配置文件。

可以在提升的会话上使用以下 PowerShell cmdlet 获得相同的结果:

Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Set-NetFirewallRule -Enabled True

若要排除防火墙,可以使用 PowerShell cmdlet 禁用它:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

如果其他网络元素限制流量,则应检查它们。

使用 Azure 云时,检查网络安全组(NSG)是否已配置为允许 RDP 连接到子网或网络接口卡(NIC)。 如果将 标准 SKU 用于公共 IP 地址,则 NSG 是必需的。

检查防病毒(AV)

防病毒可能会对与计算机的 RDP 连接产生负面影响。 如果可能,请禁用 AV 服务并测试连接。

若要完全排除 AV 作为根本原因,请将其卸载并重启计算机。

请联系 Microsoft 支持

如果上述步骤无法解决问题,RDP-TCP 侦听器正在工作,并且连接测试结果为False,请联系Microsoft 支持部门以获取进一步帮助。

验证计算机的配置和角色

如果 RDP-TCP 侦听器正常工作,并且与计算机的连接测试结果是 True,则应检查与计算机进程、角色或配置相关的其他方案。

使用默认 RDP 端口检查并发进程

在提升的命令提示符或 PowerShell 窗口中运行以下命令,并确保在端口 3389 上侦听的进程 ID (PID) TermService 匹配:

tasklist /svc | findstr TermService

netstat -anob | findstr 3389

例如, TermService 使用 PID 820 侦听端口 3389。

C:\Windows\System32>tasklist /svc | findstr TermService

svchost.exe 820 TermService

C:\Windows\System32>netstat -anob | findstr 3389

TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 820

TCP [::]:3389 [::]:0 LISTENING 820

UDP 0.0.0.0:3389 *:* 820

UDP [::]:3389 *:* 820

如果 PID 不匹配,请查找正在侦听端口 3389 的进程并停止它。 然后,重启远程桌面服务服务(TermService)。

检查远程桌面自签名证书

按照以下步骤检查是否可以重新创建远程桌面自签名证书:

打开“证书”Microsoft管理控制台(MMC)管理单元。 当系统提示你选择要管理的证书存储时,请选择 “计算机帐户”,然后选择受影响的计算机。

在“远程桌面”下的“证书”文件夹中,删除 RDP 自签名证书。

在受影响的计算机上重启远程桌面服务服务。

刷新证书管理单元。

如果未重新创建 RDP 自签名证书,请转到 远程桌面自签名证书。

如果重新创建 RDP 自签名证书,请转到下一步。

检查远程桌面服务(RDS)角色

检查是否已在 服务器管理器>Manage>Remove Roles and Features>Server Roles Remote Desktop Services 上安装不必要的 RDS 角色。 -

如果安装了不必要的角色,请取消选中相应的框,然后继续删除它们(例如远程桌面连接代理角色)。 最后重启计算机。

如果满足以下条件,RDS 部署中具有远程桌面连接代理角色的计算机仍可能会遇到此问题:

检查远程桌面连接代理服务(TSSDis)是否正在运行。

在计算机管理(compmgmt.msc)管理单元中,系统工具>本地用户和组组>RDS 终结点服务器组>必须包含 NT AUTHORITY\NETWORK SERVICE 帐户。

请联系 Microsoft 支持

如果上述步骤无法解决问题,RDP-TCP 侦听器正在工作,并且连接测试结果为True,请联系Microsoft 支持部门以获取进一步帮助。

相关文章

狄姓起源和来历:源自商朝阏伯的母亲-狄(以母名为姓)
365体育封号怎么办

狄姓起源和来历:源自商朝阏伯的母亲-狄(以母名为姓)

📅 07-31 🔍 3215
iPhone 15 更换电池多少钱
365bet在线体育投注

iPhone 15 更换电池多少钱

📅 07-24 🔍 3050
轻松掌握Windows 10管理员账户设置:一步到位教程,告别操作难题!