使用命令行阻止-解除阻止或创建-取消创建注册表项可防止重写或意外或故意删除

使用命令行阻止-解除阻止或创建-取消创建注册表项可防止重写或意外或故意删除

我有此方法阻止注册表项并防止用户或恶意软件意外或故意删除或重写

键的示例:

"HKEY_CLASSES_ROOT\Applications\cmd.exe"
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\cmd.exe"
"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\ComSpec"
"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\PATHEXT"

ETC。

保护密钥:创建 ac:\protect.txt 文件,内容如下:

HKEY_CLASSES_ROOT\Applications\cmd.exe [2 19] 
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\cmd.exe [2 19]
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\ComSpec [2 19]
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\PATHEXT [2 19]

ETC

并执行命令

regini c:\block.txt

问题: 我怎样才能扭转这些变化?

重要的提示:我想要的是一个解决方案,可以通过批处理来自动化该过程(“.bat”用于阻止,“.bat”用于撤消/恢复原始权限)..但首先读取或导出密钥权限以恢复

多谢。

答案1

我怎样才能扭转这些变化?

您可以通过将权限条目设置为[1 17]管理员完全访问权限和系统完全访问权限来撤消更改。

  1. 创建一个文件(例如unblock.txt),其内容如下:

    HKEY_CLASSES_ROOT\Applications\cmd.exe [1 17] 
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\cmd.exe [1 17]
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\ComSpec [1 17]
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\PATHEXT [1 17]
    
  2. unblock.txt使用以下命令执行脚本,从提升的(管理员) cmdshell 运行:

    regini unblock.txt
    

笔记:

  • regini命令必须从提升的(管理员)shell 运行cmd,否则它将失败(不会显示任何错误)。

进一步阅读

答案2

您将以相同的方式逆转这些更改 - 只有每行末尾的数字会不同。

所以请好好计划!(我总是建议大家拿笔在纸上画出设计)

1)当您进行阻止时,您必须至少留下一个具有足够未被阻止权限(例如全部权限)的用户/组

2)当你解除阻止时,你必须以有权更改这些注册表项的用户/组身份执行此操作

如果您想知道原始权利(其编号),您可以regdmp在进行任何更改之前使用。

相关内容