合并业务应用控制策略

注意

适用于企业的 App Control 的某些功能仅适用于特定 Windows 版本。 详细了解 应用控制功能可用性

本文介绍如何将多个策略 XML 文件合并在一起,以及如何将规则直接合并到策略中。 适用于企业的应用控制部署通常包括一些基本策略和针对特定用例的可选补充策略。

注意

在 Windows 版本 1903(包括 Windows Server 2019 及更早版本)之前,一次在系统上只能有一个应用控制企业版策略处于活动状态。 如果需要在运行这些早期版本的 Windows 的系统上使用应用控制,则必须在部署之前合并所有策略。

将多个应用控制策略 XML 文件合并在一起

在许多情况下,你可能希望将两个或更多策略文件合并在一起。 例如,如果使用 审核事件创建适用于企业的应用控制策略规则,则可以将这些规则与现有的应用控制基础策略合并。 若要合并本文中引用的两个应用控制策略,请在提升的 Windows PowerShell 会话中完成以下步骤。

  1. 初始化将使用的变量:

    $PolicyName= "Lamna_FullyManagedClients_Audit"
    $LamnaPolicy=$env:userprofile+"\Desktop\"+$PolicyName+".xml"
    $EventsPolicy=$env:userprofile+"\Desktop\EventsPolicy.xml"
    $MergedPolicy=$env:userprofile+"\Desktop\"+$PolicyName+"_Merged.xml"
    
  2. 使用 Merge-CIPolicy 合并两个策略并创建新的业务应用控制策略:

    Merge-CIPolicy -PolicyPaths $LamnaPolicy,$EventsPolicy -OutputFilePath $MergedPolicy
    

    注意

    通过将其他策略添加到用逗号分隔的 -PolicyPaths 参数,可以将其他策略与上述 Merge-CIPolicy 步骤合并。 -OutputFilePath 指定的新策略文件将具有列表中的第一个策略中的策略信息。 例如,在上面的示例中,$MergedPolicy将从 $LamnaPolicy 继承策略类型、ID、名称和版本信息。 若要更改这些值中的任何一个,请使用 Set-CIPolicyIdInfoSet-CIPolicyVersion

将应用控制规则直接合并到策略 XML 中

除了合并多个策略 XML 文件外,还可以将使用 New-CIPolicyRule cmdlet 创建的规则直接合并到现有的应用控制策略 XML 文件中。 直接合并规则是更新策略的便捷方法,无需创建额外的策略 XML 文件。 例如,若要添加允许应用控件向导和应用控件 RefreshPolicy.exe 工具的规则,请执行以下步骤:

  1. 安装 应用控件向导 打包的 MSIX 应用。

  2. 下载适用于处理器体系结构的 刷新策略工具 ,并将其作为 RefreshPolicy.exe 保存到桌面。

  3. 在 PowerShell 会话中运行以下命令,为应用控件向导创建打包的应用允许规则:

    $PackageInfo = Get-AppxPackage -Name Microsoft.App Control.WDACWizard
    $Rules = New-CIPolicyRule -Package $PackageInfo
    
  4. 为 RefreshPolicy.exe 添加 FilePublisher 规则:

    $Rules += New-CIPolicyRule -DriverFilePath $env:USERPROFILE\Desktop\RefreshPolicy.exe -Level FilePublisher
    
  5. 使用 Merge-CIPolicy 将新规则直接合并到在上一过程的最后一步中创建的 MergedPolicy 文件中:

    Merge-CIPolicy -PolicyPaths $MergedPolicy -OutputFilePath $MergedPolicy -Rules $Rules
    

将合并的策略转换为托管终结点并将其部署到托管终结点

拥有新的合并策略后,可以转换策略二进制文件并将其部署到托管终结点。

  1. 使用 ConvertFrom-CIPolicy 将应用控制策略转换为二进制格式:

    $AppControlPolicyBin=$env:userprofile+"\Desktop\"+$PolicyName+"_{InsertPolicyID}.bin"
    ConvertFrom-CIPolicy -XMLFilePath $MergedPolicy -BinaryFilePath $AppControlPolicyBin
    

    注意

    在上面的示例命令中,对于面向 Windows 10 版本 1903+ 或 Windows 11 的策略,请将字符串“{InsertPolicyID}”替换为在策略 XML 文件中找到的实际 PolicyID GUID (包括大括号 { }) 。 对于 1903 之前的Windows 10版本,请使用名称 SiPolicy.p7b 为二进制文件名。

  2. 将合并的策略 XML 和关联的二进制文件上传到用于企业应用控制策略的源代码管理解决方案。 例如 GitHub 或文档管理解决方案,例如 Office 365 SharePoint

  3. 使用首选部署解决方案部署合并的策略。 请参阅 部署业务应用控制策略