0

などのコマンドを使用する場合

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

「許可」ルールを発行していることを常に確認しています。生成される xml で「拒否」ルール (つまり、Action="Deny") を生成するにはどうすればよいですか。MSDNのドキュメントには、拒否オプションがあることについては何も記載されていません。XMLをいじるのは唯一の方法ですか?

4

1 に答える 1

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 ...
于 2016-02-03T07:46:33.133 に答える