繁体   English   中英

使用(SetACL)自动执行Windows HKCU注册表权限的批处理文件

[英]Batch file automating Windows HKCU Registry permissions using (SetACL)

我正在与最终用户计算团队合作,以自动化我们的域迁移。 我们正在使用一种方法,该方法涉及在本地用户文件夹和注册表中的HKCU中更改权限(包括“将所有子对象上的权限条目替换为此处显示的适用于子对象的条目”)。

我能够使用简单的批处理脚本自动执行大多数步骤。 对于本地文件夹权限,我使用icacls:

icacls C:\Users\%localprofile% /grant %domainuser%@contoso.com:(OI)(CI)F /T

对于注册表我使用SetACL:

"C:\Win7ProfileTool\SetACL\64 bit\SetACL.exe" -on "hkcu" -ot reg -actn ace -ace "n:%domainuser%@contoso.com;p:full"
"C:\Win7ProfileTool\SetACL\64 bit\SetACL.exe" -on "hkcu" -ot reg -actn setprot -op dacl:np;sacl:np

如果我手动遵循该方法,它可以正常工作。 当我运行我的脚本时,我得到一个关于不加载配置文件的错误(以及创建/启动的临时)。

我相信我已将其缩小到我的2个SetACL行,但我不确切地知道需要什么参数来模拟“将所有子对象上的权限条目替换为此处显示的适用于子对象的条目”。

我的googlefu带我到了一个不能在RegEdit中使用的icacls解决方案,我一直在寻找SetACL的帮助页面(特别是set-protection-flags,但我不确定“保护”值)

今天我打算看看重置儿童的旗帜 - 但我不确定我是否走在正确的道路上。

tl; dr如何使用SetACL通过CMD模拟高级安全性选项卡复选框“替换...上的权限条目”

我在批处理文件上运行setacl来设置注册表,它就像一个魅力。 也许你命令导致麻烦的方式。 我使用的方式(具有管理员权限)

setacl.exe -on "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%vfilext%\UserChoice" -ot reg -actn clear -clr dacl -silent

更具体和防止故障。 我使用的版本是此页面的 3.0.6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM