如何在 Windows 10 中编辑注册表(就像在 Win 7 中一样),而不必一直获取密钥的所有权?

如何在 Windows 10 中编辑注册表(就像在 Win 7 中一样),而不必一直获取密钥的所有权?

举个例子,我试图应用在资源管理器中按住 Shift 键并单击鼠标右键时,如何将“使用 Powershell 打开”更改为“使用命令提示符打开”?

我是这台电脑的唯一用户,也是管理员。在 Windows 7 的好日子里,我只需打开regedit.exe并编辑密钥即可。

现在在 Win10 中,即使我regedit.exe以管理员身份启动,似乎也无法重命名,HKEY_CLASSES_ROOT\Directory\shell\cmd\HideBasedOnVelocityId除非经过漫长的过程和/或使用第三方工具,例如再所有权

我无法想象每次想要编辑注册表项时都要这样做。

问题:作为管理员,如何绕过 Win10 注册表所有权规则并“正常”编辑注册表,而无需使用 regownershipex 之类的工具?

即使我应该禁用某些安全功能,也没关系,但我不希望每个注册表调整都成为一项漫长的任务 - 我想让它保持简单和愚蠢,就像在 Windows 7 中一样。如何做到这一点?

答案1

为了能够以 TrustedInstaller 身份运行 regedit 或脚本,从而拥有所有注册表项的完全权限,可以使用 进阶跑 允许以 System 或 TrustedInstaller 身份运行。

更多信息请参阅文章
如何在 Windows 11 上以 TrustedInstaller 形式运行命令提示符


如果您需要反复获得 TrustedInstaller 拥有的几个特定密钥的所有权,您可以创建一个脚本来执行此任务。或者创建两个脚本来更改所有权,然后撤消它。

这里有用的一个命令行工具是 设置ACL

以管理员身份运行时,以下(未经测试的)命令可以执行此操作:

SetACL.exe -on "HKEY_CLASSES_ROOT\Directory\shell\cmd" -ot reg -actn setowner -ownr "n:Administrators"
SetACL.exe -on "HKEY_CLASSES_ROOT\Directory\shell\cmd" -ot reg -actn setowner -ownr "n:nt service\trustedinstaller" -rec Yes

这些命令基于文章中的信息 使用命令行获取注册表项的所有权并分配权限。您可以在文章本身中找到更多信息。

相关内容