ANAVEM
Languageen
Comment définir la stratégie d'exécution PowerShell à l'aide d'Intune et de la stratégie de groupe

Comment définir la stratégie d'exécution PowerShell à l'aide d'Intune et de la stratégie de groupe

Configurer les stratégies d'exécution PowerShell sur les appareils Windows à l'aide de Microsoft Intune et de la stratégie de groupe pour la sécurité d'entreprise et la gestion des scripts.

28 mars 2026 15 min
mediumpowershell 10 étapes 15 min

Pourquoi configurer des politiques d'exécution PowerShell à l'échelle de l'entreprise ?

Les politiques d'exécution PowerShell servent de première ligne de défense contre l'exécution de scripts malveillants tout en permettant l'automatisation légitime et les tâches administratives. Dans les environnements d'entreprise, gérer ces politiques de manière cohérente sur des centaines ou des milliers de dispositifs Windows nécessite des méthodes de déploiement centralisées plutôt qu'une configuration manuelle sur chaque machine.

Quelles sont les différentes options de politique d'exécution PowerShell ?

PowerShell propose plusieurs niveaux de politique d'exécution, chacun offrant des postures de sécurité différentes. La politique Restreinte bloque toute exécution de script, AllSigned nécessite des signatures numériques sur tous les scripts, RemoteSigned permet l'exécution libre des scripts locaux tout en exigeant des signatures pour les scripts téléchargés, et Non restreint permet l'exécution de tous les scripts. Comprendre ces options vous aide à équilibrer les exigences de sécurité avec les besoins opérationnels.

Comment comparer la gestion PowerShell avec Group Policy et Intune ?

Tant Group Policy que Microsoft Intune peuvent déployer des politiques d'exécution PowerShell, mais ils répondent à des scénarios différents. Group Policy fonctionne mieux pour les environnements traditionnels joints au domaine avec une infrastructure Active Directory, offrant une application immédiate des politiques et une forte prépondérance sur les paramètres locaux. Intune excelle dans les scénarios de lieu de travail moderne avec des appareils connectés au cloud, offrant une flexibilité pour les travailleurs à distance et les environnements BYOD. Lorsque les deux politiques ciblent le même appareil, Group Policy prend le pas grâce à la portée MachinePolicy.

Quels prérequis sont nécessaires pour la gestion des politiques PowerShell en entreprise ?

Un déploiement réussi nécessite une infrastructure et des autorisations appropriées. Pour Group Policy, vous avez besoin des services de domaine Active Directory, de la console de gestion des stratégies de groupe et des droits administratifs pour créer et lier des GPO. Le déploiement Intune nécessite une licence Microsoft Intune, un accès à Endpoint Manager et des groupes d'appareils correctement configurés. Les deux méthodes bénéficient de groupes de test pilote et de procédures de retour en arrière pour assurer un déploiement en production fluide.

Guide de mise en oeuvre

Procédure complète

01

Installer les outils de gestion des stratégies de groupe

Tout d'abord, installez la Console de gestion des stratégies de groupe (GPMC) sur votre poste de travail administratif. Cet outil est essentiel pour créer et gérer les objets de stratégie de groupe.

Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

Alternativement, vous pouvez installer les outils RSAT via Paramètres :

  1. Ouvrez Paramètres > Applications > Fonctionnalités facultatives
  2. Cliquez sur "Ajouter une fonctionnalité facultative"
  3. Recherchez "RSAT : Outils de gestion des stratégies de groupe"
  4. Installez la fonctionnalité

Vérification : Exécutez gpmc.msc pour confirmer que la Console de gestion des stratégies de groupe s'ouvre avec succès.

Conseil pro : Installez les outils RSAT sur un poste de travail administratif dédié plutôt que sur les contrôleurs de domaine pour de meilleures pratiques de sécurité.
02

Créer un objet de stratégie de groupe pour la politique d'exécution de PowerShell

Lancez la console de gestion des stratégies de groupe et créez un nouveau GPO spécifiquement pour la gestion de la stratégie d'exécution de PowerShell.

gpmc.msc

