Comment exécuter un script PowerShell

malekalmorte

Date création :

20 février 2023

Dernière modification :

Les scripts PowerShell sont un excellent moyen d’automatiser des tâches, de recueillir des informations ou de modifier des propriétés en masse. La plupart des commandes PowerShell ne comportent qu’une seule ligne que vous pouvez simplement copier et coller dans PowerShell. Mais comment exécuter un script PowerShell complet ?

Il y a plusieurs options quand il s’agit d’exécuter des scripts PowerShell, simplement à partir de CMD (invite de commandes), en utilisant PowerShell ISE , ou même une tâche planifiée.

Dans ce tutoriel, je vais expliquer les différentes options pour exécuter un script PowerShell. Je vous aiderai également à résoudre les erreurs courantes, comme « l’exécution de scripts est désactivée sur ce système« .

Comment exécuter un script PowerShell

Corriger le message « L’exécution de scripts est désactivée sur ce système »

Nous allons commencer par une erreur courante qui empêche la plupart des utilisateurs d’exécuter un script PowerShell, l’erreur « L’exécution de scripts est désactivée sur ce système« . Cette erreur est causée par la politique d’exécution PowerShell.

Par défaut, la stratégie d’exécution PowerShell est définie sur Restricted. Cela signifie que les scripts PowerShell ne s’exécuteront pas du tout.

Ainsi, pour exécuter un script PowerShell, nous devons d’abord modifier la politique d’exécution. Pour la politique, nous avons plusieurs options :

Execution PolicyDescription
RestrictedOption par défaut – ne permet pas d’exécuter un script PowerShell
UnrestrictedPeut exécuter n’importe quel script, affiche un avertissement pour les scripts téléchargés.
RemoteSignedExige une signature numérique pour les scripts téléchargés. Vous pouvez
exécuter des scripts écrits localement. Vous pouvez débloquer les scripts téléchargés
pour les exécuter sans signature
ByPassVous pouvez exécuter tous les scripts et aucun avertissement n’est affiché.
AllSignedVous ne pouvez exécuter que des scripts signés par des éditeurs de confiance.
Les politiques d’exécution des scripts PowerShell

Les politiques d’exécution ne sont pas conçues comme un modèle de sécurité, mais plutôt pour empêcher l’exécution accidentelle d’un script PowerShell. La meilleure option est d’utiliser la politique RemoteSigned, de cette façon vous ne pouvez pas exécuter un script téléchargé par accident (vous devrez d’abord le débloquer).

Pour en savoir plus sur la politique d’exécution, consultez cet article : Autoriser l’exécution de Scripts dans PowerShell

Par exemple pour passer en politique RemoteSigned :

  • Appuyez sur le raccourci clavier  + X ou cliquez avec le bouton droit de la souris sur le menu Démarrer puis sélectionnez « Terminal Windows (admin)« . Plus d’informations : Comment ouvrir Windows Terminal
  • Puis copiez/collez la commande suivante :
Set-ExecutionPolicy RemoteSigned

Comment exécuter un script PowerShell depuis l’explorateur de fichiers

Il existe plusieurs options pour exécuter un script PowerShell. La façon la plus simple est de le faire depuis l’explorateur de fichiers et l’icône du script.

  • Faites un clic droit sur l’icône du script PowerShell. Sur Windows 11, il faudra maintenir la touche MAJ enfoncée puis faire le clic droit
  • Dans le menu contextuel, cliquez sur Exécuter avec PowerShell
Comment exécuter un script PowerShell depuis l'explorateur de fichiers

Mais cette méthode présente un inconvénient. Par défaut, la plupart des scripts PowerShell ferment automatiquement la fenêtre PowerShell lorsque le script est terminé. Le script est donc exécuté, mais vous ne pourrez pas lire les erreurs ou les résultats.

Vous pouvez résoudre ce problème en ajoutant la ligne suivante à la fin du script PowerShell, mais ce n’est pas toujours une option pratique :

Read-Host -Prompt "Press Enter to exit"

Comment exécuter un script PowerShell depuis Terminal Windows et PowerShell

Une autre façon de faire est d’appeler le script PowerShell depuis le terminal PowerShell qui est devenu Windows Terminal.
Il y a deux façons de procéder : vous pouvez d’abord lancer PowerShell et naviguer jusqu’au script ou ouvrir PowerShell à l’emplacement correct depuis l’explorateur.

  • Appuyez sur le raccourci clavier  + X ou cliquez avec le bouton droit de la souris sur le menu Démarrer puis sélectionnez « Terminal Windows« . Plus d’informations : Comment ouvrir Windows Terminal
Ouvrir Windows Terminal sur Windows 11 avec le clic droit du menu Démarrer
  • Naviguer vers le dossier où se trouve le script à l’aide de la commande cd
