笔者在使用客户端连接Windows 2000 Server终端服务器时,出现无法成功连接的问题,系统显示“终端服务器已结束连接”的提示,笔者反复尝试连接,故障依旧存在。但此时Windows 2000 Server服务器提供的Web和FTP服务均能正常工作,这说明此问题并不是因网络故障而产生的,于是笔者决定在终端服务上寻找问题的解决办法。
在Windows 2000 Server服务器中,多次重新启动系统,问题无法得到解决。笔者在“事件查看器”中查看日志记录,发现一条描述信息为“RDP 的 "DATA ENCRYPTION" 协议组件在协议流中检测到一个错误并且中断了客户机”的日志记录。难道是终端服务的加密级别设置过高所致?但笔者发现加密级别使用的是默认值,并没有随意改动。笔者再根据日志记录中的描述信息进行分析,终于找到了原因,原来是注册表中的“Certificate”子键被损坏,才导致用户无法与终端服务进行正常通信。
这是因为Certificate子键负责终端服务通信中数据信息的认证和加密,它一旦被损坏,终端服务的协议组件就会检测到错误,中断客户机与终端服务器之间的通信。导致Certificate子键损坏的原因很多,如管理员安装和卸载某些系统软件、对终端服务参数的不合理配置等。这时我们需要重置该键值中的内容,才能修复终端服务。
进入注册表编辑器窗口,展开“HKEY_LOCAL_MA CHINE\SYSTEM\CurrentCon trolSet\Services\TermService\ Parame ters”,找到名为“Cer tificate”的子键,将它删除,重新启动Windows 2000 Server服务器,系统就会重新生成“Certificate”子键,这样客户端就能正常连接到终端服务器了。
总结:在终端服务器出现无法连接的问题后,我们首先要判断这是不是网络故障引起的,检测远程客户端和Windows 2000 Server服务器是否能够正常连接到网络;然后就要检查终端服务器的加密级别是否设置过高。排除上述原因后,就有可能是“Certificate”子键损坏了。此外,“HKEY_LOCAL _MACHINE\SYSTEM\Cur rentControlSet\Services\Term Service\Parameters”下的“X509 Certificate”和“X509 Certificate ID”损坏了也有可能导致终端服务出现问题,它们的修复方法与“Certificate”子键损坏后的修复方法是相同的。