解决远程桌面断开连接错误

本文帮助你了解在企业环境中建立远程桌面会话最常用的设置,并提供远程桌面断开连接错误的疑难解答信息。

适用于: Windows Server 2012 R2
原始 KB 编号: 2477176

注意

本文适用于支持代理和 IT 专业人员。

远程桌面服务

远程桌面会话主机服务器是托管基于 Windows 的程序或远程桌面服务客户端的完整 Windows 桌面的服务器。 用户可以连接到 RD 会话主机服务器来运行程序、保存文件以及使用该服务器上的网络资源。 用户可以从企业网络内部或从 Internet 访问 RD 会话主机服务器。

远程桌面会话主机(RD 会话主机)以前称为远程桌面服务器角色服务,远程桌面会话主机(RD 会话主机)服务器以前称为远程桌面服务器。

用于管理的远程连接

远程桌面支持到计算机的两个并发远程连接。 对于这些连接,你不必拥有远程桌面服务客户端访问许可证 (RDS CALs)。

若要允许两个或多个管理连接或多个用户连接,必须安装 RD 会话主机角色并拥有相应的 RDS CAL。

症状 1:有限的远程桌面会话或远程桌面服务会话连接

当你尝试将远程桌面连接 (RDC) 连接到远程计算机或运行 Windows Server 2008 R2 的远程桌面服务器 (终端服务器) 时,将收到以下错误消息之一:

远程桌面已断开连接。
此计算机无法连接到远程计算机。
尝试再次连接。 如果问题继续出现,请与远程计算机的所有者或网络管理员联系。

此外,可以同时连接到远程桌面会话或远程桌面服务会话的用户数受到限制。 远程桌面服务配置中的组策略或 RDP-TCP 属性配置有误,导致 RDP 连接的数量有限。 默认情况下,连接配置为允许无限数量的会话连接到服务器。

症状 2:端口分配冲突

你遇到端口分配冲突。 此问题可能表明远程桌面服务器上的另一个应用程序正在使用与远程桌面协议l (RDP) 相同的 TCP 端口。 分配给 RDP 的默认端口为 3389。

症状 3:未正确配置身份验证和加密设置

远程桌面服务器客户端失去与远程桌面服务器的连接后,你遇到以下症状之一:

  • 不能使用 RDP 建立连接。
  • 远程桌面服务器的会话不会转换到断开连接的状态。 相反,即使客户端与远程桌面服务器从物理层面上断开连接,它仍保持活动状态。

如果客户端重新登录到同一远程桌面服务器,可能会建立一个新会话,并且原始会话可能保持活动状态。

此外,你会收到以下错误消息之一:

  • 错误消息 1

    由于安全错误,客户端无法连接到终端服务器。 在确保你已登录到网络后,请尝试再次连接到服务器。

  • 错误消息 2

    远程桌面已断开连接。 由于安全错误,客户端无法连接到远程计算机。 验证你是否已登录到网络,然后再次尝试连接。

症状 4:许可证证书损坏

远程桌面服务客户端反复被拒绝访问远程桌面服务器。 如果使用远程桌面服务客户端登录远程桌面服务器,可能会收到以下错误消息之一。

  • 错误消息 1

    由于安全错误,客户端无法连接到终端服务器。 在确保你已登录到网络后,请尝试再次连接到服务器。

  • 错误消息 2

    远程桌面已断开连接。 由于安全错误,客户端无法连接到远程计算机。 验证你是否已登录到网络,然后再次尝试连接。

  • 错误消息 3

    由于安全错误,客户端无法连接到终端服务器。 在确保你已登录到网络后,请尝试再次连接到服务器。
    远程桌面已断开连接。 由于安全错误,客户端无法连接到远程计算机。 验证你是否已登录到网络,然后再次尝试连接。

