Turn on Script Execution
Controls the PowerShell execution stratégie. RemoteSigned exige à distance scripts to be signed.
- Chemin de la stratégie
- Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell
- Supporté sur
- Windows 10, Windows 11, Windows Server 2016 and later
Controls the PowerShell execution stratégie. RemoteSigned exige à distance scripts to be signed. Les référentiels de sécurité recommandent de le définir sur RemoteSigned or AllSigned.
Description
Turn on Script Execution est un paramètre de stratégie de groupe Windows situé sous Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell. Il s'applique à la branche Configuration ordinateur et est classé comme une stratégie de niveau Avertissement dans la catégorie PowerShell.
Controls the PowerShell execution stratégie. RemoteSigned exige à distance scripts to be signed.
La valeur par défaut Microsoft est Not configured tandis que les référentiels de sécurité (CIS, NIST, DISA STIG) recommandent RemoteSigned or AllSigned.
Techniquement, cette stratégie est appliquée via le registre Windows dans HKLM\Software\Policies\Microsoft\Windows\PowerShell via la valeur ExecutionPolicy. Modifier directement la valeur avec regedit.exe ou PowerShell produit le même résultat que la configuration GPO, mais passer par les stratégies de groupe est préférable pour bénéficier d'une gestion centralisée et d'une persistance lors des redémarrages, reconstructions d'images et cycles de rafraîchissement.
Explication détaillée
Ce paramètre a un impact réel sur la posture de sécurité ou la stabilité opérationnelle du système. La valeur par défaut Microsoft reste acceptable pour des postes isolés ou à faible risque, mais la plupart des référentiels (CIS, NIST, DISA STIG) demandent explicitement de le durcir avant toute exposition à des utilisateurs ou des réseaux non maîtrisés.
Cette stratégie est regroupée dans la catégorie PowerShell, ce qui signifie qu'elle est généralement appliquée via une GPO de domaine liée au niveau d'une OU. Dans un contexte MSP multi-tenant, ciblez-la via des filtres WMI ou des groupes de sécurité plutôt qu'en l'attachant à la racine du domaine, pour pouvoir déployer progressivement (OU pilote → anneaux plus larges → production complète).
Le paramètre prend effet après le prochain rafraîchissement des stratégies de groupe (gpupdate /force pour un test immédiat, ou par défaut sous 90 minutes environ sur un poste et ~5 minutes sur un contrôleur de domaine). Pour une stratégie ordinateur, un redémarrage peut être nécessaire ; pour une stratégie utilisateur, une déconnexion/reconnexion suffit.
Cas d'usage
- Durcir à l'échelle de l'organisation la catégorie powershell sur tous les postes Windows joints au domaine.
- Déployer un baseline aligné CIS Benchmark visant 'Turn on Script Execution' via une GPO dédiée.
- Réduire la surface d'attaque des comptes manipulant des identifiants privilégiés ou des données sensibles.
- Standardiser la configuration sur plusieurs tenants clients dans un parc géré en MSP.
Implications sécurité
Laisser cette stratégie en valeur par défaut n'ouvre pas directement l'accès à un attaquant, mais elle élargit le rayon d'impact une fois l'accès initial obtenu – les mots de passe sont plus faciles à deviner, le verrouillage ne se déclenche pas, les pistes d'audit sont incomplètes ou le mouvement latéral est plus discret. La plupart des régulateurs et assureurs cyber attendent désormais que ce contrôle soit en place au moins au niveau recommandé.
Comment configurer
- Ouvrez la Console de gestion des stratégies de groupe (
gpmc.msc) sur un contrôleur de domaine ou un poste disposant des outils RSAT. - Créez ou éditez une GPO liée à l'OU contenant les configuration ordinateurs cibles. Nous recommandons une GPO de baseline dédiée (ex. SEC – PowerShell) plutôt que de modifier la Default Domain Policy.
- Naviguez vers
Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell. - Ouvrez Turn on Script Execution et définissez-le sur
RemoteSigned or AllSigned. - Cliquez sur OK et fermez l'éditeur.
- Sur le poste cible, exécutez
gpupdate /force(ou attendez le prochain cycle), puis vérifiez avecrsop.mscougpresult /h rapport.html.
Chemin direct registre : HKLM\Software\Policies\Microsoft\Windows\PowerShell\ExecutionPolicy. Vous pouvez appliquer le même changement en PowerShell :
New-Item -Path 'HKLM\Software\Policies\Microsoft\Windows\PowerShell' -Force | Out-Null
Set-ItemProperty -Path 'HKLM\Software\Policies\Microsoft\Windows\PowerShell' -Name 'ExecutionPolicy' -Value <valeur> -Type DWordCorrespondance registre
HKLM\Software\Policies\Microsoft\Windows\PowerShellExecutionPolicyREG_DWORDRemoteSigned or AllSignedNot configured
