Поделиться через


Развертывание политик управления приложениями с помощью скрипта

Примечание.

Некоторые возможности управления приложениями для бизнеса доступны только в определенных версиях Windows. Дополнительные сведения о доступности функций управления приложениями.

В этой статье описывается развертывание политик управления приложениями для бизнеса с помощью скрипта. В следующих инструкциях используется PowerShell, но он может работать с любым узлом сценариев.

Теперь у вас должна быть одна или несколько политик управления приложениями, преобразованных в двоичную форму. Если нет, выполните действия, описанные в разделе Развертывание политик управления приложениями для бизнеса.

Важно.

Из-за известной проблемы в обновлениях Windows 11 до 2024 года (24H2) следует всегда активировать новые подписанные базовые политики управления приложениями с перезагрузкой в системах с включенной целостностью памяти. Пропустите все приведенные ниже шаги, использующие CiTool, RefreshPolicy.exe или WMI для активации политики. Вместо этого скопируйте двоичный файл политики в правильные расположения system32 и EFI, а затем активируйте политику с перезапуском системы.

Эта проблема не влияет на обновления подписанных базовых политик, которые уже активны в системе, развертывание неподписанных политик или развертывание дополнительных политик (подписанных или неподписанных). Это также не влияет на развертывания в системах, в которых не выполняется целостность памяти.

Развертывание политик для Windows 11 22H2 и более поздних версий, а также Windows Server 2025 и более поздних версий

CiTool для папки "Входящие" можно использовать для развертывания подписанных и неподписанных политик на Windows 11 22H2 и Windows Server 2025 с помощью следующих команд. Обязательно замените <Path to policy binary file to deploy> в следующем примере фактическим путем к двоичному файлу политики управления приложениями.

# Policy binary files should be named as {GUID}.cip for multiple policy format files (where {GUID} = <PolicyId> from the Policy XML)
$PolicyBinary = "<Path to policy binary file to deploy>"
CiTool --update-policy $PolicyBinary [-json]

Развертывание политик для Windows 11, Windows 10 версии 1903 и выше, а также Windows Server 2022 и более поздних версий

Чтобы использовать эту процедуру, скачайте и раздайте средство обновления политики управления приложениями всем управляемым конечным точкам. Убедитесь, что политики управления приложениями разрешают обновление политики управления приложениями или используйте управляемый установщик для распространения средства.

  1. Инициализируйте переменные, которые будут использоваться скриптом.

    # Policy binary files should be named as {GUID}.cip for multiple policy format files (where {GUID} = <PolicyId> from the Policy XML)
    $PolicyBinary = "<Path to policy binary file to deploy>"
    $DestinationFolder = $env:windir+"\System32\CodeIntegrity\CIPolicies\Active\"
    $RefreshPolicyTool = "<Path where RefreshPolicy.exe can be found from managed endpoints>"
    
  2. Скопируйте двоичный файл политики управления приложениями для бизнеса в целевую папку.

    Copy-Item -Path $PolicyBinary -Destination $DestinationFolder -Force
    
  3. Повторите шаги 1–2, чтобы развернуть дополнительные политики управления приложениями.

  4. Запустите RefreshPolicy.exe, чтобы активировать и обновить все политики управления приложениями в управляемой конечной точке.

    & $RefreshPolicyTool
    

Развертывание политик для всех остальных версий Windows и Windows Server

Используйте WMI для развертывания политик во всех остальных версиях Windows и Windows Server.

  1. Инициализируйте переменные, которые будут использоваться скриптом.

    # Policy binary files should be named as SiPolicy.p7b for Windows 10 versions earlier than 1903
    $PolicyBinary = "<Path to policy binary file to deploy>"
    $DestinationBinary = $env:windir+"\System32\CodeIntegrity\SiPolicy.p7b"
    
  2. Скопируйте двоичный файл политики управления приложениями для бизнеса в место назначения.

    Copy-Item  -Path $PolicyBinary -Destination $DestinationBinary -Force
    
  3. Обновление и активация политики управления приложениями с помощью WMI

    Invoke-CimMethod -Namespace root\Microsoft\Windows\CI -ClassName PS_UpdateAndCompareCIPolicy -MethodName Update -Arguments @{FilePath = $DestinationBinary}
    

Развертывание подписанных политик

Если вы используете подписанные политики управления приложениями, политики должны быть развернуты в разделе EFI устройства.

  1. Подключите том EFI и создайте каталог (если он не существует) в командной строке PowerShell с повышенными привилегиями:

    $MountPoint = 'C:\EFIMount'
    $EFIDestinationFolder = "$MountPoint\EFI\Microsoft\Boot\CiPolicies\Active"
    $EFIPartition = (Get-Partition | Where-Object IsSystem).AccessPaths[0]
    if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force }
    mountvol $MountPoint $EFIPartition
    if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force }
    
  2. Скопируйте подписанную политику в созданную папку:

    Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force
    
  3. Перезапустите систему.