cd c:\chemin\du\script
  • Puis exécutez le script .sp1 :
.\MonScriptPowerShell.ps1
Comment exécuter un script PowerShell depuis Terminal Windows et PowerShell

La seconde façon de procéder :

Comment exécuter un script PowerShell depuis Terminal Windows et PowerShell
  • Le terminal de Windows s’ouvre dans le dossier du script. Il ne reste alors plus qu’à l’exécuter en saisissant le nom
.\MonScriptPowerShell.ps1
Comment exécuter un script PowerShell depuis Terminal Windows et PowerShell

Comment exécuter un script PowerShell depuis CMD (l’invite de commandes)

Si vous avez déjà essayé d’exécuter un PowerShell à partir de cmd, vous avez peut-être remarqué que le script s’ouvre simplement dans le bloc-notes. Ce n’est pas vraiment le résultat que nous recherchons.

Pour exécuter le script PowerShell, nous devons indiquer à l’invite de commande d’ouvrir le script avec PowerShell. Nous pouvons utiliser la commande suivante pour cela :

PowerShell.exe -command "C:\Users\Mak\Desktop\MonScriptPowerShell.ps1"
Comment exécuter un script PowerShell depuis CMD (l'invite de commandes)

Notez que vous devrez spécifier le chemin complet du script PowerShell. Le résultat du script s’affiche dans l’invite de commande.

Si vous souhaitez que la session PowerShell reste ouverte, vous pouvez ajouter le paramètre -noexit à la commande :

PowerShell -noexit "C:\Users\Mak\Desktop\MonScriptPowerShell.ps1"

Comment exécuter un script PowerShell depuis la fenêtre exécuter

Vous pouvez aussi exécuter un script PowerShell depuis la fenêtre exécuter.
Cela est plus rapide que de devoir ouvrir l’invite de commandes.
C’est exactement le même principe qu’avec CMD.

  • Sur votre clavier, appuyez sur les touches + R
  • Puis appeler le script PowerShell à exécuter comme ceci :
PowerShell.exe -command "C:\Users\Mak\Desktop\MonScriptPowerShell.ps1"
Comment exécuter un script PowerShell depuis la fenêtre exécuter
  • Cliquez sur OK pour lancer l’exécution

Comment exécuter un script PowerShell avec PowerShell ISE

Le Windows PowerShell Integrated Scripting Environment (ISE) est une application hôte pour Windows PowerShell. Dans l’ISE, vous pouvez exécuter des commandes et écrire, tester et déboguer des scripts dans une interface utilisateur graphique unique basée sur Windows.
Voici comment exécuter un script depuis cet environnement.

  • Ouvrez PowerShell ISE depuis la liste des programmes du menu Démarrer
  • Vous pouvez ouvrir un Script existant depuis le menu Fichier Ouvrir ou en créer un nouveau
  • Pour exécuter le script, cliquez sur l’icône flèche verte depuis la barre d’icônes
Comment exécuter un script PowerShell avec PowerShell ISE
  • Le script s’exécute et la sortie s’affiche dans le bas de la fenêtre
Comment exécuter un script PowerShell avec PowerShell ISE

Comment exécuter le script PowerShell en tant qu’administrateur

Certains scripts PowerShell nécessitent des privilèges d’administrateur pour s’exécuter correctement. Ils peuvent avoir besoin d’accéder à tous les dossiers de votre lecteur système ou d’interagir avec d’autres ordinateurs ou serveurs du domaine.

Le moyen le plus simple d’exécuter des scripts PowerShell en tant qu’administrateur est de lancer Windows PowerShell ou Windows Terminal en tant qu’administrateur

  • Appuyez sur le raccourci clavier  + X ou cliquez avec le bouton droit de la souris sur le menu Démarrer puis sélectionnez « Terminal Windows (admin)« . Plus d’informations : Comment ouvrir Windows Terminal
Ouvrir Windows Terminal sur Windows 11 avec le clic droit du menu Démarrer
  • Cliquez sur Oui sur la fenêtre du contrôle des comptes utilisateur (UAC)
  • Vous pouvez maintenant exécuter n’importe quelle commande ou script PowerShell avec les privilèges de l’administrateur. Il suffit de naviguer jusqu’au script (ou même de le faire glisser et de le déposer) pour l’exécuter.

Vous pouvez également exécuter un script PowerShell en tant qu’administrateur à partir de l’invite de commande. Lorsque vous avez PowerShell ouvert, nous pouvons démarrer un nouveau processus PowerShell et l’exécuter en tant qu’administrateur. En option, nous pouvons même spécifier le fichier que nous voulons exécuter :

Start-Process PowerShell -Verb runAs
Start-Process PowerShell -Verb runAs -ArgumentList "-file C:\Users\Mak\Desktop\MonScriptPowerShell.ps1"

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.