Suivez ces étapes dans le GPMC :

  1. Développez votre domaine dans le panneau de gauche
  2. Cliquez avec le bouton droit sur "Objets de stratégie de groupe"
  3. Sélectionnez "Nouveau" et nommez-le "Définir la stratégie d'exécution de PowerShell"
  4. Cliquez avec le bouton droit sur le nouveau GPO et sélectionnez "Modifier"

Naviguez vers les paramètres de la stratégie PowerShell :

  1. Configuration de l'ordinateur > Stratégies > Modèles d'administration
  2. Composants Windows > Windows PowerShell
  3. Double-cliquez sur "Activer l'exécution des scripts"

Vérification : Confirmez que vous pouvez voir la stratégie "Activer l'exécution des scripts" dans la section Windows PowerShell.

03

Configurer la stratégie d'exécution PowerShell dans la stratégie de groupe

Configurez les paramètres de la stratégie d'exécution en fonction des exigences de sécurité de votre organisation. La stratégie offre plusieurs options qui correspondent aux niveaux de stratégie d'exécution de PowerShell.

Dans la boîte de dialogue "Activer l'exécution de scripts" :

  1. Sélectionnez "Activé"
  2. Choisissez votre stratégie d'exécution dans le menu déroulant :
Option GPOStratégie PowerShellDescription
Autoriser uniquement les scripts signésAllSignedTous les scripts doivent être signés numériquement
Autoriser les scripts locaux et les scripts signés à distanceRemoteSignedLes scripts locaux s'exécutent librement, les scripts distants doivent être signés
Autoriser tous les scriptsUnrestrictedTous les scripts peuvent s'exécuter sans restrictions

Pour la plupart des environnements d'entreprise, sélectionnez "Autoriser les scripts locaux et les scripts signés à distance" pour une sécurité équilibrée.

# Voici ce que la stratégie définira effectivement
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

Cliquez sur "Appliquer" puis "OK" pour enregistrer la configuration.

Vérification : Le statut de la stratégie doit apparaître comme "Activé" avec votre stratégie d'exécution sélectionnée visible dans le résumé des paramètres.

Avertissement : Ne sélectionnez jamais "Autoriser tous les scripts" dans les environnements de production sauf si absolument nécessaire, car cela supprime toutes les restrictions de sécurité de PowerShell.
04

Lier et déployer l'objet de stratégie de groupe

Associez votre GPO à l'Unité Organisationnelle (OU) appropriée pour déployer la stratégie d'exécution PowerShell sur les ordinateurs cibles.

Commencez par une OU de test pour validation :

  1. Dans GPMC, faites un clic droit sur votre OU de test (par exemple, "Ordinateurs de test")
  2. Sélectionnez "Lier un GPO existant"
  3. Choisissez "Définir la stratégie d'exécution PowerShell"
  4. Cliquez sur "OK"

Forcez l'application de la stratégie sur les machines de test :

# Exécuter sur les ordinateurs cibles
gpupdate /force

# Vérifier l'application de la stratégie
gpresult /r | findstr "PowerShell"

Vérifiez que la stratégie d'exécution est appliquée :

# Vérifier la stratégie d'exécution actuelle
Get-ExecutionPolicy

# Vérifier tous les niveaux pour voir la hiérarchie des stratégies
Get-ExecutionPolicy -List

Sortie attendue :

Scope          ExecutionPolicy
-----          ---------------
MachinePolicy  RemoteSigned
UserPolicy     Undefined
Process        Undefined
CurrentUser    Undefined
LocalMachine   Undefined

Vérification : Le niveau MachinePolicy devrait afficher votre stratégie d'exécution configurée, et Get-ExecutionPolicy devrait retourner la stratégie que vous avez définie.

05

Configurer la stratégie d'exécution PowerShell via Microsoft Intune

Accédez au centre d'administration Microsoft Endpoint Manager pour créer un profil de configuration Intune pour la stratégie d'exécution PowerShell.

Accédez à https://endpoint.microsoft.com et connectez-vous avec vos identifiants d'administrateur.

  1. Allez dans Appareils > Profils de configuration
  2. Cliquez sur "Créer un profil"
  3. Sélectionnez Plateforme : "Windows 10 et versions ultérieures"
  4. Type de profil : "Modèles" > "Modèles administratifs"
  5. Nom : "Stratégie d'exécution PowerShell - Intune"

