Comment créer et exécuter des scripts PowerShell : guide étape par étape



Explorer la création et l’exécution de scripts PowerShell

L’utilisation de scripts PowerShell offre une perspective stimulante. Elle met à disposition une interface claire pour concevoir des scripts qui automatisent les tâches quotidiennes.

Pour les développeurs, PowerShell se révèle un outil puissant pour l’automatisation, particulièrement lorsqu’il s’agit de concevoir, tester et déployer des solutions dans des environnements CI/CD.

Cet article propose un examen détaillé de la création et de l’exécution de scripts PowerShell. Nous allons parcourir les étapes nécessaires pour y parvenir à l’aide de VS Code, du Bloc-notes, ainsi que de l’environnement de script intégré.

Entrons dans le vif du sujet.

Qu’est-ce que PowerShell ?

PowerShell est un outil d’automatisation et de configuration multiplateforme. Il fournit une panoplie complète d’options permettant aux administrateurs, développeurs et autres utilisateurs de tirer profit des applets de commande (de petites commandes légères) pour gérer diverses opérations.

En utilisant PowerShell, vous bénéficiez de:

Contrairement à l’invite de commande traditionnelle, PowerShell est disponible sur toutes les principales plateformes, notamment Windows, Linux et macOS.

Techniquement, PowerShell repose sur le framework .NET. Sa conception lui permet de prendre en charge les objets et les données structurées, telles que JSON, CSV et XML. Les développeurs ont également la possibilité d’utiliser les API REST avec PowerShell. Malheureusement, l’invite de commande standard ne gère rien de tout cela, étant basée sur du texte brut.

Tous les scripts PowerShell ont l’extension .ps1.

Lors de la création de scripts dans PowerShell, il est essentiel de connaître trois concepts clés :

  • Applet de commande : C’est un script exécutable autonome fournissant des fonctionnalités préconfigurées. Par exemple, « Copy-Item » pour copier, « Get-Help » pour obtenir de l’aide, ou « Write-Host » pour afficher du texte à l’écran.
  • Alias : Les alias offrent une méthode simple pour référencer les applets de commande. Ils permettent un accès plus rapide. Il est toutefois conseillé de les employer dans des contextes interactifs et non lors de la création de scripts PowerShell.
  • Fonctions : Une fonction est un ensemble d’instructions PowerShell. Les utilisateurs peuvent invoquer une fonction en l’appelant.

PowerShell et l’écriture de scripts

L’écriture de scripts est une technique incontournable pour automatiser différents aspects de votre travail. Que vous soyez programmeur, administrateur système ou travailleur indépendant, les scripts peuvent automatiser les tâches répétitives.

Les scripts présentent de nombreux avantages, notamment :

  • Un gain de temps important grâce à l’automatisation.
  • La possibilité de partager des connaissances.
  • Une cohérence accrue entre les différents systèmes.
  • Une amélioration de vos compétences et de votre employabilité.

Vous avez la possibilité d’utiliser PowerShell, Bash, Ruby ou Python pour écrire des scripts.

En résumé, PowerShell est un excellent outil de script. Toutefois, Windows empêche l’exécution de scripts par mesure de sécurité. Cela peut engendrer des erreurs telles que « l’exécution de scripts est désactivée sur ce système ». Pour contourner ce problème, vous devrez définir une politique d’exécution appropriée, ce que nous aborderons plus loin dans l’article.

Pourquoi choisir PowerShell pour les scripts ?

L’une des principales raisons pour lesquelles PowerShell est un excellent choix pour les scripts est sa capacité à fonctionner sur plusieurs plateformes. Il est compatible avec Windows, Linux et MacOS, contrairement à l’invite de commande Windows par défaut.

PowerShell peut être utilisé pour automatiser des tâches simples, comme le redémarrage d’une machine, la vidange du cache à intervalles réguliers ou l’authentification de sessions.

De plus, les scripts PowerShell sont principalement employés pour l’automatisation de la gestion du système. Cependant, les développeurs peuvent aussi l’utiliser pour les tests, la création et le déploiement de versions dans un environnement CI/CD.

Comment sont créés les scripts PowerShell ?

Pour créer des scripts PowerShell, vous aurez besoin d’un éditeur de texte. Un éditeur de texte de base peut suffire, mais un éditeur de texte/code moderne rendra le processus beaucoup plus facile.

