[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] bat如何更改注册表所有者

renini只能设置权限
secedit /configure /db test.sdb /cfg test.inf /log test.log也不行
SetACL 也不行
  1. //1------secedit-----------
  2. @echo off
  3. rem 设置"HKEY_LOCAL_MACHINE\SOFTWARE\test"的所有者为:Everyone
  4. >>test.inf echo.[Version]
  5. >>test.inf echo.Signature = "$Chicago$"
  6. >>test.inf echo.
  7. >>test.inf echo.[Registry Keys]
  8. >>test.inf echo."MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree", 0, "O:WD"
  9. secedit /configure /db test.sdb /cfg test.inf /log test.log
  10. del test.*
  11. pause
  12. //2------SetACL-----------
  13. whoami /user >%temp%\test.txt
  14. for /f "delims=" %%i in (%temp%\test.txt) do set last=%%i
  15. for /f "delims=S tokens=2" %%i in ('echo %last%') do set SID=S%%i
  16. SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree" -ot reg -actn setowner -ownr "n:%SID%;s:y"
  17. SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree" -ot reg -actn ace -ace "n:administrators;p:full"
复制代码
其他办法不知道了, 也没能搜到

具体就是把这个操作用bat实现   "注册表-右键单击某个key-权限-高级-所有者"
然后我也搜索了, 然后折腾了一下午,没能搞定

本帖最后由 CommandBatCmd 于 2017-2-5 13:23 编辑

回复 1# hentai87


    把注册表项的修改权限已加入到失败的原因中考虑。

补充说下
你用的这些命令有些错误,不能修改与添加用户为:Everyone
获取SID应使用:whoami.exe /USER /SID
添加用户为Everyone应使用:-ace "n:everyone;p:full"

TOP

regini命令
判定一个人是否为伸手党的标准是取决于他的态度和诚意。

TOP

回复 3# wskwfkbdn


   
regini命令只能设置权限

TOP

回复 4# hentai87


如果以下注册表项的所有者中没有“Everyone”
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree

使用regini命令操作以下注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree [9]
会删除其他所有者,再把自己“Everyone”写入到所有者中。
只是起不到,把自己“Everyone”加入到所有者的队列中的效果。

使用whoami与SetACL配合,可以达到目的。
由于SetACL对不存在或禁止访问的注册表项,会操作失败,所以最好先做个判断。

TOP

返回列表