admin 管理员组

文章数量: 887021

在我们解决Windows系统问题或者对系统的某些功能进行设置的时候,经常会需要用到注册表编辑器对注册表键值进行修改。

但是如果注册表键值是被其他软件更改的,往往也会将权限一起更改。

这样当我们对注册表进行修改的时候,就会遇到“拒绝访问”或者“删除项时出错”的提示。

如果遇到这种问题,我们就需要向该注册表中添加权限甚至夺取所有者。

 

关于通过注册表编辑器对注册表键值修改的方法以及获取完全控制权限的方法,之前Felix已经发过一篇文章。大家可以通过下面的链接查看具体的操作方法。

http://social.answers.microsoft/Forums/zh-CN/w7repairzhcn/thread/65b0c4cc-c63c-44d8-88c5-0f4066152e7e

 

但是能够添加权限的前提,是我们要有添加权限与夺取所有者的权限。如果我们连这个权限都没有,那该怎么办?

这个时候我们就该用到一些实用小工具了。

 

我们以HKLM\SYSTEM\ControlSet001\Enum\USB这段键值举例来说。

在Windows XP系统中,需要删除该键值下面的项来清理在计算机中U盘的使用记录。

但是在Windows 7系统中,我们使用同样的方法就会发现,在删除这些项的时候,会遇到“删除项时出错”的提示。

在查看这些项的权限的时候,会发现只有SYSTEM这个账户有“完全控制”的权限,其他账户都只有“读取”的权限。

在给其他账户添加权限的时候,会遇到拒绝访问的提示,如图所示:

        

 

所以如果想要对该键值进行修改,就需要获取SYSTEM权限。

这种情况下,我们就可以借助PsExec这个实用工具来解决问题。

PsExec 是一个轻型的 telnet 替代工具,它使您无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性。PsExec 最强大的功能之一是在远程系统和远程支持工具(如 IpConfig)中启动交互式命令提示窗口,以便显示无法通过其他方式显示的有关远程系统的信息。

 

我们可以根据下面链接下载PsExec并查看该工具的使用方法与具体的参数。

http://technet.microsoft/zh-cn/sysinternals/bb897553.aspx

 

要使用PsExec获取注册表编辑器的SYSTEM权限,可以根据下面的步骤来实现。

我们需要将下载的psexec.exe放到C:\Windows\System32这个路径下。

然后在开始菜单的搜索框中输入cmd,右键点击cmd.exe图标并选择“以管理员身份运行”来打开命令提示符。

在光标闪动处输入:psexec.exe -i -d -s regedit.exe,如图所示:

       

 

点击回车之后,就会以System权限打开注册表编辑器了。

之前无法删除的项也可以正常删除了。

 

再最后还是要强调一下,如果我们对想要修改的注册表并不熟悉,无法确定修改之后是否会发生其他问题,那么在修改之前,一定要将该项注册表键值导出作为备份。

一旦修改之后发生问题,可以参考之前导出的键值,将键值恢复到修改之前的状态。

由于我们对此类注册表键值没有修改权限,所以无法导入之前备份的注册表键值。


转自 http://answers.microsoft/zh-hans/windows/forum/windows_7-system/answers-分享windows/2a7aa760-4148-491e-bee5-151005bc90ed

本文标签: 权限 注册表 键值 方法 Windows