Configurez les paramètres de la stratégie :

  1. Cliquez sur "Paramètres de configuration"
  2. Recherchez "Activer l'exécution de scripts"
  3. Accédez à Configuration de l'ordinateur > Composants Windows > Windows PowerShell
  4. Activez "Activer l'exécution de scripts"
  5. Sélectionnez la stratégie d'exécution souhaitée (mêmes options que GPO)

Vérification : Confirmez que la stratégie apparaît comme "Activée" avec votre stratégie d'exécution sélectionnée dans le résumé de configuration.

Astuce pro : Utilisez des noms descriptifs pour les profils Intune qui incluent la date et l'objectif, comme "PowerShell-RemoteSigned-2026-03" pour une gestion plus facile.
06

Attribuer le profil de configuration Intune aux groupes d'appareils

Affectez votre configuration de stratégie d'exécution PowerShell à des groupes d'appareils spécifiques dans votre organisation.

Dans l'assistant de création de profil :

  1. Cliquez sur "Affectations"
  2. Sous "Groupes inclus", cliquez sur "Ajouter des groupes"
  3. Sélectionnez vos groupes d'appareils cibles (commencez par un groupe pilote)
  4. Configurez les exclusions si nécessaire
  5. Cliquez sur "Suivant" pour continuer

Créez un groupe d'appareils de test si vous n'en avez pas :

  1. Allez dans Groupes > Tous les groupes > Nouveau groupe
  2. Type de groupe : "Sécurité"
  3. Nom du groupe : "PowerShell-Policy-Pilot"
  4. Type d'adhésion : "Attribué"
  5. Ajoutez des appareils de test en tant que membres

Complétez le déploiement du profil :

  1. Examinez vos paramètres
  2. Cliquez sur "Créer" pour déployer le profil

Vérification : Vérifiez le statut du profil sous Appareils > Profils de configuration. Le profil devrait afficher le statut "Attribué" avec le nombre d'appareils ciblés.

Avertissement : Pour les appareils joints au lieu de travail, utilisez toujours des groupes d'appareils plutôt que des groupes d'utilisateurs, car les stratégies ciblées sur les utilisateurs peuvent ne pas s'appliquer correctement à ces appareils.
07

Déployer des scripts PowerShell via Intune (Méthode alternative)

Comme alternative aux profils de configuration, vous pouvez déployer des scripts PowerShell directement via Intune pour définir des politiques d'exécution.

Accédez à Appareils > Scripts et remédiations > Scripts de plateforme :

  1. Cliquez sur "Ajouter" > "Windows 10 et versions ultérieures"
  2. Nom : "Script de définition de la politique d'exécution PowerShell"
  3. Description : "Définit la politique d'exécution RemoteSigned via un script"

Créez le script PowerShell :

# Contenu du script PowerShell
try {
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine -Force
    Write-Output "Politique d'exécution définie sur RemoteSigned avec succès"
    exit 0
} catch {
    Write-Error "Échec de la définition de la politique d'exécution : $($_.Exception.Message)"
    exit 1
}

Configurer les paramètres du script :

  • Exécuter ce script en utilisant les informations d'identification de l'utilisateur connecté : Non
  • Appliquer la vérification de la signature du script : Non
  • Exécuter le script dans PowerShell 64 bits : Oui

Affectez aux mêmes groupes d'appareils que votre profil de configuration pour les tests.

Vérification : Surveillez l'exécution du script sous Appareils > Scripts et remédiations. Vérifiez le statut d'exécution et les éventuels messages d'erreur.

08

Tester et valider l'application de la politique

Vérifiez que votre stratégie d'exécution PowerShell est correctement appliquée sur vos appareils de test en utilisant à la fois les méthodes de stratégie de groupe et Intune.

Sur les appareils de test, vérifiez l'application de la stratégie :

# Forcer la synchronisation Intune
Get-ScheduledTask | Where-Object {$_.TaskName -eq "PushLaunch"} | Start-ScheduledTask

# Vérifier la stratégie d'exécution
Get-ExecutionPolicy -List

