Si vous êtes nouveau dans le langage de script PowerShell et que vous souhaitez apprendre à exécuter un script PowerShell, vous êtes au bon endroit. Cet article de blog sera un tutoriel couvrant les méthodes courantes pour exécuter des scripts et quelques problèmes qui peuvent survenir.
Prérequis
Cet article sera un guide pas à pas pour vous expliquer comment exécuter PowerShell sur votre ordinateur local. Si vous souhaitez suivre, assurez-vous d’avoir les prérequis suivants en place avant de commencer cet article.
- A Windows 10 computer with Administrator privileges.
- Windows version PowerShell 5 ou supérieure. Vous pouvez également utiliser PowerShell v7. Ce tutoriel se concentrera sur Windows PowerShell puisque le système d’exploitation Windows l’inclut déjà.
- N’importe quel éditeur de fichiers texte
Gestion de la stratégie d’exécution
Si c’est la première fois que vous essayez d’exécuter un script PowerShell Windows, vous pouvez rencontrer un problème courant. PowerShell retournera probablement un message d’erreur indiquant qu’un script « ne peut pas être chargé car l’exécution des scripts est désactivée sur ce système ».
PowerShell renvoie le message d’erreur ci-dessus lorsque vous essayez d’exécuter un script PowerShell avec une stratégie d’exécution définie sur Restreint, Signé à distance ou Tous signés.
Restreint
Restreint est la stratégie par défaut définie pour les ordinateurs clients Windows. Si vous utilisez PowerShell pour la première fois, votre stratégie par défaut serait probablement définie pour restreindre tous les scripts.
Vous pouvez toujours exécuter des commandes individuelles dans un terminal, mais pas un fichier script. La restriction inclut tout fichier se terminant par .ps1xml
, .psm1
ou .ps1
.
Non restreint
Non restreint vous permet d’exécuter n’importe quel script, cependant, il vous avertit avant l’exécution si le script est téléchargé depuis internet. Cette stratégie est généralement la défaut pour tout dispositif non-Windows.
Signé à distance
La stratégie Signé à distance vous permet d’exécuter tout script qui est soit (a) signé numériquement ou (b) tout script écrit sur votre ordinateur local avec ou sans signature.
Si un script est téléchargé depuis internet et n’est pas signé, vous devrez débloquer le fichier. Vous pouvez le faire en cliquant avec le bouton droit sur le fichier et en choisissant Propriétés. Ou, vous pouvez utiliser la cmdlet PowerShell Unblock-File
pour ce script particulier.
Utiliser une stratégie Signé à distance serait une option idéale lors de l’exécution d’un script téléchargé depuis internet.
Tous signés
Tous signés nécessite que tous les scripts soient signés numériquement par un éditeur de confiance. Cela inclut les scripts téléchargés depuis internet et écrits localement sur votre ordinateur.
Changement de la politique d’exécution PowerShell
Pour changer la politique d’exécution:
- Ouvrez Windows PowerShell en tant qu’administrateur pour vous assurer que vous disposez des autorisations les plus élevées pour effectuer les modifications de la politique.

