非请勿进 为注册表的重要键值上把“锁”

2020-09-26 14:53俞木发
电脑爱好者 2020年18期
关键词:命令行命令提示符键值

俞木发

小提示

如果默认当前用户没有某一键值的“读取”权限,也可以执行添加权限的操作。还可以考虑增加一个允许“完全控制”的高权限用户,用这一账户安装那些希望能开机启动的软件。

就地取材 为键值设置权限保护

我们可以通过设置“只读”权限来限制用户对某些文件的更改,同样也可以利用该方法实现对注册表键值的保护。比如很多软件在安装时会在[HKEY CURRENT USER\Software\Microsoft\Windows\CurrentVersion\Run]中写入自启动键值,这样每次开机都会启动一堆无关的软件。下面我们就使用权限工具为该键值设置“只读”权限。注意修改注册表有一定的风险,可能会导致系统受损,因此建议提前进行备份,或者利用“系统还原”创建一个还原点。

以管理员身份启动注册表编辑器,展开上述键值,右击[Run]键值并选择“权限”,在打开的窗口中依次点击“高级→禁用继承→从此对象中删除所有已继承的权限”,删除所有用户的权限(图1)。

接着切换到“所有者”,将其更改为当前登录的用户。返回“权限”设置窗口,在“组或用户名”列表中仅将当前用户对键值的“读取”权限设为“允许”(图2),点击“确定”退出。

以后当有软件试图在其中创建新的键值或删除某一键值时,系统都会弹出“无法创建值:写入注册表时出错”的提示,原因是没有“写入”权限。这样既可以读取该键值中的数据(不影响当前的自启动设置),同时又能阻止安装程序在里面添加新的自启动项目(图3)。

使用同样的方法可以按照自己的实际需求对其他键值进行权限设置,比如[HKEY CURRENT USER\SOFTWARE\Microsoft\Internet Explorer\MenuExt]是IE的右键菜单内容,可以设置为[MenuExt]任何账户都没有写入权限,这样IE右键就不会被随意地添加上各种菜单了。总之只要找到对应选项的键值,然后通过权限设置保护即可。

简单高效 使用命令行设置键值权限

除了上述方法外,也可以借助Windows10自带的“regini.exe”命令行完成设置。比如要对系统账户进行诸如克隆、隐藏等操作时,需要展开[HKEY LOCAL MACHINE\SAM\SAM\Domains\Account]键值进行修改。不过它是一个重要的系统键值,默认当前用户是没有[HKEY_LOCAL_MACHINE\SAM\SAM]的“读取”权限,也就无法展开上述键值进行修改(图4)。

此时我们就可以使用“regini.exe”命令行快速地完成设置(命令格式:“regini.exe指定路径的regini.ini文件”)。首先设置“regini.ini”文件,更改权限的设置包合在其中。启动记事本,输入“HKEY LOCAL MACHINE\SAM\SAM[1]”,将其保存为“regini.ini”,放置在“F:\”盘备用。注意代码中的键值SAM和數字[1]之间使用一个半角的空格隔开,数字“[1]”表示授予当前的系统管理员组账户(Administrators)对该键值拥有“完全控制”的权限;“[2]”代表授予当前的系统管理员组账户“只读”权限。其他权限的数字设置大家可以在命令提示符窗口中输入“regini/?”进行查看(图5)。

接着在命令提示符窗口中输入“reginif:\regini.ini”,执行完操作后返回注册表编辑器窗口,按F5键进行刷新。再次打开上述键值,可以看到Administrators已经拥有对它的“完全控制”权限了(图6)。

如果当前账户属于Administrators组,现在我们就可以展开上述键值,查看其下的子项内容并进行所需的编辑操作了(图7)。其他键值的设置操作类似,大家可以自行摸索。

觉得上述操作麻烦的朋友也可以借助Registry Protector工具,它通过GUI界面对注册表权限进行更快捷的设置,操作起来简单直观,并且可以随时撤销权限的更改。

猜你喜欢
命令行命令提示符键值
一种基于docker集群的自动评价虚拟命令行实验终端构建及其在类Unix系统教学中的应用
Windows 10新版CMD更新
注册表值被删除导致文件夹选项成空白
Windows 7和Vista中命令提示符的几个小技巧
学习器揭开注册表面纱
“扫除”技巧之清除恶意程序