最近处理了几例关于Windows server远程桌面无法连接管理的问题,觉得有必要将解决方法和步骤总结一下,方便以后快速处理此类问题(Windows XP的远程桌面无法连接故障下面部分方法也可适用)。

首先进行常规检查:

1、 确认服务器的远程桌面有没有开启,并且相关的账号是否已经允许连接,默认允许服务器的本机管理员administrator(域环境下则是域管理员administrator)登录,如果连接使用的账号不在此列表,则手动添加。

2、 检查服务器自带的防火墙或第三方防火墙软件是否已阻断了3389通讯端口。

3、 在服务管理器中确认Terminal Service是否已经正常启动。

4、 打开注册表编辑器,检查如下两个键值对应的值是否为3389(即检查RDP的默认端口是否被更改了):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WDS\RDPWD\TDS\TCP\PortNumber

HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Terminal Server\WinStations\RDP\TCP\ PortNumber

如果常规检查后仍未解决问题,就得具体问题具体分析处理,一般有以下几种情况:

1、 远程桌面服务相关的DLL文件损坏。一般受影响的是termsrv.dll文件,具体表现为Terminal Service服务无法启动,到另外一台正常服务器的\SystemRoot\System32目录下复制此文件到本机相应位置覆盖解决问题(在安全模式下);

2、 系统日志有类似记录--\SystemRoot\System32\RDPDD.dll failed to loadRDPDD.dll文件加载失败。具体表现为连接时一闪而过,未提示任何连接错误,可通过如下方法修改注册表值后重启服务器解决问题:定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management,新建名为SessionImageSizeDWORD键值,并设值为0000002016进制)。

3、 应用程序日志有出现ID1036,来源为TermService的错误日志,提示终端服务器会话创建失败,相关的状态码为0x2740。此问题是因为网络适配器没有绑定到RDP-TCP连接,(此问题一般出现在有多张网卡的主机环境下),可按如下步骤解决:

1)通过控制台 登录到服务器上,运行tscc.msc,打开终端服务配置/连接;管理单元。

2)   在终端服务配置单元中单击连接,然后双击RDP_TCP属性。

3)   单击网卡选项卡, 选择正确的网络适配器并单击确定。

注意:如果是Windows server 2008,因为网络适配器没有绑定到RDP-TCP连接导致运程桌面无法连接的,需依次点击;管理工具--远程桌面服务--远程桌面会话主机配置,右击打开RDP-Tcp属性窗口,在网络适配器选项卡选择具体的网络适配器。最后,重启Remote Desktop Services和Remote Desktop Services usermode Port Redirector服务即可。

 

4、如果连接过程中出现“客户端无法建立跟远程计算机的连接,导致这个错误可能的原因是:1) 远程计算机上的远程连接可能没有启用。2) 已超出远程计算机上的连接最大数。3) 建立连接时出现了一个网络错误。”或者系统日志出现RDP 协议组件DATA ENCRYPTION在协议流中发现一个错误并且中断了客户端连接的错误日志。这是因为注册表中负责终端服务通信中数据信息的认证和加密Certificate子键损坏了,终端服务的协议组件检测到错误,就中断客户机与终端服务器之间的通信,这时需要重置该键值修复终端服务。删除以下键值并重新启动服务器后,系统就会重新生成Certificate子键完成修复。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\ ParametersCertificate

另外,同样位置的X509 CertificateX509 Certificate ID键也有可能损坏,修复方法同上。