通过命令行更改registry项的权限

我试图通过命令行编辑这个registry项 – 一直在四处search,但找不到任何东西。

现在确实卡住了,所以任何帮助将不胜感激。 我不介意使用PowerShell或任何调用第三方工具的东西 – 只是想通过命令行来改变它。

原因是本地pipe理员默认具有只读权限。 我想将其更改为完全控制。 我可以在2秒内在GUI中做到这一点,但命令行是另一回事。

HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder 

这里有一个很好的如何在PowerShell中完成的概要。

从本质上讲,你可以在PowerShell中使用Get-AclSet-Acl ,就像使用其他path一样。

 $acl = Get-Acl HKLM:\SOFTWARE\stuff $rule = New-Object System.Security.AccessControl.RegistryAccessRule ("Domain\user","FullControl","Allow") $acl.SetAccessRule($rule) $acl |Set-Acl -Path HKLM:\SOFTWARE\stuff 

RegIni.exe能满足您的需求吗? 基本上,你写一个小的RegIni脚本来改变权限,然后用脚本作为参数调用RegIni。

例如,如果您只想让pipe理员拥有该密钥的完全访问权限,则该脚本将如下所示

 HKEY_CLASSES_ROOT\CLSID{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder [1] 

虽然大概你也想授予系统对密钥的访问权限,对其他人也许是只读访问权限,在这种情况下安全后缀是

 [1 8 17] 

如果你看这个页面 ,它会告诉你各种值是什么意思。

不用说,在第一次玩这个游戏之前,你应该有一个很好的备份,并且可以练习一个虚拟的registry键来避免任何不幸的事故。