无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 12121|回复: 24
打印 上一主题 下一主题

[分享] 修改注册表权限的好工具:SetACL,及简单示例

    [复制链接]
跳转到指定楼层
1#
发表于 2014-2-16 13:55:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2013_top398 于 2014-3-15 10:17 编辑

按论坛教程尝试手工制作Win7PE时,一个主要的麻烦就是注册表权限,弄了好几次才设置好。避免这种麻烦的办法,可以转到PE下操作。但我还知道有命令行工具可以设置注册表权限。

于是找到了这个SetACL,其参数比较复杂,帮助也全是英文。经过反复试验,最后搭配出完全修改注册表权限的参数。示例批处理如下:

  1. @echo off
  2. set rootkey="HKLM\pe-soft"
  3. set user=Administrator

  4. setacl -on %rootkey% -ot reg -actn setowner -ownr "n:%user%" -rec yes -silent
  5. if not errorlevel 1 echo OK: Set Owner

  6. setacl -on %rootkey% -ot reg -actn ace -ace "n:%user%;p:full;m:grant;i:so,sc" -op DACL:p_c -rec yes -silent
  7. if not errorlevel 1 echo OK: Set Privilege

  8. set rootkey=
  9. set user=
复制代码

(2014-3-15 修改代码,①rootkey 赋值加引号,这样当键名含有空格时也能正确处理。②添加user变量,集中修改并减少修改的地方。
(2014-2-28 修改上述示例代码中的错误,以免贻笑大方。原语句
    if errorlevel 0 echo OK: Set Owner
    在任何情况下判断都为真。共改正2处)
说明:该批处理先修改 HKLM\pe-soft 及其子键的所有者为 Administrator,再设置 Administrator 拥有此键及其子键的完全权限。

具体应用时,根据自己的需要替换键名和所有者。

附件含32位/64位可执行文件、英文帮助和这个示例。当然SetACL的用处远不止修改注册表权限,只量我一时也用不了其它功能。

SetACL_3060.rar (372.51 KB, 下载次数: 417)        

评分

参与人数 3无忧币 +15 收起 理由
879792799 + 5 很给力!
2013gdh + 5 很给力!
20121223445667 + 5 赞一个!

查看全部评分

2#
发表于 2014-2-16 16:29:45 | 只看该作者
谢谢分享!就卡在这步了
回复

使用道具 举报

3#
发表于 2014-2-16 16:44:45 | 只看该作者
不错,谢谢
回复

使用道具 举报

4#
发表于 2014-2-16 18:02:03 | 只看该作者
真的很好的了 支持了!~
回复

使用道具 举报

5#
发表于 2014-2-17 10:00:25 | 只看该作者
谢谢提供这么好的工具
回复

使用道具 举报

6#
发表于 2014-2-19 10:55:42 | 只看该作者
这个应该不错。。。。WIN7可用吧

点评

我就是在WIN7下制作WIN7PE的  详情 回复 发表于 2014-2-19 13:35
回复

使用道具 举报

7#
 楼主| 发表于 2014-2-19 13:35:16 | 只看该作者
2011angelfish 发表于 2014-2-19 10:55
这个应该不错。。。。WIN7可用吧

我就是在WIN7下制作WIN7PE的
回复

使用道具 举报

8#
发表于 2014-2-22 14:29:40 | 只看该作者
谢谢提供这么好的工具
回复

使用道具 举报

9#
发表于 2014-2-27 13:23:26 | 只看该作者
SetACL非常好用,我在Win8.1下面用过。
回复

使用道具 举报

10#
发表于 2014-2-28 09:32:14 | 只看该作者
我用的是这个
回复

使用道具 举报

11#
 楼主| 发表于 2014-2-28 12:19:47 | 只看该作者
又被顶起来了,特改正示例代码中的错误。其实早就发现了,不好意思。
回复

使用道具 举报

12#
发表于 2014-3-14 17:23:36 | 只看该作者
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{b3690e58-e961-423b-b687-386ebfd83239}

还是不行.对上述的注册表值便是无效.第一个命令有效.第二个命令则无效.
在这个注册表值里,依然无权限,比如修改值或新建文件夹.
回复

使用道具 举报

13#
 楼主| 发表于 2014-3-14 19:22:12 | 只看该作者
按你说的子键改了批处理如下:
  1. @echo off
  2. ::reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{b3690e58-e961-423b-b687-386ebfd83239}

  3. set rootkey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{b3690e58-e961-423b-b687-386ebfd83239}
  4. setacl -on %rootkey% -ot reg -actn setowner -ownr "n:Administrator" -rec yes -silent
  5. if not errorlevel 1 echo OK: Set Owner

  6. setacl -on %rootkey% -ot reg -actn ace -ace "n:Administrator;p:full;m:grant;i:so,sc" -op DACL:p_c -rec yes -silent
  7. if not errorlevel 1 echo OK: Set Privilege

  8. set rootkey=
复制代码


在Win7 64位下测试,子键和其所有子键确已由 Administrator 所有并取得了完全控制。这里需要注意的是,如果是64位系统下运行32位版本的 SetACL,则可能会出现某些键无法更改权限的问题。

点评

貌似没有什么改动吧,就是把rootkey的变量改成了另外个注册表值.不过唯一的区别便是HKEY_LOCAL_MACHINE缩写为HKLM了 我是在32位Windows7系统下测试的,用的也是32位的setacl.之前我是帮人刚刚装好系统时顺便测试的.  详情 回复 发表于 2014-3-15 01:38
回复

使用道具 举报

14#
发表于 2014-3-15 01:38:37 | 只看该作者
2013_top398 发表于 2014-3-14 19:22
按你说的子键改了批处理如下:

貌似没有什么改动吧,就是把rootkey的变量改成了另外个注册表值.不过唯一的区别便是HKEY_LOCAL_MACHINE缩写为HKLM了

我是在32位Windows7系统下测试的,用的也是32位的setacl.之前我是帮人刚刚装好系统时顺便测试的.现在电脑还给人家又没测试环境了.

而我自己的电脑,之前是手动过设置权限的,现在不管怎么设置回去都无法回到Windows7刚刚装好系统时的原生状态.所以现在用这批处理去测试的话,是100%成功的.

测试有没有成功的话,是在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{b3690e58-e961-423b-b687-386ebfd83239}下新建项,而且是之前从来没手动改动过这个注册表的权限.

点评

1、当然只需要改一下键值,其他参数都是一样的。 2、你说你的电脑已手动设置过,用这批处理测试100%成功,但你上面却说运行第二条命令出错,why? 3、对于已经手动设置过的键,再用SetACL没有意义,你可以找一个未  详情 回复 发表于 2014-3-15 09:00
回复

使用道具 举报

15#
 楼主| 发表于 2014-3-15 09:00:07 | 只看该作者
本帖最后由 2013_top398 于 2014-3-15 09:01 编辑
kidzgy 发表于 2014-3-15 01:38
貌似没有什么改动吧,就是把rootkey的变量改成了另外个注册表值.不过唯一的区别便是HKEY_LOCAL_MACHINE缩 ...


1、当然只需要改一下键值,其他参数都是一样的。
2、你回复说你的电脑已手动设置过,用这批处理测试100%成功,但你上面却说运行第一条命令有效,第二条命令无效,why?
3、对于已经手动设置过的键,再用SetACL没有意义,你可以找一个未设置过的键来测试。

点评

第2个问题.. 昨天是我机缘巧合,朋友的机子拿给我重装,刚刚重装好我试下批处理,第一条命令有效,第二条无效. 然而我自己的电脑,是以前就手动设置过权限,所以现在测试是100%有效.反正我的经验是这样. 谢谢楼主的  详情 回复 发表于 2014-3-15 14:05
回复

使用道具 举报

16#
 楼主| 发表于 2014-3-15 09:06:44 | 只看该作者
再补充一下,你说的这个键值我自己现用系统从未改过,你不说我都不会注意到这个键,我也是没有必要改的对吧?昨天设置 Administrator 完全权限后,刚才又顺手给其下的 Modifiers 建了个 abcd 子键,成功。
回复

使用道具 举报

17#
 楼主| 发表于 2014-3-15 09:28:47 | 只看该作者
为了说服你,我再改了一下批处理:
  1. @echo off
  2. set rootkey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{b3690e58-e961-423b-b687-386ebfd83239}"
  3. set user=Administrator

  4. setacl -on %rootkey% -ot reg -actn setowner -ownr "n:%user%" -rec yes -silent
  5. if not errorlevel 1 echo OK: Set Owner

  6. ::setacl -on %rootkey% -ot reg -actn ace -ace "n:%user%;p:full;m:grant;i:so,sc" -op DACL:p_c -rec yes -silent
  7. setacl -on %rootkey% -ot reg -actn ace -ace "n:%user%;p:read;m:set;i:so,sc" -op DACL:p_c -rec yes -silent
  8. if not errorlevel 1 echo OK: Set Privilege

  9. set rootkey=
复制代码

请注意,现在是设置 Administrator 只有读权限。
运行后设置成功,再给其子键 Modifiers 下面添加子键,报错。

实际上,我在前段时间制作 WIM 内存系统时,反复运用 SetACL 对新装系统处理,这是有实践验证的。请你多作测试。
回复

使用道具 举报

18#
发表于 2014-3-15 14:05:32 | 只看该作者
2013_top398 发表于 2014-3-15 09:00
1、当然只需要改一下键值,其他参数都是一样的。
2、你回复说你的电脑已手动设置过,用这批处理测试10 ...

第2个问题..
昨天是我机缘巧合,朋友的机子拿给我重装,刚刚重装好我试下批处理,第一条命令有效,第二条无效.

然而我自己的电脑,是以前就手动设置过权限,所以现在测试是100%有效.反正我的经验是这样.

谢谢楼主的耐心解答!!!有机会我会多作测试,如果不行再来反馈

点评

好的。我相信这个软件没问题的。只是具体应用环境可能比较复杂,需要正确判断问题出在哪里。  详情 回复 发表于 2014-3-15 21:04
回复

使用道具 举报

19#
 楼主| 发表于 2014-3-15 21:04:13 | 只看该作者
kidzgy 发表于 2014-3-15 14:05
第2个问题..
昨天是我机缘巧合,朋友的机子拿给我重装,刚刚重装好我试下批处理,第一条命令有效,第二条无 ...

好的。我相信这个软件没问题的。只是具体应用环境可能比较复杂,需要正确判断问题出在哪里。
回复

使用道具 举报

20#
发表于 2019-12-12 17:59:51 | 只看该作者
谢谢分享
回复

使用道具 举报

21#
发表于 2020-6-27 10:16:12 | 只看该作者
本帖最后由 2010hook 于 2020-6-27 10:18 编辑

这个不能修改系统预置的权限,鸡肋。
微软有更好的命令工具。
回复

使用道具 举报

22#
发表于 2020-7-8 16:39:10 | 只看该作者
看下能不能用
回复

使用道具 举报

23#
发表于 2021-4-24 12:00:02 | 只看该作者
这个程序怎么不能下载?
回复

使用道具 举报

24#
发表于 2021-4-24 12:01:03 | 只看该作者
什么样的才可以下载了
回复

使用道具 举报

25#
发表于 2022-11-26 15:34:40 | 只看该作者
终于找到了,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 14:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表