修复 Windows XP 的 Remote Desktop 服务
2009-06-01 08:10
295 查看
最近在 Hyper-V 下使用虚拟机制作了一份通用类型的 Windows XP 系统映像,使用 Imagex 将其打包为 WIM 格式。除了方便自己使用外,也在 MDT2010 Beta 上进行部署测试。硬件兼容性和 HAL 的问题从目前的测试来看还是很正常的,不过还是需要大范围的部署在不通类型的 PC 上才能测试出是否可靠!但是当前所遇到的一个已知问题就是部署后的 Windows XP 其 Remote Desktop 服务无法正常工作,导致远程访问失败!具体表现如下图所示:
出现这个故障的原因是我在封装前使用 devcon 命令删除了所有的硬件,这就导致那些以虚拟硬件方式存在的服务也一并被删除。查阅了相关的资讯,创建了所需的注册表相关键值信息,在导入时提示访问注册表出错,经查是注册表相关项的安全权限限制了当前帐户的访问,如下图所示!
要解决上面提到的问题就需要重新配置安全权限并导入之前已经创建好的注册表文件,手工操作很简单,但是考虑到映像本身的问题,涉及到今后部署需要反复的手工操作确实非常麻烦,所以我需要依靠系统自带的命令以批处理方式来解决!从而实现自动修复的目标!这里需要涉及到两个系统命令,一个是“regini.exe”,用于修改注册表内容和权限的工具;另一个是“reg.exe”,控制台下的注册表实用工具,与“regedit 和 regedt32”类似,用于注册表的导入和导出。
首先,我创建一个 rdpdr_reg.txt 的文件,内容如下:
HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootRDPDR [1 8 17]
这个文件用于指定要修改的注册表项的具体位置和所分配的对应权限,其中 1 表示 Administrators 有完全控制权限,8 表示 Everyone 有读取权限,17 表示 SYSTEM 有完全控制权限。执行命令行”regini rdpdr_reg.txt“ 进行修改。另外,根据微软官方的 KB 进行操作,发现如果不事先创建好该配置文件而直接输入命令加地址和权限配置并不能生效,很奇怪!
之后,创建一个 fixrdp.reg 的注册表文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootRDPDR 000]
"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"
"Class"="System"
"HardwareID"=hex(7):52,00,4f,00,4f,00,54,00,5c,00,52,00,44,00,50,00,44,00,52, 0,00,00,00,00
"Driver"="{4D36E97D-E325-11CE-BFC1-08002BE10318}\0030"
"Mfg"="(标准系统设备)"
"Service"="rdpdr"
"DeviceDesc"="终端服务器设备重定向器"
"ConfigFlags"=dword:00000000
"Capabilities"=dword:00000000
使用 命令行“reg import fixrdp.reg”进行导入。
最后根据实际的需要手工执行或编写成批处理文件加入到系统映像中即可。通过上述操作后,重新启动计算机故障得以解决!因为 Blog 显示代码有问题,所以特别将涉及到的配置文件上传到 Blog 供大家下载使用。请下载附件。
附件:http://down.51cto.com/data/2354402
出现这个故障的原因是我在封装前使用 devcon 命令删除了所有的硬件,这就导致那些以虚拟硬件方式存在的服务也一并被删除。查阅了相关的资讯,创建了所需的注册表相关键值信息,在导入时提示访问注册表出错,经查是注册表相关项的安全权限限制了当前帐户的访问,如下图所示!
要解决上面提到的问题就需要重新配置安全权限并导入之前已经创建好的注册表文件,手工操作很简单,但是考虑到映像本身的问题,涉及到今后部署需要反复的手工操作确实非常麻烦,所以我需要依靠系统自带的命令以批处理方式来解决!从而实现自动修复的目标!这里需要涉及到两个系统命令,一个是“regini.exe”,用于修改注册表内容和权限的工具;另一个是“reg.exe”,控制台下的注册表实用工具,与“regedit 和 regedt32”类似,用于注册表的导入和导出。
首先,我创建一个 rdpdr_reg.txt 的文件,内容如下:
HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootRDPDR [1 8 17]
这个文件用于指定要修改的注册表项的具体位置和所分配的对应权限,其中 1 表示 Administrators 有完全控制权限,8 表示 Everyone 有读取权限,17 表示 SYSTEM 有完全控制权限。执行命令行”regini rdpdr_reg.txt“ 进行修改。另外,根据微软官方的 KB 进行操作,发现如果不事先创建好该配置文件而直接输入命令加地址和权限配置并不能生效,很奇怪!
之后,创建一个 fixrdp.reg 的注册表文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootRDPDR 000]
"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"
"Class"="System"
"HardwareID"=hex(7):52,00,4f,00,4f,00,54,00,5c,00,52,00,44,00,50,00,44,00,52, 0,00,00,00,00
"Driver"="{4D36E97D-E325-11CE-BFC1-08002BE10318}\0030"
"Mfg"="(标准系统设备)"
"Service"="rdpdr"
"DeviceDesc"="终端服务器设备重定向器"
"ConfigFlags"=dword:00000000
"Capabilities"=dword:00000000
使用 命令行“reg import fixrdp.reg”进行导入。
最后根据实际的需要手工执行或编写成批处理文件加入到系统映像中即可。通过上述操作后,重新启动计算机故障得以解决!因为 Blog 显示代码有问题,所以特别将涉及到的配置文件上传到 Blog 供大家下载使用。请下载附件。
附件:http://down.51cto.com/data/2354402
相关文章推荐
- 修复Windows XP服务扩展视图显示空白
- 修复Bumblebee服务在linux mint 14 xfce下无法自动启动问题
- Windows XP 主流支持服务于2009年4月14日过期
- 如何修复受损的Windows XP用户帐户很不错
- 安装Apache后,恢复系统后修复Apache服务问题
- Web服务枚举组件不可用 修复
- Windows XP 十大必禁服务
- 如何在Windows XP中重装或修复IE6.0
- Windows xp、2003的网络修复原理
- 利用Windows XP的恢复控制台修复受损的双启动菜单
- IIS无法启动计算机上的服务W3SVC如何修复
- Windows XP网络修复的步骤
- (转)windows XP 系统服务“关闭”详细列表,释放N多内存,128也够用了!
- 如何在Windows XP中重新安装或修复IE6
- Windows XP和Windows 7双系统安装和启动菜单修复
- 开启windows xp的任务计划服务
- windows XP停止服务后还能用吗 XP Mode(XP兼容模式)可以解决这个问题
- 微软停止对XP的支持服务后XP系统会有那些风险 用户坚持Windows XP的原因
- Windows XP 每次开机都自动检测硬盘 解决办法(可以用HDDRegenerate修复坏道)
- Windows XP网络修复的步骤