公司的部分应用为cs结构,没有web版的,这些应用的外部访问基本都是通过使用windows server 2008 r2的远程桌面服务来实现的。
个人感觉微软远程桌面服务问题很多,今天有同事使用RemoteApp就出现了这样的问题,如图:
图1
解决此问题之前,先对服务器和客户端的环境作下说明
1.服务器.操作系统:windows server 2008 r2,角色:远程桌面服务(RD网关也部署在这台机器上,RD会话主机,RD授权,RD Web 访问)
如图:
图2
2.客户端.操作系统:windows xp professional sp3,远程桌面客户端版本:6.1
问题解决步骤:
1. 发生此提示后,我立即登录服务器,将该用户的远程会话注销,在客户端重复连接仍会出现同样的错误提示,
提示窗口关闭后,这时我打开任务管理器发现仍在存在进程"mstsc.exe",把该进程结束后,不再报图1所示错误。
2.但是操作一段时间后就报出 应用程序错误: '0x7c931780'指令引用的 '0x89abcdef' 内存。该内存不能为 'read'"
2.1 客户端系统日志,出现一下错误描述:
事件类型: 信息
事件来源: Application Popup
事件种类: 无
事件 ID: 26
日期: 2013-7-26
事件: 14:03:46
用户: N/A
计算机: 略去
描述: 弹出应用程序: mstsc.exe - 应用程序错误: "0x7c931780" 指令引用的 "0x89abcdef" 内存。该内存不能为 "read"。
要终止程序,请单击“确定”。 要调试程序,请单击“取消”。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
2.2 服务器端,出现一下错误日志,如图:
图3
根据图3内容所示,可能是打印机重定向的问题,于是重新在客户端进行连接并且在可访问的本地资源选项中,去除"打印机"选项如图4所示,经反复测试
每次选中本地打印机进行连接,就会出现以上错误。
2.3.但是由于同事要经常使用此应用的打印功能,本地打印机必须要选中,所以只是简单的去除选择并不能算是解决了问题,
突然想到是否是因为客户端打印机的问题,结果打开打印机管理界面,发现这台电脑上添加了好多脱机的打印机,
将所有处于脱机状态的打印机删除后,再进行测试,始终没有报错,服务器端也没有出现同样的错误日志,问题就这样奇迹般的解决了。
2.4 最后强烈建议及时清理电脑上已经无效的打印机,可以避免很多问题.