Board logo

标题: [注册表类] 批处理怎样锁定启动项? [打印本页]

作者: good    时间: 2010-9-20 00:39     标题: 批处理怎样锁定启动项?

双击此批处理,即可将启动项锁定,其它程序便不能再添加启动项,
当然再要一个解锁的,双击即可解除锁定。

只需要这样简单的功能,不要其它的功能。.reg    .bat     .vbs格式都行

(百度搜的一个vbs格式的不合适)

[ 本帖最后由 good 于 2010-9-21 17:18 编辑 ]
作者: rzq1986    时间: 2010-9-20 03:55

顶起来 不要给这个问题沉下去
作者: good    时间: 2010-9-21 17:07

顶一下。看看有人会么
批处理没有这样的功能?
作者: bugs    时间: 2010-9-21 19:59

限制:
echo y | cacls "%homedrive%%homepath%\「开始」菜单\程序\启动" /e /c /d %username%

解除:
echo y | cacls "%homedrive%%homepath%\「开始」菜单\程序\启动" /e /c /g %username%:f
作者: good    时间: 2010-9-21 23:51     标题: 回复 4楼 的帖子

谢谢谢谢,好用!

注册表怎么限制?
作者: Batcher    时间: 2010-9-22 00:05     标题: 回复 5楼 的帖子

可以考虑用regini命令修改注册表分支的读写权限
作者: bugs    时间: 2010-9-22 01:19

regini不够方便,因为默认SYSTEM和administrators有完全控制权限,regini只能针对%username%做只读,所以如果用regini的话效果不好。

建议用第三方工具subinacl来修改。
限制注册表:       
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /setowner=guest
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /deny=everyone=f

解除注册表:       
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /setowner=everyone
subinacl /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /grant=everyone=f

需要注意的是注册表的启动位置并非run一处,其它自行添加。


subinacl也可以用来限制文件和目录,如果用它来限制启动目录的话命令如下:
subinacl /subdirectories "%homedrive%%homepath%\「开始」菜单\程序\启动" /setowner=guest
subinacl /subdirectories "%homedrive%%homepath%\「开始」菜单\程序\启动" /deny=everyone=f

[ 本帖最后由 bugs 于 2010-9-22 01:21 编辑 ]
作者: good    时间: 2010-9-22 01:33     标题: 回复 7楼 的帖子

其它位置我会添加
实在太感谢了!高手!到处都有高手!
作者: scyz2008    时间: 2010-9-26 23:12

这个代码是好,不过如果磁盘分区为FAT32的就不行了




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2