# Tester l'exécution de script avec un script simple
$testScript = @'
Write-Host "Test de la stratégie d'exécution PowerShell réussi"
Get-Date
'@

$testScript | Out-File -FilePath "C:\temp\test.ps1" -Encoding UTF8
PowerShell.exe -File "C:\temp\test.ps1"

Vérifiez la priorité et les conflits des stratégies :

# Vérifier quelle source de stratégie est active
Get-ExecutionPolicy -List | Format-Table -AutoSize

# Vérifier l'application de la stratégie de groupe
gpresult /h C:\temp\gpresult.html

# Vérifier l'application de la stratégie Intune
Get-WinEvent -LogName "Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin" | Where-Object {$_.Message -like "*PowerShell*"}

Comportement attendu : La stratégie de groupe (portée MachinePolicy) prend le pas sur les stratégies Intune lorsque les deux sont appliquées au même appareil.

Vérification : Le script de test doit s'exécuter avec succès, et Get-ExecutionPolicy doit retourner votre stratégie configurée (RemoteSigned, AllSigned, ou Unrestricted).

Conseil pro : Utilisez Get-ExecutionPolicy -List pour comprendre la hiérarchie des stratégies et identifier quelle source définit la stratégie d'exécution effective.
09

Surveiller et dépanner le déploiement des politiques

Implémentez des procédures de surveillance et de dépannage pour vous assurer que vos stratégies d'exécution PowerShell fonctionnent correctement dans votre environnement.

Surveiller l'application des stratégies de groupe :

# Vérifier l'application des GPO sur le client
gpresult /r /scope:computer

# Générer un rapport HTML détaillé
gpresult /h C:\temp\gpo-report.html /scope:computer

# Vérifier les erreurs de stratégie de groupe
Get-WinEvent -LogName "System" | Where-Object {$_.ProviderName -eq "Microsoft-Windows-GroupPolicy"}

Surveiller le déploiement des stratégies Intune :

  1. Dans Endpoint Manager, allez à Appareils > Profils de configuration
  2. Cliquez sur votre profil de stratégie PowerShell
  3. Examinez les onglets "Statut de l'appareil" et "Statut de l'utilisateur"
  4. Vérifiez les statuts "Erreur" ou "Conflit"

Commandes de dépannage courantes :

# Forcer l'actualisation des stratégies de groupe
gpupdate /force

# Redémarrer le service de stratégie de groupe
Restart-Service gpsvc

# Forcer la synchronisation des stratégies Intune
Invoke-WmiMethod -Namespace root\cimv2\mdm\dmmap -Class MDM_EnterpriseModernAppManagement_AppManagement01 -MethodName UpdateScanMethod

# Vérifier les journaux d'événements PowerShell
Get-WinEvent -LogName "Microsoft-Windows-PowerShell/Operational" | Where-Object {$_.LevelDisplayName -eq "Error"}

Vérification : Les deux méthodes de surveillance doivent montrer une application réussie des stratégies sans erreurs ni conflits signalés.

10

Déployer dans l'environnement de production

Après des tests réussis, déployez votre configuration de stratégie d'exécution PowerShell dans votre environnement de production en utilisant une approche par phases.

Pour le déploiement de la stratégie de groupe :

  1. Détachez le GPO des UO de test
  2. Liez aux UO de production par phases (commencez par les systèmes moins critiques)
  3. Surveillez pendant 24-48 heures entre les phases
  4. Documentez tout problème et les procédures de retour en arrière

Pour le déploiement Intune :

  1. Retirez les groupes de dispositifs pilotes des affectations
  2. Ajoutez progressivement les groupes de dispositifs de production
  3. Surveillez le statut du déploiement dans Endpoint Manager
  4. Configurez des rapports automatisés pour la conformité des politiques

Créez un plan de retour en arrière :

# Script de retour en arrière d'urgence pour exécution locale
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope LocalMachine -Force

# Vérifiez le retour en arrière
Get-ExecutionPolicy -List

Configurez une surveillance continue :

# Script PowerShell pour vérifier la politique d'exécution sur plusieurs ordinateurs
$computers = Get-ADComputer -Filter * -SearchBase "OU=Production,DC=company,DC=com"

