举个例子,我试图应用在资源管理器中按住 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
这些命令基于文章中的信息 使用命令行获取注册表项的所有权并分配权限。您可以在文章本身中找到更多信息。