Sous Windows 11 (ou 10), par défaut, lorsque vous essayez d'exécuter un script sur PowerShell, il échouera avec le message d'erreur "ne peut pas être chargé car l'exécution des scripts est désactivée sur ce système" . En effet, PowerShell est livré avec une fonctionnalité de sécurité "politique d'exécution" qui contrôle la façon de charger les fichiers de configuration et d'exécuter des scripts pour empêcher l'exécution de code malveillant sur le système.
Si vous devez exécuter un script sur Windows 11 (ou 10), vous pouvez modifier la stratégie d'exécution pour l'ordinateur local, l'utilisateur actuel ou la session.
Lorsque vous définissez une stratégie d'exécution PowerShell pour l'ordinateur local et l'utilisateur actuel, les informations sont stockées dans le Registre. Si vous définissez la stratégie pour une session particulière, la stratégie sera conservée en mémoire puis perdue lorsque vous fermerez la session.
Selon Microsoft , la politique d'exécution ne limite pas l'action. Vous pouvez toujours contourner la stratégie en tapant le script dans l'interface de ligne de commande (CLI). La politique d'exécution a été conçue pour aider les utilisateurs à empêcher l'exécution de scripts malveillants.
Ce guide vous apprendra comment modifier la politique d'exécution pour exécuter des scripts avec succès sur PowerShell sous Windows 11 ou 10.
Modifier la politique d'exécution sur PowerShell
Pour modifier la stratégie d'exécution sur PowerShell afin d'exécuter avec succès des scripts sur Windows 11 (ou 10), procédez comme suit :
-
Ouvrez Démarrer .
-
Recherchez PowerShell , cliquez avec le bouton droit sur le premier résultat et sélectionnez l' option Exécuter en tant qu'administrateur .
-
Tapez la commande suivante pour confirmer la politique d'exécution actuelle et appuyez sur Entrée :
Get-ExecutionPolicy
-
(Facultatif) Tapez la commande suivante pour afficher les stratégies d'exécution PowerShell en vigueur et appuyez sur Entrée :
Get-ExecutionPolicy-Liste
-
Tapez la commande suivante pour autoriser l'exécution des scripts et appuyez sur Entrée :
Set-ExecutionPolicy RemoteSigned
-
(Facultatif) Tapez la commande suivante pour empêcher l'exécution des scripts et appuyez sur Entrée :
Set-ExecutionPolicy restreint
Une fois que vous avez terminé les étapes, vous pouvez exécuter le script une fois de plus, et il devrait maintenant s'exécuter correctement sur Windows 11. Si vous ne souhaitez plus autoriser l'exécution des scripts sur votre ordinateur, vous pouvez exécuter la commande facultative mentionnée dans les étapes.
Si vous souhaitez modifier la politique d'exécution pour exécuter des scripts pour l'utilisateur actuel ou l'ordinateur local, vous devez utiliser l'option "Scope" comme ceci : Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
ou Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
.
Sur Windows 11, vous pouvez choisir parmi quatre politiques d'exécution différentes pour autoriser ou refuser les scripts :
- Restreint — bloque l'exécution de tout script.
- RemoteSigned — autorise les scripts créés sur l'ordinateur. Cependant, les scripts créés sur un autre appareil ne s'exécuteront que s'ils disposent d'une signature approuvée.
- AllSigned — permet à tous les scripts de s'exécuter. Cependant, uniquement si un éditeur de confiance a inclus une signature.
- Sans restriction — exécute n'importe quel script sans restriction.
Vous n'avez pas besoin de modifier la stratégie d'exécution si vous devez exécuter un script qui n'a pas les paramètres requis et ne renvoie pas de sortie. Au lieu de cela, vous pouvez utiliser la PowerShell.exe -File "FILENAME" -ExecutionPolicy
commande Bypass pour contourner les restrictions.