✅ 图形界面:给 Administrators 组分配权限(必须先修改所有者,再分配权限)
前提:管理员身份打开 regedit;先导出目标注册表项备份 适用场景:所有者是 TrustedInstaller,Administrators 只有只读权限
步骤
-
定位目标注册表项 → 右键 → 权限
-
在权限窗口点 高级,打开高级安全设置
-
确认所有者已经改成Administrators(上一步操作完成)
-
在「权限条目」区域,点 添加
-
点「选择主体」
-
输入:Administrators→ 点【检查名称】(文字带下划线代表识别成功)→ 确定
-
基础权限勾选:允许 → 完全控制(只需要修改读取就勾选读取)
⚠️ 重点:绝对不要勾选拒绝(Deny),拒绝优先级最高,会直接失效
-
【继承选项】
-
只改当前这一项:不勾选底部「使用可从此对象继承的权限项目替换所有子对象的权限项目」(推荐,更安全)
-
需要整条分支子项同步权限:才勾选这个选项
-
一路【确定】→【应用】保存。
情况 A:列表里已经存在 Administrators
直接在权限窗口选中Administrators,在下方权限栏勾选允许:完全控制,应用即可。
如果已经有一条Deny拒绝规则,先选中拒绝条目删除,否则勾选允许也无效。
⚡ PowerShell 脚本(管理员 PowerShell 运行,一键设置)
示例路径HKLM:SOFTWARETestKey,替换成你的注册表路径
# 目标注册表路径
= "Registry::HKEY_LOCAL_MACHINESOFTWARETestKey"
# 获取现有ACL
= Get-Acl
# 新建访问规则:给BUILTINAdministrators 允许完全控制
= New-Object System.Security.AccessControl.RegistryAccessRule(
"BUILTINAdministrators",
"FullControl",
"ContainerInherit,ObjectInherit",
"None",
"Allow"
)
.AddAccessRule()
# 写入权限
Set-Acl -Path -AclObject
如果需要同时改所有者 + 加权限的完整版脚本(TrustedInstaller 项专用):
= "Registry::HKEY_LOCAL_MACHINESOFTWARETestKey"
= Get-Acl
# 修改所有者为Administrators
= New-Object System.Security.Principal.NTAccount("Administrators")
.SetOwner()
# 添加完全控制权限
= New-Object System.Security.AccessControl.RegistryAccessRule("BUILTINAdministrators","FullControl","ContainerInherit,ObjectInherit","None","Allow")
.AddAccessRule()
Set-Acl
❗常见坑点
-
改完所有者,添加权限时报错拒绝访问
-
没有真正拿到所有权;确认所有者那一行已经显示 Administrators。
-
Administrators 已经在列表,但无法修改
-
存在 Deny 拒绝条目,删除拒绝规则;或者权限是继承来的,需要先关闭继承。
-
勾选替换子对象权限时报错,部分子项无法修改
-
部分系统子项有独立保护 ACL,无法批量递归,只能单独处理。
-
重启后权限自动变回 TrustedInstaller
-
Windows 系统保护机制(驱动、Defender、系统服务项),系统会自动回写权限,强行修改容易蓝屏。
✅ 操作完成后的建议(重要)
测试修改注册表成功之后,建议把所有者还原回 NT SERVICETrustedInstaller,恢复系统原始安全保护。
权限类型简要说明
-
完全控制 FullControl:读取、修改、新建、删除、重命名、更改权限
-
读取 Read:只能查看项和值,不能写入
-
查询值 / 设置值:精细化权限,适合只需要读写参数,不需要删除项的场景
|