![在注册表项上使用“takeown.exe”的语法是什么?](https://linux22.com/image/1222734/%E5%9C%A8%E6%B3%A8%E5%86%8C%E8%A1%A8%E9%A1%B9%E4%B8%8A%E4%BD%BF%E7%94%A8%E2%80%9Ctakeown.exe%E2%80%9D%E7%9A%84%E8%AF%AD%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
问题很简单,但是该怎么做呢?
我试过了:
takeown /f //HKEY_LOCAL_MACHINE/MyKey/ \R \A
正如预期的那样,由于它看起来像一个网络地址,因此无法找到任何东西。
有什么想法吗?这是我调查的一部分这个问题。
答案1
我相信takeown.exe
拥有文件的所有权,而不是注册表项的所有权。
C:\Users\Sathya>takeown /?
TAKEOWN [/S system [/U username [/P [password]]]]
/F filename [/A] [/R [/D prompt]]
描述:此工具允许管理员通过重新分配文件所有权来恢复被拒绝的文件访问权限。
通过执行
takeown /f //HKEY_LOCAL_MACHINE/MyKey/ \R \A
您说的是获取位于网络位置HKEY_LOCAL_MACHINE
且共享名为 的文件的所有权MyKey
,但这不是注册表项的存储方式。
此外,\R
应该\A
用正斜杠而不是反斜杠来指定,即/R
/A
要取得注册表项的所有权,
打开注册表编辑器。
单击您想要取得所有权的密钥。
在“编辑”菜单上,单击“权限”。
单击“高级”,然后单击“所有者”选项卡。
在“将所有者更改为”下,单击新所有者,然后单击“确定”。
要通过外部程序执行此操作,你需要一个类似的应用程序登记DACL
RegDACL 有什么用处?RegDACL 允许您查询和更改任何 Windows NT 注册表项的自由访问控制列表 (DACL)。当然,您可以使用程序 RegEdt32 来设置注册表权限,但如果您需要编辑多台机器,那么您将面临一项相当无聊的工作,更不用说更容易犯错误了。RegDACL 使您能够使用批处理脚本来执行此工作。RegDACL 的免费软件版本允许您为预定义组定义访问权限
答案2
如上所述回答因为 takeown 不起作用。
除了更改权限之外,还有一个简单的程序可以运行 .reg 文件、批处理文件、cmd、powershell 或 TrustedInstaller 等程序。
PowerRun 是一款便携式免费软件,用于启动 regedit.exe、Cmd.exe 或其他具有与 TrustedInstaller / Nt Authority / System 相同权限的软件。为什么需要它?有时仅以管理员身份运行是不够的,可能是文件或注册表项被锁定或无法编辑,PowerRun 这款具有强大权限的工具很可能可以解决该问题,PowerRun 不需要任何安装过程或额外的 dll 文件。
或者可以使用执行来自 Microsoft 并作为系统运行,无论是 powershell.exe 还是 cmd.exe。
psexec64 -i -s cmd.exe
psexec64 -i -s powershell.exe
然后在控制台中运行注册表命令。