如何使用Powershell为Applocker创建拒绝规则

时间:2016-02-03 01:44:34

标签: powershell group-policy gpo applocker

使用

等命令时
ls 'C:\Program Files\*.exe' | Get-AppLockerFileInformation | New-AppLockerPolicy -RuleType Path -User everyone -xml -optimize

我总是看到它发出“允许”规则。如何在生成的xml中生成“拒绝”规则(即Action =“Deny”)。 MSDN文档没有说明拒绝选项。 XML是摆弄唯一的方式吗?

1 个答案:

答案 0 :(得分:1)

您可以在调用New-AppLockerPolicy之前修改Set-AppLockerPolicy返回的策略规则对象:

$Policy = ls 'C:\Program Files\*.exe' | Get-AppLockerFileInformation | New-AppLockerPolicy -RuleType Path -User Everyone -Optimize
foreach($RuleCollection in $Policy.RuleCollections)
{
    foreach($Rule in $RuleCollection)
    {
        $Rule.Action = 'Deny'
    }
}
Set-AppLockerPolicy -PolicyObject $Policy -Ldap "<DN to target policy>"

在PowerShell 4.0及更高版本中,您也可以使用ForEach({})扩展方法:

$Policy = ... | New-AppLockerPolicy
$Policy.RuleCollections.ForEach({ $_.ForEach({ $_.Action = 'Deny' }) })
Set-AppLockerPolicy -PolicyObject $Policy -Ldap ...