Nous allons donc commencer par vous montrer comment créer des scripts PowerShell avec Visual Studio Code (VS Code). Nous expliquerons également comment créer des scripts PowerShell dans le Bloc-notes et d’autres environnements de script intégrés conviviaux, tels que PowerShell Integrated Scripting Environment (PowerShell ISE).

#1. Utilisation de VS Code

VS Code est un éditeur de code multiplateforme, gratuit, robuste et fiable. Il est développé par Microsoft, ce qui garantit un bon support de PowerShell.

Il offre une interface prête à l’emploi et peut être utilisé avec presque tous les langages de programmation.

Étant un éditeur de code, VS Code prend en charge les extensions. Pour améliorer notre expérience d’écriture de scripts PowerShell, nous allons utiliser l’extension PowerShell.

Installation de Visual Studio Code

Avant toute chose, il faut installer VS Code.

Rendez-vous sur la page de téléchargement de Visual Studio Code. Choisissez la version adaptée à votre système d’exploitation. Dans notre cas, nous avons sélectionné la version Windows car nous utilisons Windows 11.

Une fois téléchargé, double-cliquez sur le programme d’installation et suivez l’assistant pour l’installer.

Installation de l’extension PowerShell

Vous pouvez installer l’extension PowerShell de deux manières. Tout d’abord, créez un nouveau fichier avec l’extension .ps1.

VSCode détectera que vous travaillez avec PowerShell et vous proposera automatiquement d’installer l’extension « PowerShell » de Microsoft.

Cliquez sur « Installer » pour l’installer, ou « Afficher la recommandation » pour obtenir plus d’informations.

Si VS Code ne vous a fait aucune recommandation, vous pouvez rechercher le plugin manuellement.

Cliquez sur l’icône à quatre carrés (avec un carré qui s’envole) ou appuyez sur Ctrl + Maj + X pour ouvrir la fenêtre des extensions. Recherchez ensuite « PowerShell de Microsoft » et cliquez sur le premier résultat. Ensuite, installez l’extension.

Enfin, une demande vous demandera si vous faites confiance aux auteurs des fichiers de l’espace de travail. Cliquez sur « Trust Workspace & Install » pour terminer l’installation.

Création du script PowerShell avec VS Code

Vous pouvez à présent créer votre premier script PowerShell avec VS Code et ses extensions correctement installées.

Si vous n’avez pas encore créé de fichier, vous pouvez le faire en suivant les étapes ci-dessous :

  • Ouvrez VS Code.
  • Dans le menu du haut, cliquez sur Fichier, puis sur Nouveau fichier texte.
  • Enregistrez le fichier via Fichier > Enregistrer sous.
  • Saisissez le nom du fichier, en veillant à ajouter l’extension .ps1
  • Cliquez enfin sur Enregistrer le fichier.

Voilà ! Vous pouvez maintenant créer votre script. Nous avons ajouté une applet de commande Write-Host avec la valeur « Ceci est un script de code VS écrit pour toptips.fr. »

Nous verrons comment exécuter le script plus loin.

#2. Utilisation du Bloc-notes

La création de scripts PowerShell dans le Bloc-notes est simple.

Voici les étapes à suivre :

1. Ouvrez le menu Démarrer et recherchez Bloc-notes.

2. Faites un clic droit dessus et sélectionnez « Ouvrir en tant qu’administrateur ».

3. Écrivez votre script.

4. Pour ce tutoriel, nous écrirons : « Ceci est un script PowerShell écrit dans le Bloc-notes ».

5. Allez dans Fichier dans le menu du haut et cliquez sur « Enregistrer sous ».

6. Choisissez le nom de votre script PowerShell et cliquez sur « Enregistrer ».

C’est tout. Vous avez créé avec succès un script PowerShell avec le Bloc-notes.

#3. Utilisation de PowerShell ISE

PowerShell sur Windows met également à disposition son propre environnement de script intégré. Vous pouvez l’utiliser pour écrire vos scripts sans avoir recours à des éditeurs de texte ou de code tiers.

Voici les étapes à suivre pour l’utiliser :

1. Ouvrez le menu Démarrer.

2. Recherchez le terme « Windows PowerShell ISE ».

