(WDAC) 策略强制实施Windows Defender应用程序控制

注意

Windows Defender应用程序控制 (WDAC) 的某些功能仅在特定的 Windows 版本上可用。 详细了解Windows Defender应用程序控制功能可用性

现在,应该有一个或多个在审核模式下广泛部署Windows Defender应用程序控制策略。 你已使用这些策略分析了从设备收集的事件,并且已准备好强制实施。 使用此过程在强制模式下准备和部署 WDAC 策略。

注意

本文中所述的某些步骤仅适用于Windows 10版本 1903 及更高版本或Windows 11。 使用本主题规划自己组织的 WDAC 策略时,请考虑托管客户端是否可以使用所有这些或部分功能。 评估运行早期版本的 Windows 10 和 Windows Server 的客户端上可能不可用的任何功能的影响。 可能需要调整本指南以满足特定组织的需求。

将 WDAC 基本 策略从审核转换为强制策略

常见Windows Defender应用程序控制部署方案中所述,我们将使用 Lamna Healthcare Company (Lamna) 的示例来演示此方案。 Lamna 正尝试采用更强大的应用程序策略,包括使用应用程序控制来防止不需要或未经授权的应用程序在其托管设备上运行。

Alice Pena 是负责 Lamna WDAC 推出的 IT 团队主管。

Alice 以前为组织的 完全托管设备创建并部署了策略。 他们根据审核事件数据更新了策略,如 使用审核事件创建 WDAC 策略规则 并重新部署它中所述。 所有剩余的审核事件都按预期执行,Alice 已准备好切换到强制模式。

  1. 通过复制审核版本初始化将使用的变量并创建强制策略。

    $EnforcedPolicyName = "Lamna_FullyManagedClients_Enforced"
    $AuditPolicyXML = $env:USERPROFILE+"\Desktop\Lamna_FullyManagedClients_Audit.xml"
    $EnforcedPolicyXML = $env:USERPROFILE+"\Desktop\"+$EnforcedPolicyName+".xml"
    cp $AuditPolicyXML $EnforcedPolicyXML
    
  2. 使用 Set-CIPolicyIdInfo 为新策略提供唯一的 ID 和描述性名称。 通过更改 ID 和名称,可以将强制策略与审核策略并排部署。 如果计划在一段时间内强化 WDAC 策略,请执行此步骤。 如果希望就地替换审核策略,可以跳过此步骤。

    $EnforcedPolicyID = Set-CIPolicyIdInfo -FilePath $EnforcedPolicyXML -PolicyName $EnforcedPolicyName -ResetPolicyID
    $EnforcedPolicyID = $EnforcedPolicyID.Substring(11)
    
  3. [可选] 使用 Set-RuleOption 启用规则选项 9 (“高级启动选项菜单”) 和 10 (“故障启动审核”) 。 选项 9 允许用户从预启动菜单对单个启动会话禁用 WDAC 强制。 选项 10 指示 Windows 仅在启动关键内核模式驱动程序被阻止时将策略从强制策略切换到审核。 在将新的强制策略部署到第一个部署圈时,强烈建议使用这些选项。 然后,如果未发现任何问题,可以删除选项并重启部署。

    Set-RuleOption -FilePath $EnforcedPolicyXML -Option 9
    Set-RuleOption -FilePath $EnforcedPolicyXML -Option 10
    
  4. 使用 Set-RuleOption 删除审核模式规则选项,该选项会将策略更改为强制实施:

    Set-RuleOption -FilePath $EnforcedPolicyXML -Option 3 -Delete
    
  5. 使用 ConvertFrom-CIPolicy 将新的 WDAC 策略转换为二进制文件:

    注意

    如果在上面的步骤 2 中未使用 -ResetPolicyID,则必须将以下命令中的 $EnforcedPolicyID 替换为在基本策略 XML 中找到的 PolicyID 属性。

    $EnforcedPolicyBinary = $env:USERPROFILE+"\Desktop\"+$EnforcedPolicyID+".cip"
    ConvertFrom-CIPolicy $EnforcedPolicyXML $EnforcedPolicyBinary
    

创建任何所需的 补充 策略的副本,以便与强制实施的基本策略一起使用

由于在前面的过程中为强制实施的策略提供了唯一的 PolicyID,所以需要复制任何所需的补充策略才能与强制策略一起使用。 补充策略始终从它们修改的基本策略继承审核或强制模式。 如果未重置强制基础策略的 PolicyID,可以跳过此过程。

  1. 初始化将使用的变量,并创建当前补充策略的副本。 还将使用前面过程中的某些变量和文件。

    $SupplementalPolicyName = "Lamna_Supplemental1"
    $CurrentSupplementalPolicy = $env:USERPROFILE+"\Desktop\"+$SupplementalPolicyName+"_Audit.xml"
    $EnforcedSupplementalPolicy = $env:USERPROFILE+"\Desktop\"+$SupplementalPolicyName+"_Enforced.xml"
    
  2. 使用 Set-CIPolicyIdInfo 为新的补充策略提供唯一的 ID 和描述性名称,并更改要补充的基策略。

    $SupplementalPolicyID = Set-CIPolicyIdInfo -FilePath $EnforcedSupplementalPolicy -PolicyName $SupplementalPolicyName -SupplementsBasePolicyID $EnforcedPolicyID -BasePolicyToSupplementPath $EnforcedPolicyXML -ResetPolicyID
    $SupplementalPolicyID = $SupplementalPolicyID.Substring(11)
    

    注意

    如果 Set-CIPolicyIdInfo 未在 Windows 10 版本上输出新的 PolicyID 值,则需要直接从 XML 获取 PolicyId 值。

  3. 使用 ConvertFrom-CIPolicy 将新的 Windows Defender 应用程序控制补充策略转换为二进制策略:

    $EnforcedSuppPolicyBinary = $env:USERPROFILE+"\Desktop\"+$SupplementalPolicyName+"_"+$SupplementalPolicyID+".xml"
    ConvertFrom-CIPolicy $EnforcedSupplementalPolicy $EnforcedSuppPolicyBinary
    
  4. 如果有其他补充策略要更新,请重复上述步骤。

部署强制实施的策略和补充策略

现在,基本策略处于强制模式,可以开始将其部署到托管终结点。 有关部署策略的信息,请参阅部署Windows Defender应用程序控制 (WDAC) 策略