在注册表的某些关键项(譬如:System、Root),连Administrator都没有权限进行修改,因为只有“system”有权限。

【警告】切勿企图进行注册表上层权限覆盖低层权限的方式来使Administrator或其他用户夺权,这样会导致很多Windows服务都无法打开,甚至Windows就崩溃。

【方法一】

使用 psexec.exe,以 system 身份打开 regedit.exe,这样便可以直接修改,

命令:

psexec.exe -i -d -s regedit.exe

psexec属于Windows内部工具之一,这些强力的瑞士军刀可以从这里下载:

http://technet.microsoft.com/en-us/sysinternals/bb795533.aspx

【方法二】

使用regini命令修改注册表键值及权限

其使用格式如下:

regini regini.ini  

这个命令需要一个ini文件 ,其中regini.ini的格式为: 

注册表项 [更改的权限]  
注册表键数值=键值 

 
例如:  

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun [17 20] 

上面的意思是对HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun分别设置 Administrators组及System用户对其拥有完全访问权限
 

以下是对应的权限代码 

1 - Administrators 完全访问  
2 - Administrators 只读访问  
3 - Administrators 读和写入访问  
4 - Administrators 读、写入、删除访问  
5 - Creator 完全访问  
6 - Creator 读和写入访问  
7 - everyone 完全访问  
8 - everyone 只读访问  
9 - everyone 读和写入访问  
10 - everyone 读、写入、删除访问  
11 - Power Users 完全访问  
12 - Power Users 读和写入访问  
13 - Power Users 读、写入、删除访问  
14 - System Operators 完全访问  
15 - System Operators 读和写入访问  
16 - System Operators 读、写入、删除访问  
17 - System 完全访问  
18 - System 读和写入访问  
19 - System 只读访问  
20 - Administrators 读、写、执行访问  
21 - Interactive User 完全访问  
22 - Interactive User 读和写入访问  
23 - Interactive User 读、写入、删除访问  

 通过命令行来实现:

set route=HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet Explorermian
:fix
del %tmp%ko.ini /q
echo %route% [参数] >>%tmp%ko.ini
regini %tmp%ko.ini
exit