23/11/2024

Système

Autoriser l’exécution de Scripts PowerShell

I. Présentation

Par défaut, la configuration de Windows ne permet pas l'exécution de Scripts PowerShell même si la console est bien présente dans les dernières versions d'OS de Microsoft. Surement dans un soucis de sécurité, et pour ne pas rendre possible l'exécution de ces scripts sur l'utilisateur n'en a pas l'utilité.

Pour autoriser l'exécution des scripts PowerShell sur votre machine, il suffit de modifier la politique de sécurité appliquée en terme d'exécution des scripts.

II. Les 6 modes de sécurité différents

- Restricted : Cette valeur qui est la valeur par défaut, empêche l'exécution de scripts.

- AllSigned : Requiert la signature numérique par un éditeur de l'ensemble des scripts, y compris ceux que vous créez en local sur la machine.

- RemoteSigned : Requiert la signature numérique par un éditeur des scripts téléchargés à partir d'internet.

- Unrestricted : Exécute tous les scripts, mais vous invite à autoriser l'exécution des scripts non signés téléchargés via internet.

- Bypass : Pas de blocage, ni d'avertissements, tout sera exécuté.

- Undefined : Supprime la stratégie d'exécution appliquée, mais pas dans le cas où elle est définie par une stratégie de groupe.

III. Exécutez la console PowerShell

Cliquez sur "Démarrer" puis saisissez "powershell", faites clic droit sur "Windows PowerShell" et cliquez sur "Exécuter en tant qu'Administrateur" pour disposez des privilèges suffisants permettant de modifier le système. Si vous utilisez un système 64 bits, les deux versions de la console apparaîtront.

powershell3

IV. Politique actuelle

La politique de sécurité actuelle doit être "Restricted" qui est la valeur par défaut sous Windows, pour vérifier cela, saisissez la commande PowerShell suivante :

Get-ExecutionPolicy

powershell2

V. Modifiez la politique

Pour pouvoir exécuter des scripts il faut impérativement modifier la politique de sécurité, choisissez le mode qui vous semble le mieux approprié à ce dont vous avez besoin. Pour ma part je choisis le mode "Unrestricted" pour pouvoir exécuter les scripts tout en gardant un minimum de sécurité.

Utilisez la commande suivante :

Set-ExecutionPolicy Unrestricted

Lorsqu'on vous demande de confirmer la modification, indiquez "O" pour Oui et appuyez sur Entrée.

powershell2

Vous pouvez désormais exécuter des scripts PowerShell sur votre machine.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

7 commentaires sur “Autoriser l’exécution de Scripts PowerShell

  • Bonjour,

    J’ai crée un script « add-computer » qui ne fonctionne pas d’un double clic comme je le souhaite à cause de la restriction. J’ai tenté intégrer la commande « Set-ExecutionPolicy Unrestricted » cela n’a pas fonctionner non plus.

    Comment l’ajouter puis confirmer la modification de la stratégie ?

    Merci

    Répondre
    • Il faut lancer cette commande depuis PowerShell (et non l’invite de commande) et en mode administrateur

      Répondre
  • Bonjour Florian,

    Une petite erreur typographique, le dernier mode d’exécution n’est pas Indefined mais Undefined

    Répondre
  • bonjour Florian
    je cherche à remplacer un mot dans un document Word avec powerShell : sauf que le mot se trouve dans un encadré (un carrée) et le powerShell ne le voit pas ! aurais-tu une ideéé ‘il te plait avec le powershell de preference. ou si tu peux me donner un exemple complet avec VB je me debruillerai tt seul apres.
    merci d’avance

    Répondre
  • Bonjour
    N’est il pas possible de mettre cette commande en début de script et (avec bypass -force) et continuer avec le script que l’on veut ?
    Merci

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.