3. Sélectionnez le premier résultat, faites un clic droit, puis cliquez sur « Exécuter en tant qu’administrateur ». Cela ouvrira la fenêtre PowerShell ISE.

4. Cliquez sur Fichier, puis sélectionnez « Nouveau ». Cela ouvrira une nouvelle fenêtre de fichier.

7. Saisissez le script souhaité. Pour ce tutoriel, nous écrirons : « Ceci est un script PowerShell écrit avec l’aide de PowerShell ISE. »

8. Une fois terminé, allez dans Fichier et Enregistrer sous.

9. Choisissez le nom du fichier et cliquez sur Enregistrer.

Vous pouvez aussi exécuter le script directement depuis PowerShell ISE. Pour cela, cliquez sur le bouton « Exécuter » situé en haut de l’environnement. Si vous rencontrez une erreur de sécurité, la section suivante vous explique comment la résoudre.

Comment résoudre l’erreur de sécurité et exécuter un script PowerShell ?

Comme mentionné précédemment, Windows applique une politique de sécurité stricte concernant l’exécution de scripts. Pour contourner cela, vous devrez autoriser l’exécution de scripts sur votre machine Windows.

Voici les étapes à suivre :

  • Ouvrez le menu Démarrer de Windows.
  • Recherchez PowerShell.
  • Faites un clic droit sur l’application PowerShell.
  • Sélectionnez l’option « Exécuter en tant qu’administrateur ».
  • Une fois PowerShell ouvert, tapez la commande « Set-ExecutionPolicy RemoteSigned ».
  • Appuyez sur Entrée. Une demande de confirmation apparaîtra. Appuyez sur A pour activer l’exécution de scripts.

Voilà ! Vous pouvez désormais exécuter tous vos scripts.

Pour PowerShell ISE, voici à quoi cela ressemble :

Pour Visual Studio Code, cela ressemblera à ceci :

Et, pour le Bloc-notes, vous devrez l’exécuter directement depuis l’invite de commande PowerShell.

Bonnes pratiques pour l’écriture et l’exécution de scripts PowerShell

Il est important de suivre certaines bonnes pratiques lorsque vous travaillez avec des scripts PowerShell. En voici quelques-unes :

  • Utilisez le nom complet de l’applet de commande plutôt que son alias. L’alias est pratique uniquement lors de l’interaction avec la console. L’alias peut rendre l’interactivité plus rapide, mais peut perturber le script.
  • Il est préférable de ne pas utiliser l’applet de commande Write-Host car ses fonctionnalités sont limitées. Par exemple, elle n’envoie la sortie qu’à l’écran. Toutefois, vous pouvez l’utiliser pour afficher du texte dans une couleur spécifique. À la place, vous pouvez utiliser l’applet de commande Write-Output.
  • Utilisez toujours le nom singulier de l’applet de commande plutôt que son nom pluriel.
  • Utilisez le verbe approuvé pour l’applet de commande.
  • Spécifiez l’extension de l’application chaque fois que possible. Cela évite toute confusion et améliore la lisibilité.
  • Utilisez un éditeur de code PowerShell dédié comme VS Code ou PowerShell ISE. Ils offrent d’excellentes fonctionnalités pour écrire et exécuter des scripts PowerShell. Vous pouvez utiliser Bloc-notes ou Notepad++, mais vous vous limiterez.
  • Essayez de commenter votre code, mais n’en faites pas trop, car cela peut nuire à la lisibilité et à la maintenabilité du code.
  • Assurez-vous d’avoir défini le bon paramètre de sécurité pour exécuter les scripts PowerShell.

Conclusion

Voilà ! Vous savez maintenant comment créer et exécuter des scripts PowerShell à l’aide du Bloc-notes, de VS Code et de PowerShell ISE. Vous pouvez choisir l’outil qui vous convient le mieux pour écrire et exécuter vos scripts PowerShell.

Cependant, comme mentionné dans les bonnes pratiques, il est préférable d’éviter le Bloc-notes ou Notepad++ pour écrire des scripts PowerShell, car vous passeriez à côté de nombreuses fonctionnalités offertes par les éditeurs de code dédiés VS Code et PowerShell ISE.

Pour aller plus loin, vous pouvez consulter cet article pour savoir comment vérifier la version de PowerShell et la mettre à jour sur un serveur Windows.