通过命令行更改注册表项的权限

通过命令行更改注册表项的权限

我正在尝试通过命令行编辑此注册表项 - 已经搜索了很长时间但找不到任何东西。

目前确实遇到问题,所以任何帮助都将不胜感激。我不介意使用 PowerShell 或任何调用第三方工具的东西 - 只是想通过命令行进行更改。

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

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

答案1

有一篇关于如何在 PowerShell 中执行此操作的出色概述这里

本质上,您可以像使用任何其他路径一样在 PowerShell 中使用Get-Acl和。Set-Acl

$acl = Get-Acl HKLM:\SOFTWARE\stuff
$rule = New-Object System.Security.AccessControl.RegistryAccessRule(
    "Domain\user", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")

$acl.SetAccessRule($rule)
$acl |Set-Acl -Path HKLM:\SOFTWARE\stuff

答案2

注册程序满足您的需求吗?您可以编写一个更改权限的 RegIni 脚本,然后以该脚本作为参数调用 RegIni。

例如,如果您只希望管理员对该密钥具有完全访问权限,则脚本将如下所示:

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

不过,您可能还想授予系统访问密钥的权限,并可能授予其他所有人只读访问权限,在这种情况下,安全后缀将是

[1 8 17]

您可以在下表中找到安全后缀编号:

1  - Administrators Full Access
2  - Administrators Read Access
3  - Administrators Read and Write Access
4  - Administrators Read, Write and Delete Access
5  - Creator Full Access
6  - Creator Read and Write Access
7  - World Full Access
8  - World Read Access
9  - World Read and Write Access
10 - World Read, Write and Delete Access
11 - Power Users Full Access
12 - Power Users Read and Write Access
13 - Power Users Read, Write and Delete Access
14 - System Operators Full Access
15 - System Operators Read and Write Access
16 - System Operators Read, Write and Delete Access
17 - System Full Access
18 - System Read and Write Access
19 - System Read Access
20 - Administrators Read, Write and Execute Access
21 - Interactive User Full Access
22 - Interactive User Read and Write Access
23 - Interactive User Read, Write and Delete Access

不用说,您应该在第一次玩这个之前做好备份,并且可能在虚拟注册表项上练习,以避免任何不幸的事故。

相关内容