此外,以下事件 ID 消息可能会记录在远程桌面服务器的事件查看器中。

  • 事件消息 1

    Event ID: 50  
    Event Source: TermDD  
    Event Description: The RDP protocol component X.224 detected an error in the protocol stream and has disconnected the client.
    
  • 事件消息 2

    Event ID: 1088
    Event Source: TermService
    Event Description: The terminal services licensing grace period has expired and the service has not registered with a license server. A terminal services license server is required for continuous operation. A terminal server can operate without a license server for 90 days after initial start up.
    
  • 事件消息 3

    Event ID: 1004  
    Event Source: TermService  
    Event Description: The terminal server cannot issue a client license.
    
  • 事件消息 4

    Event ID: 1010  
    Event Source: TermService  
    Event Description: The terminal services could not locate a license server. Confirm that all license servers on the network are registered in WINS/DNS, accepting network requests, and the Terminal Services Licensing Service is running.
    
  • 事件消息 5

    Event ID: 28  
    Event Source: TermServLicensing  
    Event Description: Terminal Services Licensing can only be run on Domain Controllers or Server in a Workgroup. See Terminal Server Licensing help topic for more information.
    

症状 1 的解决方案

若要解决此问题,请使用以下相应的方法。

请验证是否已启用远程桌面。

  1. 打开控制面板中的系统项。 若要启动系统工具,请单击“开始”,单击“控制面板”,单击“系统”,然后单击“确定”

  2. 在“控制面板主页”下,单击“远程设置”

  3. 单击“设置”选项卡。

  4. 在“远程桌面”下,根据你的安全要求选择任一可用选项:

    • 允许来自运行任何版本远程桌面的计算机的连接(安全性较低)

    • 仅允许从运行具有网络级身份验证的远程桌面的计算机进行连接(更安全)

如果在“远程”选项卡上选择“不允许连接到此计算机”,则任何用户都将无法远程连接到此计算机,即使他们是远程桌面用户组的成员。

验证远程桌面服务限制连接数策略

  1. 启动组策略管理单元,然后打开本地安全策略或相应的组策略。

  2. 找到以下命令:

    本地计算机策略>计算机配置>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>限制连接数

  3. 单击“启用”

  4. 在“允许的 RD 最大连接数”框中,键入你想允许的最大连接数,然后单击“确定”

验证远程桌面服务 RDP-TCP 属性

请按照以下步骤操作,具体取决于操作系统版本。

通过远程桌面服务配置进行设置

配置允许连接的并发远程连接数:

  1. 在 RD 会话主机服务器上,打开“远程桌面会话主机配置”。 要打开“远程桌面会话主机配置”,请单击“开始”, 指向“管理工具”,指向“远程桌面服务”

  2. 在“连接”下,右键单击连接的名称,然后单击“属性”

  3. 在“网络适配器”选项卡上,单击“最大连接数”,输入允许进行同时远程连接的数量,然后单击“确定”

  4. 如果选择了“最大连接数”选项并灰显,则启用“限制连接数”组策略设置,且应用于 RD 会话主机服务器。

验证远程桌面服务登录权限

配置远程桌面用户组。

RD 会话主机服务器上远程桌面用户组授予用户和组远程连接到 RD 会话主机服务器的权限。 可以使用以下工具将用户和组添加到远程桌面用户组:

  • 本地用户和组管理单元
  • RD 会话主机服务器上的系统属性对话框中的远程选项卡
  • Active Directory 用户和计算机管理单元(如果 RD 会话主机服务器安装在域控制器上)

可使用以下步骤在 RD 会话主机服务器上使用“系统属性”对话框中的“远程”选项卡将用户和组添加到远程桌面用户组。

在你计划配置的 RD 会话主机服务器上,本地管理员组成员或(或等效身份)是完成此步骤所需的最低要求。

使用“远程”选项卡将用户和组添加到远程桌面用户组

  1. 启动系统工具。 为此,请单击“开始”,单击“控制面板”,单击“系统”图标,然后单击“确定”

  2. 在“控制面板主页”下,单击“远程设置”

  3. 在“系统属性”对话框的“远程”选项卡上,单击“选择用户”。 使用远程桌面添加必须连接到 RD 会话主机服务器的用户或组。

注意

如果在“远程”选项卡上,选择“不允许连接到此计算机”选项,则任何用户都将无法远程连接到此计算机,即使他们是远程桌面用户组的成员。

