Windows 如何使用命令行从注册表项中删除acl规则

Windows 如何使用命令行从注册表项中删除acl规则,windows,powershell,registry,cmd,Windows,Powershell,Registry,Cmd,我想知道如何使用命令行删除一个“拒绝规则”,该规则使修改寄存器密钥变得不可能 背景: 在windows中,每个文件扩展名关联都位于: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\ 例如,.mp4文件的默认应用程序在以下位置进行管理: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp4\UserChoice Userc

我想知道如何使用命令行删除一个“拒绝规则”,该规则使修改寄存器密钥变得不可能

背景:

在windows中,每个文件扩展名关联都位于:

HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
例如,.mp4文件的默认应用程序在以下位置进行管理:

HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp4\UserChoice
Userchoice键具有高于所有其他权限的拒绝权限。下图显示了我的意思:

我使用
set acl
尝试过Powershell,但由于相同的拒绝规则,我无法修改该密钥的任何内容


为什么会这样?我正在创建一个脚本,以便通过命令行轻松定义特定扩展的默认应用程序。注册表中的更改是必须的,才能使其生效。

您是否使用提升的权限运行脚本(即,您是否使用“以管理员身份运行”启动Powershell)?

你尝试过非微软的解决方案吗?试一试。

是的,拒绝规则是问题所在,自己检查,每个用户选择都有这个拒绝规则卓越的工具,我通过推特向创建者寻求帮助,他告诉我怎么做。.最后的命令是:setacl.exe-on HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp4\UserChoice-ot reg-actn truster-trst n1:voodoomsrlaptop\voodoomsr;ta:remtrst;w:dacl…有效地删除了第一个拒绝规则,并保留了第二个完全控制规则,因此我现在可以毫无困难地修改内容,更多信息请参见