使HKEY_LOCAL_MACHINE\HARDWARE下的注册表项永久只读



你好,几天前我想重命名"处理器名称";在中

HKEY_LOCAL_MACHINE  HARDWARE  DESCRIPTION  System  CentralProcessor  0. 

我成功了,但每次重新启动系统时,windows都会恢复我所做的更改。

使用SubACL,我将注册表项的所有者更改为管理员组,但它仍然不起作用。

我还尝试将.reg文件放入

C:Users%username%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

但我不想这样,因为我正在创建一个程序,允许重命名你的CPU名称。

我想如果我把这个钥匙做成";只读";,系统无法更改它,它只是读取它。

如何使用cmd、powershell等(不打开regedit(实现这一点?

我不认为你能通过设计获得一个改变来在重启后幸存下来。据我所知,HKLM\HARDWARE是易失性数据。我的理解是,每次启动时,ntdetect.com都会扫描系统的硬件,删除并重新创建整个密钥。所以我认为,如果你让它只读,那也没关系。

即使我上面的理解不正确,ntdetect.com在执行传递给NT内核(ntoskrnl.exe(之前是由NT引导加载程序(NTLDR(运行的。硬件检测在NT内核加载之前运行,因为内核在加载之前需要已安装硬件的列表。如果它尊重写拒绝ACL,我会感到惊讶。我认为这是在安全系统可用之前。

我所能想到的就是创建一个在启动或登录时执行的脚本或程序来重命名值,但我想我看不出这有什么意义。

最新更新