批处理如何设置组策略中本地安全设置(鉴于最后的思考题本人有点疑问,暂时此贴发到这个版快)
鉴于下面两贴问题的提出,结合我自己的心得,给大家讲解下,我也不是很懂,疏漏之处难免,莫“P”
我,呵呵...
[1] 批处理怎样实现组策略用户权力指派对应注册表项修改
http://www.bathome.net/thread-7517-1-1.html
[2] 批处理修改组策略或注册表给guest用户限权允许远程关机
http://www.bathome.net/viewthread.php?tid=4498&highlight=%B9%D8%BB%FA
以下的测试只是在XP系统环境,只针对本地安全设置而言,其他的系统没试过,不敢妄言...
系统组策略一是保存在注册表内,另外就是保存在C:\WINDOWS\inf文件内的“管理模板”:*.adm文件
如IP 安全策略和软件限制策略就是保存在注册表内,路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\IPSec\
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\
用批处理修改注册表,比较容易,如:REG命令等;
如何修改那些所谓的“管理模板”文件呢?可以用secedit命令配合INF文件来达到我们的目的,INF文件
的格式和secedit命令具体用法就不多说了,请参考:secedit /?,和百度。
看例子:
1:给guest用户限权允许远程关机-
- @echo off
- (echo [Unicode]
- echo Unicode=yes
- echo [Version]
- echo signature="$CHICAGO$"
- echo Revision=1
- echo [Privilege Rights]
- echo seremoteshutdownprivilege = Guest,Administrators)>>sec.inf
- secedit /configure /db sec.sdb /cfg sec.inf /log sec.log /quiet
- del sec.*
- echo 修改成功.
- pause>nul
复制代码 解释:2-8行生成INF文件,9行用secedit命令导入组策略
举一反三,看例2
2:给users组的用户装载和卸载设备驱动程序限权- @echo off
- (echo [Unicode]
- echo Unicode=yes
- echo [Version]
- echo signature="$CHICAGO$"
- echo Revision=1
- echo [Privilege Rights]
- echo seloaddriverprivilege = users,Administrators)>>sec.inf
- secedit /configure /db sec.sdb /cfg sec.inf /log sec.log /quiet
- del sec.*
- echo 修改成功.
- pause>nul
复制代码 一样的,:2-8行生成INF文件,9行用secedit命令导入组策略,不同的地方是第8行!
可能有人要问:
我要给“给users组的用户装载和卸载设备驱动程序的限权”,可我怎么知道是“seloaddriverprivilege
”呢?
我当初也很疑惑,经过搜索,发现秘密在C:\WINDOWS\security\templates的setup security.inf文件里
,这个文件有你想要的“字符串”
比如“从远打系统强制关机”对应的字符串是“seremoteshutdownprivilege”替换一下就可以了
注意,等号后面的Users等可以用相应的SID来表示,SID前记得加“*”
通过以上的几个例子,相信你如果要用批处理来修改组策略中本地安全设置不是一件难事了
思考题:
用批处理例出组策略中本地安全设置里的用户权利指派中的拒绝从网络访问这台计算机的所有用户,<不一定要用secedit 命令哦,当然,方法不限> |