foreach ($computer in $computers) {
    try {
        $policy = Invoke-Command -ComputerName $computer.Name -ScriptBlock {Get-ExecutionPolicy} -ErrorAction Stop
        Write-Output "$($computer.Name): $policy"
    } catch {
        Write-Warning "Échec de la vérification de $($computer.Name): $($_.Exception.Message)"
    }
}

Vérification : Exécutez des rapports de conformité pour vous assurer que tous les dispositifs de production ont la bonne politique d'exécution appliquée et fonctionnent comme prévu.

Avertissement : Maintenez toujours un plan de retour en arrière et testez-le soigneusement avant le déploiement en production. Les changements de politique d'exécution PowerShell peuvent affecter les scripts et l'automatisation critiques pour l'entreprise.

Questions Fréquentes

Que se passe-t-il lorsque à la fois la stratégie de groupe et Intune définissent des politiques d'exécution PowerShell différentes ?+
La stratégie de groupe prend toujours le pas sur Intune lorsqu'elles sont toutes deux appliquées au même appareil. Le paramètre de stratégie de groupe s'applique via le champ MachinePolicy, qui a une priorité plus élevée que toute configuration Intune. Vous pouvez vérifier cela en exécutant Get-ExecutionPolicy -List pour voir la hiérarchie des stratégies, où MachinePolicy affichera le paramètre de stratégie de groupe et remplacera les autres champs.
Puis-je définir différentes stratégies d'exécution PowerShell pour PowerShell 5.1 et PowerShell 7.6 ?+
Les modèles d'administration de Group Policy et Intune n'affectent par défaut que Windows PowerShell 5.1. PowerShell 7.6 (pwsh.exe) maintient des paramètres de stratégie d'exécution distincts. Pour gérer les stratégies de PowerShell 7.6 de manière centralisée, vous devez déployer des scripts personnalisés via Intune qui ciblent spécifiquement pwsh.exe, ou utiliser le paramètre -ExecutionPolicy lors du lancement de scripts PowerShell 7.6.
Combien de temps faut-il pour que les modifications de la stratégie d'exécution PowerShell s'appliquent via Intune ?+
L'application des politiques Intune se produit généralement dans les 8 heures pour les politiques ciblées sur les appareils, mais peut être plus rapide lors de l'utilisation active de l'appareil. Vous pouvez forcer une synchronisation immédiate en exécutant la tâche planifiée PushLaunch ou en utilisant le bouton Synchroniser dans l'application Portail d'entreprise. Les modifications de la stratégie de groupe s'appliquent immédiatement lors du prochain cycle de rafraîchissement des politiques (toutes les 90 minutes par défaut) ou lors de l'exécution de gpupdate /force.
Quelle est la stratégie d'exécution PowerShell la plus sécurisée pour les environnements d'entreprise ?+
RemoteSigned est généralement l'option sécurisée la plus pratique pour les environnements d'entreprise. Il permet aux scripts créés localement de s'exécuter sans signatures tout en exigeant des signatures numériques pour les scripts téléchargés depuis Internet. Cela équilibre la sécurité avec la flexibilité opérationnelle, empêchant la plupart des logiciels malveillants tout en permettant les scripts administratifs légitimes. AllSigned offre une sécurité maximale mais nécessite une infrastructure de signature de code pour tous les scripts.
Comment puis-je résoudre le problème de la politique d'exécution PowerShell qui ne s'applique pas correctement ?+
Commencez par vérifier la hiérarchie des politiques avec Get-ExecutionPolicy -List pour identifier quelle portée définit la politique. Pour les problèmes de stratégie de groupe, exécutez gpresult /r pour vérifier l'application des GPO et consultez les journaux d'événements de la stratégie de groupe. Pour Intune, vérifiez le statut d'inscription de l'appareil et consultez les journaux d'événements DeviceManagement. Les problèmes courants incluent le ciblage des groupes d'utilisateurs au lieu des groupes d'appareils dans Intune, ou des politiques locales conflictuelles qui remplacent les paramètres gérés de manière centralisée.

Discussion

Partagez vos réflexions et analyses

Connectez-vous pour participer