使用“本地用户和组”管理单元将用户和组添加到远程桌面用户组

  1. 单击“开始”,单击“管理工具”,然后单击“计算机管理”
  2. 在控制台树中,单击“本地用户和组” 节点。
  3. 在详细信息窗格中,双击“组”文件夹。
  4. 双击“远程桌面用户”,然后单击“添加”
  5. 在“选择用户” 对话框中,单击“位置”以指定搜索位置。
  6. 单击 “对象类型”以指定要搜索的对象类型。
  7. 在“输入要选择的对象名称(示例)”框中,键入要添加的名称。
  8. 单击“检查名称”
  9. 找到该名称后,单击“确定”

注意

  • 无法连接到正在睡眠或休眠的计算机,因此请确定远程电脑上的睡眠和休眠设置被设定为“永不”。 (并非所有计算机都支持休眠。)有关进行这些更改的信息,请参见更改、创建或删除电源计划(方案)。
  • 你无法使用远程桌面连接连接到使用 Windows 7 简易版、Windows 7 家庭普通版或 Windows 7 家庭高级版的计算机。
  • 即使本地管理员组的成员未列出,也可以进行连接。

症状 2 的解决方案

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows 中的注册表

若要解决此问题,请确定哪个应用程序正在使用与 RDP 相同的端口。 如果无法更改该应用程序的端口分配,请通过更改注册表更改分配给 RDP 的端口。 更改注册表后,必须重新启动远程桌面服务。 重新启动远程桌面服务后,应验证 RDP 端口是否正确更改。

远程桌面服务器侦听器可用性

侦听器组件在远程桌面服务器上运行,负责侦听并接受新的远程桌面协议 (RDP) 客户端连接,从而允许用户在远程桌面服务器上建立新的远程会话。 远程桌面服务器上存在每个远程桌面服务连接的侦听器。 可以使用远程桌面服务配置工具创建和配置连接。

若要执行这些任务,请参阅以下部分。

确定哪个应用程序正在使用与 RDP 相同的端口

你可以运行 netstat 工具来确定远程桌面服务器上的另一个应用程序是否正在使用端口 3389(或分配的 RDP 端口):

  1. 在远程桌面服务器上,单击“开始”,单击“运行”,键入“命令”,然后单击“确定”
  2. 在命令提示符处,键入netstat -a -o,然后按 Enter。
  3. 查找 TCP 端口 3389(或分配的 RDP 端口)的条目,该端口的状态为正在侦听。 这说明另一个应用程序正在使用此端口。 使用该端口的进程或服务的 PID(进程标识符)显示在 PID 列下。

若要确定哪些应用程序正在使用端口 3389 (或分配的 RDP 端口) ,请使用 tasklist 命令行工具以及 netstat 工具中的 PID 信息:

  1. 在远程桌面服务器上,单击“开始”,单击“运行”,键入“命令”,然后单击“确定”
  2. 键入 tasklist /svc,然后按 Enter。
  3. 查找与端口关联的 PID 号条目(从 netstat 输出)。 与该 PID 相关联的服务或进程出现在右侧。

更改分配给 RDP 的端口

你应确定此应用程序是否可以使用不同的端口。 如果无法更改应用程序的端口,则必须更改分配给 RDP 的端口。

重要

建议你不要更改分配给 RDP 的端口。

如果必须更改分配给 RDP 的端口,则必须更改注册表。 要执行该过程,你必须是本地计算机上 Administrators 组的成员,或者你必须被委派了适当的权限。

若要更改分配给 RDP 的端口,请按照以下步骤操作:

  1. 在远程桌面服务器上,打开注册表编辑器。 要打开注册表编辑器,请依次单击“开始”、“运行”,键入 regedit,然后单击“确定”

  2. 如果出现“用户帐户控制”对话框,请确认此操作是你需要的,然后单击“继续”

  3. 找到并单击下面的注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Remote Desktop server\WinStations

RDP-TCP 是默认连接名称。 若要更改远程桌面服务器上特定连接的端口,请选择 WinStations 键下的连接:

  1. 在详细信息窗格中,双击 PortNumber 注册表项。
  2. 键入要分配给 RDP 的端口号。
  3. 单击“确定”保存更改,然后关闭注册表编辑器。

重新启动远程桌面服务

若要使 RDP 端口分配更改生效,请停止并启动远程桌面服务。 要执行该过程,你必须是本地计算机上 Administrators 组的成员,或者你必须被委派了适当的权限。

