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

lar*_*400 12 windows windows-registry

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

此刻真的卡住了,所以任何帮助都将不胜感激。我不介意使用 PowerShell 或任何调用第三方工具的东西 - 只想通过命令行更改它。

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

HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder
Run Code Online (Sandbox Code Playgroud)

MDM*_*rra 8

此处有关于如何在 PowerShell 中执行操作的出色概述。

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

$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
Run Code Online (Sandbox Code Playgroud)


dso*_*ano 6

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

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

HKEY_CLASSES_ROOT\CLSID{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder [1]
Run Code Online (Sandbox Code Playgroud)

尽管您可能还希望授予系统对密钥的访问权限,也许还向其他人授予只读访问权限,在这种情况下,安全后缀将是

[1 8 17]
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

不用说,在第一次使用它之前,您应该有一个良好的备份,并且也许可以在虚拟注册表项上进行练习,以避免任何不幸的事故。