远程桌面断开连接或无法连接到运行 Windows Server 2003 (终端服务器) 的远程计算机或远程桌面服务器

本文可帮助你了解影响在企业环境中建立终端服务会话的最常见设置。

适用于: Windows Server 2003
原始 KB 编号: 2477023

终端服务器

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

用于管理目的的远程Connections

终端服务支持与计算机的两个并发远程连接。 这些连接不需要终端服务客户端访问许可证 (TS CAL) 。

若要允许两个以上的管理连接或多个用户连接,必须安装终端服务角色并具有相应的 TS CAL。

排查建立终端服务会话的问题

以下部分介绍可能遇到的问题并提供解决方案。

可以同时连接到终端服务会话的用户数可能会受到限制

由于终端服务配置中的组策略配置错误或 RDP-Tcp 属性,RDP 连接数有限。 默认情况下,连接配置为允许无限数量的会话连接到服务器。 尝试 (RDC) 建立远程桌面连接时,会出现以下错误:

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

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

  1. 启动系统工具。 若要启动系统工具,请单击“开始>控制面板>系统图标”,然后单击“确定”。
  2. 单击“远程”选项卡。在“远程桌面”下,单击“在此计算机上启用远程桌面检查”框。

验证终端服务 限制连接数 策略

  1. 启动组策略管理单元,打开本地安全策略或相应的组策略
  2. 导航到位置: 本地计算机策略>计算机配置>管理模板>Windows 组件>终端服务限制连接数
  3. 单击“启用”
  4. 在“允许的 TS 最大Connections”框中,键入要允许的最大连接数,然后单击“确定”。

验证终端服务 RDP-Tcp 属性,并通过终端服务配置进行设置

  1. 单击“开始”,单击“控制面板”,双击“管理工具”,然后双击“终端服务配置”。
  2. 在控制台树中,单击“Connections”。
  3. 在详细信息窗格中,右键单击要为其指定最大会话数的连接,然后单击“ 属性”。
  4. 在“ 网络适配器 ”选项卡上,单击“ 最大连接数”,键入可连接到服务器的最大会话数,然后单击“ 应用”。

验证终端服务登录权限并配置远程桌面用户组

终端服务器上的远程桌面用户组用于授予用户和组远程连接到终端服务器的权限。

可通过以下方式将用户和组添加到远程桌面用户组:

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

可以使用以下过程将用户和组添加到远程桌面用户组,方法是使用终端服务器上的“系统属性”对话框中的“远程”选项卡。

计划配置的终端服务器上本地管理员组中的成员身份或等效成员身份是完成此过程所需的最低要求。

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

  1. 启动系统工具。 若要启动系统工具,请单击“开始>控制面板>系统图标”,然后单击“确定”。
  2. 在“ 系统属性 ”对话框中的“ 远程 ”选项卡上,单击“ 选择远程用户”。 添加需要连接到终端服务器的用户或组。 添加的用户和组将添加到远程桌面用户组。

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

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

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

注意

  • 无法连接到处于睡眠或休眠状态的计算机,因此请确保远程计算机上的睡眠和休眠设置设置为“从不”。 (并非所有计算机都支持休眠。)有关进行这些更改的信息,请参见更改、创建或删除电源计划(方案)。
  • 即使本地管理员组的成员未列出,也可以进行连接。

可能存在端口分配冲突

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

若要解决此问题,请确定哪个应用程序使用与 RDP 相同的端口。 如果无法更改该应用程序的端口分配,请通过编辑注册表来更改分配给 RDP 的端口。 编辑注册表后,必须重启终端服务服务。 重启终端服务服务后,应确认 RDP 端口已正确更改。

终端服务器侦听器可用性

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

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

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

可以运行 netstat 工具来确定端口 3389 (,还是终端服务器上的另一个应用程序正在使用分配的 RDP 端口) 。

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

若要确定哪个应用程序正在使用端口 3389 (或分配的 RDP 端口) ,请使用任务列表命令行工具以及来自 netstat 工具的 PID 信息。

  1. 在终端服务器上,依次单击“ 开始”和“ 运行”,键入 cmd,然后单击“ 确定”。
  2. 键入 tasklist /svc ,然后按 Enter。
  3. 查找与端口关联的 PID 号条目(从 netstat 输出)。 与该 PID 关联的服务或进程将显示在右侧。

更改分配给 RDP 的端口

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

重要

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

如果必须更改分配给 RDP 的端口,则必须编辑注册表。

若要执行此过程,必须具有本地 Administrators 组中的成员身份,或者必须已委派相应的权限。

若要更改分配给 RDP 的端口,请执行以下步骤:

警告

不正确地编辑注册表可能会对系统造成严重损坏。 在对注册表进行更改之前,应备份任何值数据。

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

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

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations

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

  1. 在右窗格中,双击 PortNumber 注册表项。
  2. 在“值数据”框中键入要分配给 RDP 的端口号。 PortNumber 作为十六进制值输入。
  3. 单击“确定”保存更改,然后关闭注册表编辑器。
  4. 重启终端服务器。

确认 RDP 端口已更改

若要确认 RDP 端口分配已更改,请使用 netstat 工具。

  1. 在终端服务器上,依次单击“ 开始”和“ 运行”,键入 cmd,然后单击“ 确定”。
  2. 在命令提示符下,键入 netstat -a ,然后按 Enter。
  3. 查找分配给 RDP 的端口号条目。 端口应显示在列表中,并且状态为“正在侦听”。

默认情况下,远程桌面连接和终端服务器 Web 客户端使用端口 3389 连接到终端服务器。 如果更改终端服务器上的 RDP 端口,则需要修改远程桌面连接和终端服务器 Web 客户端使用的端口。