若要停止和启动远程桌面服务,请按照以下步骤操作:

  1. 在远程桌面服务器上,打开“服务”管理单元。 为此,请单击“开始”,指向“管理工具”,然后单击“服务”

  2. 如果出现“用户帐户控制”对话框,请确认此操作是你需要的,然后单击“继续”

  3. 在“服务”窗格中,右键单“远程桌面服务” ,然后单击“重启”

  4. 如果系统提示你重启其他服务,请单击“是”

  5. 验证远程桌面服务的“状态”列是否显示“已启动”状态。

验证 RDP 端口已更改

若要验证 RDP 端口分配已更改,请使用 netstat 工具:

  1. 在远程桌面服务器上,单击“开始”,单击“运行”,键入“命令”,然后单击“确定”

  2. 在命令提示符处,键入 netstat -a,然后按 Enter。

  3. 查找分配给 RDP 的端口号条目。 端口应显示在列表中,并且状态为“正在侦听”

重要

默认情况下,远程桌面连接和终端服务器 Web 客户端使用端口 3389 连接到远程桌面服务器。 如果更改远程桌面服务器的 RDP 端口,则必须修改远程桌面连接和远程桌面服务器 Web 客户端使用的端口。 有关详细信息,请参阅 更改计算机上远程桌面的侦听端口

验证远程桌面服务器上侦听器是否正常工作

若要验证远程桌面服务器上侦听器是否正常工作,请使用以下任一方法。

注意

RDP-TCP 是默认连接名称,3389 是默认 RDP 端口。 使用特定于远程桌面服务器配置的连接名称和端口号。

  • 方法 1

    使用 RDP 客户端(如远程桌面连接)建立与远程桌面服务器的远程连接。

  • 方法 2

    使用 qwinsta 工具查看远程桌面服务器上侦听器的状态:

    1. 在远程桌面服务器上,单击“开始”,单击“运行”,键入“命令”,然后单击“确定”
    2. 在命令提示符处,键入 qwinsta,然后按 Enter 键。
    3. RDP-TCP 会话状态应为 Listen
  • 方法 3

    使用 netstat 工具查看远程桌面服务器上侦听器的状态:

    1. 在远程桌面服务器上,单击“开始”,单击“运行”,键入“命令”,然后单击“确定”
    2. 在命令提示符处,键入 netstat -a,然后按 Enter。
    3. TCP 端口 3389 的条目应为 侦听
  • 方法 4

    使用 telnet 工具连接到远程桌面服务器的 RDP 端口:

    1. 从另一台计算机,单击“开始”,单击“运行”,键入 cmd,然后单击“确定”
    2. 在命令提示符下,键入 telnet <servername> 3389 ,其中 <servername> 是远程桌面服务器的名称,然后按 Enter。

    如果 telnet 成功,则会收到 telnet 屏幕和光标。

    如果 telnet 不成功,你会收到以下错误消息:

    正在连接到服务器名称...在端口 3389 上无法打开与主机的连接:连接失败

    qwinsta、netstat 和 telnet 工具也包含在 Windows XP 和 Windows Server 2003 中。 你还可以下载和使用其他疑难解答工具,如 Portqry。

症状 3 的解决方案

若要解决此问题,请配置身份验证和加密。

若要为连接配置身份验证和加密,请按照以下步骤操作:

  1. 在 RD 会话主机服务器上,打开“远程桌面会话主机配置”。 若要打开“远程桌面会话主机配置”,请单击“开始”,指向“管理工具”,指向“远程桌面服务”,然后单击“远程桌面会话主机配置”

  2. 在“连接”下,右键单击连接的名称,然后单击“属性”

  3. 在连接的“属性”对话框中,在“常规”选项卡上的“安全层”中,选择安全方法。

  4. 在“加密级别”中,单击你需要的级别。 可以选择“低”、“客户端兼容”、“高”或“FIPS 兼容”。 请参阅上面的步骤 4,了解 Windows Server 2003安全层加密级别选项。

