使用 subkeyreg 拒绝 Subinacl 访问

使用 subkeyreg 拒绝 Subinacl 访问

我有 Windows 7 x86,我是电脑的唯一用户和管理员。我希望能够获得密钥的所有权(如下),但 subinacl 不允许这样做。

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR

错误是:RegSetKeySecurity 错误:5 访问被拒绝。

我尝试使用提升的命令行启动它,但仍然显示错误 5。

两个问题:为什么这样做?如何获得此密钥的所有权?如果可能的话,我想使用 subinacl。但只要可以从命令行使用,我对其他工具持开放态度。

答案1

您必须先取得注册表项的所有权,然后才能更改其权限(之后您应该重新设置所有权)。

嗯,我敢发誓你可以使用takeown命令来获取注册表项的所有权,但看起来你不能。

相反,根据你使用的 Windows 版本,你可以使用cacls命令,icacls, 或者xcalcs(更新为VB 脚本)或者第三方工具,例如登记DACL

cacls附带icaclsWindows 7)

答案2

使用以下命令设置ACL具有管理权限:

set X="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR"
SetACL.exe -on %X% -ot reg -rec cont_obj -actn setowner -ownr "n:Everyone"
SetACL.exe -on %X% -ot reg -rec cont_obj -actn ace -ace "n:Everyone;p:full"

相关内容