共用方式為


強制執行 Windows Defender 應用程控 (WDAC) 原則

注意

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 為新原則提供唯一標識碼和描述性名稱。 變更標識碼和名稱可讓您與稽核原則並存部署強制執行的原則。 如果您打算隨著時間強化 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 為新的補充原則提供唯一標識符和描述性名稱,並變更要補充的基底原則。

    $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) 原則