使用 CMD 删除注册表时出现问题

使用 CMD 删除注册表时出现问题

我尝试通过 CMD 删除以下注册表项,但收到“拒绝访问”提示

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Pastel

  1. 上述注册表无法手动删除,因为它会给出错误
  2. 为了处理我使用的权限执行程序并以管理员身份运行以下命令,这将启动具有完全权限的注册表编辑器,但我仍然无法删除注册表项

    psexec -i -d -s c:\windows\regedit.exe

我正在运行 Windows 7。如何使用脚本或在 Windows 启动时从 CMD 授予权限并删除注册表项?

编辑:上述注册表及其子文件夹具有以下权限。

创建者所有者:特殊权限 ----> 如果我禁用继承并将权限更改为授予完全访问权限,我只需点击“确定”并右键单击>权限,则完全访问权限将重置为特殊权限。

系统:完全控制,读取管理员:完全控制,读取用户:完全控制,读取

编辑#2

我已经使用了以下脚本,但仍然没有成功

REM ----------------------------------------------------------------

cd /d %~dp0

@ECHO OFF

Title Replacing permissions on HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display

setacl.exe -on "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Pastel" -ot reg -actn setowner -ownr "n:Administrators"

Pause

REG DELETE HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Pastel /f

Pause

Exit

REM ----------------------------------------------------------------

答案1

打开命令提示符时按住 Control 和 Shift。这将以管理员身份打开命令提示符(可能在弹出 UAC 对话框后)。然后,您应该拥有对注册表进行任何操作的完全权限。但要极其小心,因为弄乱注册表是彻底杀死 Windows 机器的最快方法。

编辑:

感谢@DavidPostill,我意识到我应该再澄清一些。Windows 中的一些注册表项设置为组System。在 Windows 中,System级别是多于 Administrator(即系统比管理员拥有更多权限和权力)。运行psexec -s将运行您以 提供的任何选项System。但是,只有 才Administrator有权以 身份执行任何操作System。Psexec 不会就此发出警告(至少在我上次使用时不会);它只会以最高权限运行,这可能是您的用户帐户的权限。从 shell 中使用 -s 执行 psexecAdministrator应该可以解决此问题。

相关内容