2. Une fois ouvert, exécutez la commande PowerShell suivante pour définir la politique d’exécution de votre ordinateur. La politique d’exécution, comme expliqué ci-dessus, peut être l’un des trois types différents. Ce tutoriel utilise une politique d’exécution utile mais toujours sécurisée de RemoteSigned.
Étant donné que ce tutoriel suppose que vous avez téléchargé depuis Internet le fichier de script GetServices.ps1, définissez la politique d’exécution sur RemoteSigned.
La politique d’exécution RemoteSigned vous oblige à signer cryptographiquement chaque script PowerShell téléchargé depuis Internet avant que PowerShell ne l’exécute sur votre système.
3. Vous devriez voir une sortie demandant de confirmer l’action. Entrez O et appuyez sur Entrée pour confirmer le changement de politique.
À ce stade, suivez les étapes suivantes pour explorer différentes méthodes pour exécuter le script PowerShell sur votre ordinateur.
Comment exécuter un script PowerShell
Pour démontrer l’exécution d’un script PowerShell, vous avez en fait besoin d’un fichier de script à exécuter ! Si vous n’en avez pas sous la main, vous pouvez télécharger ce fichier ZIP et extraire le fichier PS1 à l’intérieur. Vous trouverez à l’intérieur un fichier de script simple appelé GetServices.ps1.
Chaque script PowerShell doit se terminer par une extension
.ps1
.
Utilisation de la console
Une fois que vous avez un script prêt, il existe plusieurs façons d’exécuter un fichier de script PowerShell. L’une des façons les plus courantes est via la console PowerShell.
Pour ce faire :
- Ouvrez la console PowerShell comme indiqué ci-dessus.
2. Accédez à l’emplacement du système de fichiers où se trouve votre script en utilisant la cmdlet PowerShell Set-Location
ou l’alias cd
. Le script de ce tutoriel se trouve dans le répertoire C:\Temp.
3. Exécutez le script en utilisant une notation point (.
). PowerShell est un shell qui recherche également des noms de commandes. Pour différencier une commande PowerShell d’un script, vous devez préfixer le script avec un point. Ce point représente le répertoire courant.
Comment exécuter un script PowerShell depuis la ligne de commande via l’emplacement PowerShell
Si vous ne pouvez pas ou ne souhaitez pas exécuter de scripts via la console PowerShell, vous pouvez également le faire avec la bonne vieille ligne de commande (invite de commande).
Pour exécuter des scripts via l’invite de commandes, vous devez d’abord démarrer l’exécutable PowerShell (\texttt{powershell.exe}), avec l’emplacement de PowerShell de \texttt{C:\Program Files\WindowsPowerShell\powershell.exe}, puis passer le chemin du script en tant que paramètre.
Vous pouvez exécuter des scripts avec des paramètres dans n’importe quel contexte en les spécifiant simplement lors de l’exécution de l’exécutable PowerShell comme \texttt{powershell.exe -Parameter ‘Foo’ -Parameter2 ‘Bar’}.
Une fois que vous avez ouvert \texttt{cmd.exe}, vous pouvez exécuter un script PowerShell comme ci-dessous. Cet exemple exécute le moteur et lui passe le chemin du script \texttt{C:\Temp\GetServices.ps1}.
Remarquez ci-dessous que l’exemple utilise le chemin de l’emplacement de PowerShell pour exécuter le script. Vous devrez le faire si le dossier n’est pas quelque part dans votre chemin d’accès (\textit{PATH}).
L’emplacement de PowerShell pour PowerShell 7 utilise un exécutable différent nommé \texttt{pwsh.exe} situé généralement dans \texttt{C:\Program Files\PowerShell\7\pwsh.exe}.
Ci-dessous se trouve une vidéo YouTube pratique qui explique comment exécuter un script via un fichier batch que \texttt{cmd.exe} exécute.
Utilisation de l’ISE PowerShell
Si vous créez vos propres scripts ou modifiez ceux des autres, vous utiliserez probablement un éditeur de scripts comme l’\textit{PowerShell ISE} ou peut-être \textit{Visual Studio (VS) Code}. Puisque l’ISE est livré avec Windows, concentrons-nous sur cette méthode pour ce tutoriel.
Pour invoquer un script via l’ISE :
- Accédez au menu Démarrer, recherchez PowerShell ISE et ouvrez-le.

2. Cliquez sur Fichier → Ouvrir et trouvez votre script.

3. Avec le script ouvert, cliquez sur le bouton d’exécution vert pour exécuter le script. Ce bouton invoquera le script dans le terminal PowerShell intégré en bas.

La sortie du script d’exemple
A PowerShell script can sometimes return output. This happens when the script you’re executing is built to return objects which is a fundamental component of PowerShell.
Si vous exécutez le script GetServices.ps1 par exemple, vous verrez ce qui suit. Ce script exécute la cmdlet Get-Service
qui renvoie tous les services installés sur votre ordinateur Windows local.
Exécution d’un script PowerShell depuis un autre script
Supposons que vous ayez deux scripts et que vous souhaitiez que l’un appelle l’autre. Peut-être avez-vous un script appelé GetUser.ps1 et un appelé ResetPassword.ps1. À l’intérieur du script GetUser.ps1, vous souhaitez exécuter le ResetPassword.ps1 pour réinitialiser le mot de passe d’un utilisateur.
À l’intérieur du script appelant (GetUser.ps1), vous ajouteriez une ligne pour exécuter l’autre script comme vous le feriez depuis la ligne de commande.
Vous pouvez voir ci-dessous que vous avez quelques options. Vous devriez généralement choisir d’exécuter l’autre script dans la même session ou portée pour simplifier les choses, sauf si vous avez une raison spécifique de l’exécuter dans une autre session PowerShell.