Accueil Technologie

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 contenant le code du script, l’enregistrer avec une extension .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

Powershell définit une politique d'exécution non définie

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 :

  1. Ouvrez Windows PowerShell en tant qu’administrateur.
  2. Tapez la commande suivante dans la console PowerShell et appuyez sur Entrée :
     get-executionpolicy 
  3. Étant donné que vous avez rencontré une erreur lors de l’exécution du script, le résultat sera probablement le suivant Restreint comme votre politique d’exécution actuelle.
  4. Si vous avez besoin d’afficher la politique d’exécution pour toutes les portées prises en charge :
     get-executionpolicy -list 

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 politique d’exécution de PowerShell à partir 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 :

  1. Appuyer sur Win + I pour ouvrir Settings.
  2. Ouvrir le Vie privée et sécurité dans le volet gauche.
  3. Ensuite, cliquez sur Pour les développeurs.
    windows 11 pour les développeurs
  4. Cliquez pour agrandir la page PowerShell section.
  5. Basculer l’interrupteur 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.
    activer l'exécution des scripts powershell paramètres windows 11
  6. Une fois cela fait, ouvrez PowerShell, tapez get executionpolicy, et appuyez sur Entrer. La politique d’exécution pour l’utilisateur actuel est maintenant définie comme suit RemoteSigned.
  7. Si vous devez désactiver la politique d’exécution, activez le commutateur PowerShell et définissez-le sur Désactivé.

Comment autoriser l’exécution de scripts dans PowerShell en utilisant PowerShell

Powershell set execcution policy remotesigned

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 d’autres champs d’application.

Pour modifier la politique d’exécution à l’aide de PowerShell :

  1. Ouvrez PowerShell en tant qu’administrateur.
  2. Dans la fenêtre PowerShell, tapez la commande suivante et appuyez sur Entrée:
     Set-ExecutionPolicy RemoteSigned 
  3. Si vous y êtes invité, appuyez sur A pour confirmer l’action. Cela permet de définir le RemoteSigned politique d’exécution pour tous les utilisateurs. Si vous souhaitez définir la politique d’exécution pour l’application Utilisateur actuel uniquement, utilisez le paramètre Scope suivi du nom d’utilisateur.
  4. Par exemple, pour définir le paramètre RemoteSigned politique d’exécution pour Utilisateur actuel, utilisez la commande suivante :
     Set-ExecutionPolicy RemoteSgined -Scope CurrentUser 
  5. Remplacer Utilisateur actuel dans la commande ci-dessus avec d’autres utilisateurs (Scope) selon vos besoins.

Comment supprimer la politique d’exécution des scripts à l’aide de PowerShell

set-execution-policy-undefined

Si vous souhaitez désactiver l’exécution des scripts, définissez la politique d’exécution sur Non définie utiliser lee 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 :

  1. Ouvrez PowerShell avec une autorisation élevée.
  2. Ensuite, tapez la commande suivante et appuyez sur Entrée pour désactiver l’exécution des scripts pour tous les utilisateurs :
     Set-ExecutionPolicy undefined 
  3. 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 des scripts pour un périmètre spécifique, utilisez la commande suivante :
     Set-ExecutionPolicy undefined -Scope CurrentUser 
  4. La commande ci-dessus désactivera l’exécution des scripts pour 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 est d’empêcher les utilisateurs d’exécuter accidentellement des scripts malveillants. Les sept politiques d’exécution de PowerShell sont les suivantes Par défaut, Restreint, RemoteSigned, AllSigned, Non restreint, Contournement et Non défini..

Le tableau ci-dessous explique brièvement toutes les politiques d’exécution de 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.

TousSigné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 à Restricted pour les clients Windows et RemoteSigned pour Windows Server.

Sans restriction

Autoriser 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 stratégie de groupe pour l’utilisateur actuel.

Politique de la machine

Configuré par une stratégie de groupe pour tous les utilisateurs.

CurrenUser

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 les serveurs Windows. Les utilisateurs expérimentés peuvent toutefois modifier les stratégies d’exécution pour exécuter des scripts PowerShell locaux, signés ou 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.

Leave your vote

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Log In

Forgot password?

Don't have an account? Register

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Add to Collection

No Collections

Here you'll find all collections you've created before.

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Newsletter

inscrivez vous pour recevoir nos actualités

Actualités, astuces, bons plans et cadeaux !