Déployer des stratégies App Control à l’aide d’un script

Remarque

Certaines fonctionnalités d’App Control for Business sont disponibles uniquement sur des versions spécifiques de Windows. En savoir plus sur la disponibilité des fonctionnalités De contrôle d’application.

Cet article explique comment déployer des stratégies App Control for Business à l’aide d’un script. Les instructions suivantes utilisent PowerShell, mais peuvent fonctionner avec n’importe quel hôte de script.

Vous devez maintenant avoir une ou plusieurs stratégies De contrôle d’application converties en forme binaire. Si ce n’est pas le cas, suivez les étapes décrites dans Déploiement de stratégies App Control for Business.

Important

En raison d’un problème connu, vous devez toujours activer les nouvelles stratégies de base de contrôle d’application signées avec un redémarrage sur les systèmes sur lesquels l’intégrité de la mémoire est activée. Ignorez toutes les étapes ci-dessous qui utilisent CiTool, RefreshPolicy.exe ou WMI pour lancer une activation de stratégie. Au lieu de cela, copiez le fichier binaire de stratégie vers les emplacements system32 et EFI appropriés, puis activez la stratégie avec un redémarrage du système.

Ce problème n’affecte pas les mises à jour des stratégies de base signées qui sont déjà actives sur le système, le déploiement de stratégies non signées ou le déploiement de stratégies supplémentaires (signées ou non signées). Cela n’affecte pas non plus les déploiements sur des systèmes qui n’exécutent pas l’intégrité de la mémoire.

Déploiement de stratégies pour Windows 11 22H2 et versions ultérieures

Vous pouvez utiliser la boîte de réception CiTool pour appliquer des stratégies sur Windows 11 22H2 avec les commandes suivantes. Veillez à remplacer <Chemin d’accès au fichier binaire de stratégie à déployer> dans l’exemple suivant par le chemin d’accès réel à votre fichier binaire de stratégie App Control.

# 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]

Déploiement de stratégies pour Windows 11, Windows 10 version 1903 et ultérieures, et Windows Server 2022 et versions ultérieures

Pour utiliser cette procédure, téléchargez et distribuez l’outil d’actualisation de stratégie App Control à tous les points de terminaison managés. Vérifiez que vos stratégies App Control autorisent l’outil d’actualisation de stratégie App Control ou utilisez un programme d’installation managé pour distribuer l’outil.

  1. Initialisez les variables à utiliser par le script.

    # 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. Copiez le fichier binaire de stratégie App Control for Business dans le dossier de destination.

    Copy-Item -Path $PolicyBinary -Destination $DestinationFolder -Force
    
  3. Répétez les étapes 1 à 2 selon les besoins pour déployer d’autres stratégies De contrôle d’application.

  4. Exécutez RefreshPolicy.exe pour activer et actualiser toutes les stratégies App Control sur le point de terminaison managé.

    & $RefreshPolicyTool
    

Déploiement de stratégies pour toutes les autres versions de Windows et Windows Server

Utilisez WMI pour appliquer des stratégies à toutes les autres versions de Windows et Windows Server.

  1. Initialisez les variables à utiliser par le script.

    # 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. Copiez le fichier binaire de stratégie App Control for Business vers la destination.

    Copy-Item  -Path $PolicyBinary -Destination $DestinationBinary -Force
    
  3. Actualiser et activer la stratégie de contrôle d’application à l’aide de WMI

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

Déploiement de stratégies signées

Si vous utilisez des stratégies App Control signées, les stratégies doivent être déployées dans la partition EFI de votre appareil en plus des emplacements décrits dans les sections précédentes. Les stratégies de contrôle d’application non signées n’ont pas besoin d’être présentes dans la partition EFI.

  1. Montez le volume EFI et créez le répertoire, s’il n’existe pas, dans une invite PowerShell avec élévation de privilèges :

    $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. Copiez la stratégie signée dans le dossier créé :

    Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force
    
  3. Redémarrez le système.