验证终端服务器上的侦听器是否正常工作

注意

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

  • 方法 1:使用 RDP 客户端(如远程桌面连接)与终端服务器建立远程连接。

  • 方法 2:使用 qwinsta 工具查看终端服务器上的侦听器状态。

    1. 在终端服务器上,依次单击“ 开始”和“ 运行”,键入 cmd,然后单击“ 确定”。
    2. 在命令提示符下,键入 qwinsta ,然后按 Enter。
    3. RDP-TCP 会话状态应为 Listen
  • 方法 3:使用 netstat 工具查看终端服务器上的侦听器状态。

    1. 在终端服务器上,依次单击“ 开始”和“ 运行”,键入 cmd,然后单击“ 确定”。
    2. 在命令提示符下,键入 netstat -a ,然后按 Enter。
    3. TCP 端口 3389 的条目应为 侦听
  • 方法 4:使用 telnet 工具连接到终端服务器上的 RDP 端口。

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

    如果 telnet 成功,你将收到 telnet 屏幕和光标。

    如果 telnet 不成功,将收到此错误:

    正在连接到 servername...在端口 3389 上无法打开到主机的连接:连接失败

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

你可能配置了不正确的身份验证和加密设置

使用终端服务配置配置身份验证和加密

  1. 在“管理工具”中,打开“终端服务配置”。

  2. 在控制台树中,单击“Connections”。

  3. “详细信息 ”窗格中,右键单击要修改的连接,然后单击“ 属性”。

  4. 在“ 常规 ”选项卡上的“安全层”中,选择一种安全方法。 选择的安全方法确定终端服务器是否向客户端进行身份验证,以及可以使用的加密级别。 可以从以下安全方法中进行选择:

    • 如果支持 TLS,则 Negotiate 方法使用 TLS 1.0 对服务器进行身份验证。 如果不支持 TLS,则不会对服务器进行身份验证。

    • RDP 安全层方法使用本机远程桌面协议加密来保护客户端和服务器之间的通信。 如果选择此设置,则服务器不会进行身份验证。

    • SSL 方法需要使用 TLS 1.0 对服务器进行身份验证。 如果不支持 TLS,连接将失败。 仅当选择有效的证书时,此方法才可用,如步骤 6 中所述。

      如果选择“协商”或“SSL”,则 TLS 才能正常运行,则还必须将加密级别设置为“高”,或者必须使用 组策略 或终端服务器配置启用符合 FIPS 的加密。 还必须满足其他服务器和客户端配置要求。 有关配置终端服务器以支持 TLS 身份验证的要求和任务的详细信息,请参阅配置身份验证和加密。

  5. 在“加密级别”中,单击你需要的级别。 可以选择“”、“客户端兼容”、“高”“FIPS 符合”。 有关这些级别的详细信息,请参阅本主题末尾的说明。

  6. 若要使用 TLS 1.0 对服务器进行身份验证,请在“ 证书”中单击“ 浏览”,单击“ 选择证书”,然后单击要使用的证书。 证书必须是具有相应私钥的 X.509 证书。 有关如何验证证书是否具有相应的私钥的说明,请参阅本主题末尾的说明。

  7. 若要通过在默认的 Windows 登录对话框中键入其凭据来指定客户端登录到终端服务器,请选择“使用标准 Windows 登录接口检查”框。

注意

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

无法完全断开终端服务器连接

终端服务器客户端失去与终端服务器的连接后,终端服务器上的会话可能不会转换为断开连接状态,相反,即使客户端在物理上与终端服务器断开连接,它也可能保持活动状态。 如果客户端重新登录到同一终端服务器,可能会建立一个新会话,并且原始会话可能仍保持活动状态。

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

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

RDP 服务当前正忙

在 Windows Server 2003 SNP 功能中打开时,可能会出现以下问题:

症状

尝试使用 VPN 连接连接到服务器时,会收到以下错误消息:

错误 800:无法建立连接。

  • 无法创建远程桌面协议 (RDP) 与服务器的连接。
  • 无法从局域网上的计算机连接到服务器上的共享。
  • 不能将客户端计算机加入域。
  • 无法从运行 Microsoft Outlook 的计算机连接到 Exchange 服务器。
  • 可能无法清除与 Exchange 服务器的非活动 Outlook 连接。
  • 网络性能缓慢。
  • 与基于 Windows Vista 的计算机通信时,可能会遇到网络性能缓慢的问题。
  • 无法从服务器创建传出 FTP 连接。
  • 动态主机配置协议 (DHCP) 服务器服务崩溃。
  • 登录到域时,性能会降低。
  • 网络地址转换 (NAT) 位于 Windows Small Business Server 2003 或 Internet Security and Acceleration (ISA) Server 后面的客户端遇到间歇性连接故障。
  • 遇到间歇性 RPC 通信故障。
  • 服务器停止响应。
  • 服务器在非分页池内存上运行不足

你可能有证书损坏

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

  • 错误消息 1

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

  • 错误消息 2

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

重要

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

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

注意

在每个终端服务器上执行以下过程。

  1. 确保已成功备份终端服务器注册表。

  2. 启动注册表编辑器。

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

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\

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

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

    注意

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

  6. “参数 注册表”子项下,右键单击以下每个值,单击“ 删除”,然后单击“ ”以确认删除:

    • 证书
    • X509 证书
    • X509 证书 ID
  7. 退出注册表编辑器,然后重启服务器。

  8. 使用许可向导中的电话连接方法重新激活终端服务许可服务器。

References

如果本文无法帮助你解决问题,或者遇到与本文中所述症状不同的症状,请搜索Microsoft 支持部门。 然后,键入收到的错误消息的文本,或在“搜索支持 (知识库) ”框中键入问题说明。

数据收集

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