注意

  • 要执行该过程,您必须是本地计算机上 Administrators 组的成员,或者您必须被委派了适当的权限。 如果计算机已加入某个域,则 Domain Admins 组的成员可能会执行该过程。 作为安全性最佳操作,请考虑使用“运行方式”执行此过程。
  • 要打开“远程桌面服务配置”,请依次单击“开始”和“控制面板”,双击“管理工具”,然后双击“远程桌面服务配置”
  • 在组策略中配置的任何加密级别设置将覆盖使用远程桌面服务配置工具设置的配置。 此外,如果启用系统加密:使用符合 FIPS 算法进行加密、哈希和签名组策略设置,则此设置将覆盖“设置客户端连接加密级别”组策略设置。
  • 更改加密级别时,新的加密级别在用户下次登录时生效。 如果在一台服务器上需要多个级别的加密,请安装多个网络适配器并单独配置每个适配器。
  • 若要验证证书是否具有相应的私钥,请在“远程桌面服务配置”中,右键单击要查看其证书的连接,单击“常规”选项卡,单击“编辑”,单击要查看的证书,然后单击“查看证书”。 在“常规选项卡”底部,应显示你具有对应于此证书的私钥语句。 你还可以使用证书管理单元查看此信息。
  • 符合 FIPS 的设置(系统加密:在组策略中使用符合 FIPS 的算法进行加密、哈希和签名设置,或在远程桌面服务器配置中使用符合 FIPS 的设置)对从客户端发送到服务器以及从服务器发送到客户端的数据进行加密和解密(使用联邦信息处理标准 (FIPS) 140-1 加密算法和 Microsoft 加密模块)。 有关详细信息,请参阅 Windows Server 2003 中的终端服务技术参考
  • “高”设置使用强 128 位加密对从客户端发送到服务器以及从服务器发送到客户端的数据进行加密。
  • “客户端兼容”设置以客户端支持的最大密钥强度对客户端和服务器之间发送的数据进行加密。
  • “低”设置使用 56 位加密对从客户端发送到服务器的数据进行加密。

其他疑难解答步骤:启用 CAPI2 事件日志

若要帮助解决此问题,请同时在客户端和服务器计算机上启用 CAPI2 事件日志。 该命令显示在下面的屏幕截图中。

展开 CAPI2,右键单击“操作”,然后选择“启用日志”选项。

针对症状 3 中描述的问题的解决方法(无法完全断开远程桌面服务器连接)

若要解决此问题,请按照下列步骤操作:

  1. 依次单击“开始”、“运行”,键入 gpedit.msc,然后单击“确定”
  2. 展开“计算机配置”,展开“管理模板”,展开“Windows组件”,展开“远程桌面服务”,展开“远程桌面会话主机”,然后单击“连接”
  3. 在右窗格中,双击“配置保持连接间隔”
  4. 单击“启用”,然后单击“确定”
  5. 关闭组策略对象编辑器,单击“确定”,然后退出“Active Directory 用户和计算机”。

症状 4 的解决方案

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅 322756 如何备份和还原 Windows 中的注册表

若要解决此问题,请备份然后删除 X509 证书 注册表项,重新启动计算机,然后重新激活远程桌面服务许可服务器。 为此,请按照下列步骤操作。

注意

在每个远程桌面服务器上执行以下步骤。

  1. 确保已成功备份远程桌面服务器注册表。

  2. 启动注册表编辑器。

  3. 找到并单击下面的注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM

  4. 在“注册表”菜单上,单击“导出注册表文件”

  5. 在“文件名”框中键入 exported-Certificate,然后单击“保存”

    注意

    如果以后必须还原此注册表子项,请双击在此步骤中保存的 Exported-parameters.reg 文件。

  6. 右键单击以下每个值,单击“删除”,然后单击“是”以验证删除:

    • 证书
    • X509 证书
    • X509 证书 ID
    • X509 Certificate2
  7. 退出注册表编辑器,然后重启计算机。

References

有关远程桌面网关的更多信息,请参见以下文章:

如果本文没有帮助你解决问题,或者你遇到与本文中描述的症状不同的症状,请访问 Microsoft 支持,以获取更多信息。 若要搜索你的问题,在“搜索帮助支持”框中,键入你收到的错误消息的文本,或键入问题说明。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照 使用 TSS 收集用户体验问题中的信息中所述的步骤收集信息。