计算机配置,windows设置,安全设置,软件限制策略
一、路径规则
在其他规则中添加路径规则,路径规则支持通配符。
1、禁止运行所有*.vbs
这属于模糊匹配
2、在新建另一路径规则,选择允许。将路径精确。
所以我们建议将脚本放在统一的一个共享位置。比如说\\dc2\share\script\
策略将优先处理精确的的,也就是说,虽然我先禁止掉了,但是这里更精确,依然可以工作。 二、对脚本进行数字签名(来自微软新闻组工程师答复)感谢您使用微软合作伙伴新闻组技术支持!
根据您的描述, 您想知道怎样才能给一个脚本进行数字签名.
如果我的理解有错误,请告诉我.
通常我们有两种方法来对一个脚本进行数字签名:
1. 在编写脚本的时候加入数字签名:
Signing a Script (Windows Script Host)
http://msdn.microsoft.com/en-us/library/yzdhczk3(VS.85).aspx
这个方法涉及到开发,我们新闻组不提供这方面具体的支持.
2. 用数字签名工具.
我们有一个叫做signcode的工具,可以为各种文件进行数字签名.这种数字签名用法和其他数字签名的一样,需要您有一张被使用方信任的证书,和这个证书中公钥所对应的私钥.
这个工具整合在.NET framework tools工具包中,下载起来比较大,我会单独发给您.
我这里简单的帮您介绍一下这个工具的用法.
我们举例c盘下面有一个叫做script.vbs的脚本,我们现在需要对它进行数字签名.
1. 运行signcode.exe
2. 向导中把文件类型选成all files.(注意,并不是真的所有文件类型都能进行数字签名)
3. 选中c:\script.vbs
4. 然后选择Typical
5. 然后选择from certificate store默认是查看my store下面的证书(要求该证书有code signing的用途)
6. 双击这个证书,添加,然后单机下一步
7. 输入证书的description,如果需要的话再加入 timestamp
8. 完成数字签名
9. 然后我们右键script.vbs,选择属性中的数字签名页就能看到我们刚刚签的名了
另外,这个工具也可以直接使用命令行来进行数字签名:
http://msdn.microsoft.com/en-us/library/9sh96ycy(VS.80).aspx
您可以参考这篇文章.
1. 如果您的签名证书来自于国际上公认的CA机构,例如VeriSign等等,不需要任何设置,Windows装好之后自动就信任了这些CA.
2. 如果您的签名证书来自于您域的CA(enterprise CA),也不需要进行额外的配置. Enterprise CA的根证书会自动被域成员机器加入到受信任的根证书.
3. 如果签名证书是其他私有机构颁发的话,您需要得到他们机构的根证书,然后使用组策略发布这个根证书作为 “受信任的根证书”.
注意: 这样做是有一定风险的,这个行为代表了您完全信任该CA发布的所有证书.
具体的方法是,
- 打开默认组策略
- 展开计算机配置\windows设置\安全设置\公钥策略\受信任的根证书
- 右键右面的空白栏选择导入证书
- 把您需要的证书导入进去
这样您的域成员计算机就会自动的信任这个CA了
如何能禁用计算机运行未被签名的脚本.
如果我的理解有错误,请告诉我.
为了达到这个目的,我们主要有两种方法实现.
1. 软件限制策略:
- 打开组策略.
- 展开计算机配置\windows设置\安全设置\软件限制策略
- 右键附加策略,选择 新路径规则
- 输入 *.vbs,选择禁用.
- 点击 应用 并完成规则添加
- 再右键附加策略, 选择 证书规则
- 选择需要信任的证书 (用来给脚本进行数字签名的证书),选择 允许
- 点击 应用 并完成规则添加
2. 修改注册表:
- 用管理员帐号登录计算机
- 运行 ‘regeidt’
- 展开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings]
- 把"UseWINSAFER"改为1
- 添加一个dword的注册表键值,命名为 “TrustPolicy”
TrustPolicy =0的时候,运行所有脚本(默认)
TrustPolicy =1的时候,运行之前提示您是否信任这个数字签名
TrustPolicy=2的时候,禁用不信任的证书
本文来源:不详 作者:佚名