Comment activer et utiliser la stratégie d’exécution des scripts dans Windows PowerShell
Par défaut, iPowerShell vous permet d’exécuter des commandes (cmdlets) via sa console. Pour exécuter un script, vous pouvez créer un fichier notepad avec le code du script, l’enregistrer avec une extension de fichier .ps1 et l’exécuter via la console PowerShell. Vous pouvez également coller directement le script dans la console pour l’exécuter.
Cependant, si c’est la première fois que vous exécutez un script via PowerShell, vous rencontrerez l’erreur « Running script is disabled ». Par défaut, l’exécution de scripts sur PowerShell est désactivée par mesure de sécurité afin d’empêcher les scripts malveillants de s’exécuter sur votre système. Nous vous présentons ici les deux façons d’activer la politique d’exécution des scripts sur Windows PowerShell.
Comment vérifier votre politique d’exécution existante
Vous pouvez utiliser une cmdlet PowerShell pour obtenir votre politique d’exécution actuelle. Connaître votre politique d’exécution actuelle est nécessaire pour savoir si vous avez besoin d’un changement de politique ou non.
Pour obtenir votre politique d’exécution actuelle pour l’utilisateur actuel :
- Ouvrez Windows PowerShell en tant qu’administrateur.
- Saisissez la commande suivante dans la console PowerShell et appuyez sur la touche Entrée :
- Étant donné que vous avez rencontré une erreur lors de l’exécution du script, le retour indiquera probablement Restreint comme politique d’exécution actuelle.
- Si vous souhaitez afficher la politique d’exécution pour tous les champs d’application pris en charge :
Vous devrez changer la politique d’exécution en RemoteSigned pour exécuter des scripts locaux sans erreur. Vous pouvez modifier la politique d’exécution à partir de l’application Paramètres et de PowerShell.
Comment activer la stratégie d’exécution PowerShell à l’aide de l’application Paramètres ?
Vous pouvez modifier et définir la politique d’exécution de PowerShell sur RemoteSigned à l’aide de l’application Paramètres. Tout ce que vous avez à faire est de modifier les paramètres PowerShell dans la section des développeurs pour changer la politique d’exécution afin d’activer l’exécution des scripts PowerShell.
Pour modifier la politique d’exécution à l’aide de l’application Paramètres :
- Appuyez sur Win + I pour ouvrir Se t tings.
- Ouvrez les La vie privée & Sécurité dans le volet gauche.
- Cliquez ensuite sur Pour les développeurs.
- Cliquez pour développer la section PowerShell
- Basculez le commutateur sur modifier la politique d’exécution pour permettre aux scripts PowerShell locaux de s’exécuter sans signature – Exiger la signature pour les scripts distants.
- Une fois cela fait, ouvrez PowerShell, tapez get executionpolicy, et appuyez sur Entrez. La politique d’exécution pour l’utilisateur actuel est maintenant définie comme suit RemoteSigned.
- Si vous avez besoin de désactiver la politique d’exécution, basculez le commutateur PowerShell et définissez-le sur Désactivé.
Comment autoriser l’exécution de scripts dans PowerShell à l’aide de PowerShell
Vous pouvez utiliser une cmdlet PowerShell pour définir la politique d’exécution sur RemoteSigned. L’interface de ligne de commande permet de modifier rapidement la politique d’exécution sans utiliser l’application Paramètres.
De plus, l’application Paramètres ne peut qu’activer ou désactiver la politique d’exécution RemoteSigned. Alors que PowerShell vous permet de définir d’autres politiques et portées également.
Pour modifier la politique d’exécution à l’aide de PowerShell :
- Ouvrez PowerShell en tant qu’administrateur.
- Dans la fenêtre PowerShell, tapez la commande suivante et appuyez sur Entrez:
- Si vous y êtes invité, appuyez sur A pour confirmer l’action. Cette opération permet de régler la valeur de Signé à distance pour tous les utilisateurs. Si vous souhaitez définir la politique d’exécution pour le fichier l’utilisateur actuel uniquement, utilisez le paramètre Scope suivi du nom d’utilisateur.
- Par exemple, pour définir le paramètre RemoteSigned pour la politique d’exécution de L’utilisateur actuel, utilisez la commande suivante :
- Remplacer Utilisateur actuel dans la commande ci-dessus par d’autres utilisateurs (Scope) selon vos besoins.
Comment supprimer la politique d’exécution des scripts à l’aide de PowerShell
Si vous souhaitez désactiver l’exécution des scripts, définissez la politique d’exécution sur Non définie en utilisant le e Set_ExecutionPolicy cmdlet. Il s’agit d’un état par défaut qui empêche PowerShell d’exécuter des scripts.
Pour désactiver l’exécution de scripts à l’aide de PowerShell :
- Ouvrez PowerShell avec une autorisation élevée.
- Ensuite, tapez la commande suivante et appuyez sur entrée pour désactiver l’exécution des scripts pour tous les utilisateurs :
- La commande ci-dessus définira la politique d’exécution par défaut (non définie) pour tous les utilisateurs. Si vous souhaitez désactiver l’exécution de scripts pour une portée spécifique, utilisez la commande suivante :
- La commande ci-dessus désactivera l’exécution des scripts pour L’utilisateur actuel.
Comprendre les politiques d’exécution et les champs d’application
En termes simples, la politique d’exécution de PowerShell est une politique qui contrôle la manière dont PowerShell exécute les fichiers de configuration et les scripts. L’objectif visé est d’empêcher les utilisateurs d’exécuter accidentellement des scripts malveillants. Les sept politiques d’exécution de PowerShell sont les suivantes Default, Restricted, RemoteSigned, AllSigned, Unrestricted, Bypass et Undefined.
Le tableau ci-dessous explique brièvement toutes les politiques d’exécution PowerShell :
Politique d’exécution | Exécution |
Défaut | Définit la politique d’exécution par défaut comme étant restreinte sur le client Windows et signée à distance sur le serveur Windows. |
Tous signés | Permet l’exécution de scripts signés par l’éditeur. |
Contournement | Exécution sans restriction de scripts pour des applications plus importantes. |
Signé à distance | Permet l’exécution de scripts écrits localement. Exige des signatures numériques pour les scripts téléchargés depuis l’internet. |
Restreint | N’autorise pas l’exécution de scripts, mais seulement de commandes PowerShell individuelles. |
Non défini | Définit la politique d’exécution sur Restreint pour les clients Windows et RemoteSigned pour Windows Server. |
Sans restriction | Autorise l’exécution de scripts non signés avec un avertissement pour les scripts téléchargés sur Internet. |
Champ d’application de la politique d’exécution
Vous pouvez définir une politique d’exécution pour un champ d’application particulier dans PowerShell. Les cinq champs d’application de la politique d’exécution sont les suivants MachinePolicy, UserPolicy, Process, CurrentUser, et LocalMachine.
Le tableau ci-dessous explique brièvement tous les champs d’application de la politique d’exécution :
Champ d’application de la politique d’exécution | Exécution |
Politique de l’utilisateur | Configuré par une politique de groupe pour l’utilisateur actuel. |
Politique de la machine | Configuré par une stratégie de groupe pour tous les utilisateurs. |
Utilisateur actuel | Configuré pour l’utilisateur actuel et stocké dans la sous-clé de registre HKEY_CURRENT_MACHINE. |
LocalMachine | Configuré pour tous les utilisateurs et stocké dans la sous-clé de registre HKEY_CURRENT_MACHINE. |
Processus | Affecte la session PowerShell en cours et est automatiquement supprimé lorsque la session est fermée. |
Ajouter ou supprimer la stratégie d’exécution des scripts PowerShell sous Windows
L’exécution de scripts sur PowerShell est désactivée par défaut pour les clients Windows et définie sur RemoteSigned pour le serveur Windows. Les utilisateurs expérimentés peuvent toutefois modifier les stratégies d’exécution pour exécuter des scripts PowerShell locaux, signés et non signés.
Vous pouvez également contourner la politique d’exécution de PowerShell en collant le script dans une console PowerShell ou en ECHO votre script dans l’entrée standard de PowerShell. Cette méthode est utile si vous souhaitez exécuter des scripts sans modifier la politique d’exécution.
S’abonner à notre lettre d’information
Comment exécuter une stratégie d’exécution de script PowerShell ?
Définir une politique différente pour une session Pour définir la politique d’exécution d’une nouvelle session, démarrez PowerShell sur la ligne de commande, par exemple cmd.exe ou à partir de PowerShell, puis utilisez le paramètre ExecutionPolicy de pwsh.exe pour définir la politique d’exécution. La politique d’exécution que vous définissez n’est pas stockée dans le registre.
Comment activer l’exécution de scripts PowerShell dans Windows 10 ?
Ouvrez Démarrer. Recherchez PowerShell, cliquez avec le bouton droit de la souris sur le résultat supérieur et sélectionnez l’option Exécuter en tant qu’administrateur. Saisissez la commande suivante pour autoriser l’exécution des scripts et appuyez sur Entrée : Set-ExecutionPolicy RemoteSigned. Tapez A et appuyez sur Entrée (le cas échéant).
Comment activer les scripts PowerShell dans PowerShell ?
Pour permettre à PowerShell d’exécuter des scripts, vous devez utiliser la commande Set-ExecutionPolicy -ExecutionPolicy.
Comment autoriser la modification des politiques d’exécution dans PowerShell ?
Pour modifier la politique d’exécution de PowerShell sous Windows 11 (ou 10), procédez comme suit :
- Ouvrez Démarrer sous Windows 11.
- Recherchez PowerShell, cliquez avec le bouton droit de la souris sur le résultat supérieur et sélectionnez l’option Exécuter en tant qu’administrateur.
- Saisissez la commande suivante pour confirmer la politique d’exécution actuelle et appuyez sur Entrée : Get-ExecutionPolicy.