Travailler avec des scripts PowerShell peut être une perspective passionnante. Après tout, il vous offre une interface propre pour créer vos scripts d’automatisation des tâches quotidiennes.
Si vous êtes développeur, vous pouvez créer des scripts d’automatisation à part entière – PowerShell excelle dans ce domaine, en particulier si vous l’utilisez pour construire, tester et déployer des solutions dans des environnements CI/CD.
Cet article s’intéresse de plus près à la création et à l’exécution de scripts PowerShell. Nous vous proposons un guide étape par étape pour y parvenir avec VS Code, Notepad et l’environnement de script intégré.
Commençons par le commencement.
Qu’est-ce que PowerShell ?
PowerShell est un outil d’automatisation et de configuration multiplateforme. Il offre aux administrateurs, aux développeurs et aux autres utilisateurs un ensemble complet de cmdlets (petites commandes légères) permettant de gérer différentes tâches.
L’ensemble comprend les éléments suivants
- Un shell de ligne de commande
- Un langage de script associé
- Un cadre pour le traitement des cmdlets
Contrairement à Command Prompt, PowerShell est disponible sur toutes les plateformes principales, y compris Windows, Linux et macOS.
Techniquement, PowerShell est construit au-dessus du cadre .NET. Grâce à cette approche, il prend en charge les objets et les données structurées telles que JSON, CSV et XML. Les développeurs peuvent également utiliser les API REST avec PowerShell. Malheureusement, l’invite de commande de base ne prend rien en charge car elle est basée sur du texte.
Tous les scripts PowerShell sont écrits avec l’extension.ps1.
Lorsque vous écrivez des scripts en PowerShell, vous devez connaître trois concepts clés :
- Cmdlet : Il s’agit d’un script exécutable atomique qui offre des fonctionnalités préconfigurées. Par exemple, vous pouvez utiliser Copy-Item pour copier, Get-Help pour obtenir de l’aide ou Write-Host pour afficher quelque chose à l’écran.
- Alias : Les alias permettent de référencer facilement les cmdlets. Ils permettent un accès plus rapide. Toutefois, il est conseillé de les utiliser avec des invites à des fins interactives et non lors de l’écriture de scripts PowerShell.
- Fonctions : Une fonction est un ensemble d’instructions PowerShell. Les utilisateurs peuvent invoquer une fonction en l’appelant.
PowerShell et les scripts
L’écriture de scripts est une méthode essentielle pour automatiser certains aspects de votre travail. Que vous soyez programmeur, administrateur ou travailleur indépendant, les scripts permettent d’automatiser des processus de travail banals
Après tout, les avantages de la création de scripts sont nombreux :
- Gagner un temps précieux grâce à l’automatisation.
- Connaissances transférables.
- Vous permet d’assurer la cohérence entre les différents systèmes.
- Il améliore vos compétences et votre employabilité.
Vous pouvez utiliser PowerShell, Bash Scripting, Ruby ou Python.
Dans l’ensemble, PowerShell est un excellent outil pour l’écriture de scripts. Cependant, Windows empêche l’exécution des scripts en raison de paramètres de sécurité. Cela peut entraîner des erreurs telles que “l’exécution de scripts est désactivée sur ce système” Pour contourner ce problème, vous devez définir la bonne politique d’exécution. (voir plus loin dans l’article)
Pourquoi devriez-vous utiliser PowerShell pour l’écriture de scripts ?
L’une des principales raisons pour lesquelles PowerShell est un excellent choix pour l’écriture de scripts est sa capacité à fonctionner sur plusieurs plateformes. Il prend en charge Windows, Linux et MacOS, ce qui n’est pas le cas de l’invite de commande par défaut de Windows.
Vous pouvez utiliser PowerShell pour créer des tâches simples à l’aide de ses outils de création de tâches. Par exemple, vous pouvez utiliser PowerShell pour redémarrer une machine, vider périodiquement le cache ou même authentifier des sessions.
En outre, les scripts PowerShell sont principalement utilisés pour l’automatisation de la gestion du système. Cependant, vous pouvez l’utiliser en tant que développeur pour tester, construire et déployer des builds dans un environnement CI/CD.
Comment les scripts PowerShell sont-ils créés ?
Pour créer des scripts PowerShell, vous aurez besoin d’un éditeur de texte. La plupart du temps, un éditeur de texte de base vous suffira, mais avec un éditeur de texte/code moderne, le processus sera beaucoup plus facile à gérer.
C’est pourquoi nous commencerons par vous montrer comment créer des scripts PowerShell à l’aide de Visual Studio Code (également connu sous le nom de VS Code). Nous verrons également comment créer des scripts PowerShell dans le Bloc-notes et dans d’autres environnements intégrés adaptés aux scripts, tels que PowerShell Integrated Scripting Environment. (PowerShell ISE).
#1. Avec VS Code
VS Code est un éditeur de code multiplateforme gratuit, robuste et fiable. Microsoft le développe, ce qui vous donne l’avantage supplémentaire d’une bonne prise en charge de PowerShell.
Vous disposez d’une interface propre et vous pouvez l’utiliser avec pratiquement n’importe quel langage de programmation.
VS Code étant un véritable éditeur de code, il prend en charge les extensions. Et pour améliorer notre expérience des scripts PowerShell, nous utiliserons l’extension PowerShell.
Installation de Visual Studio Code
Mais avant tout cela, vous devez installer VS Code.
Pour ce faire, rendez-vous sur la page de téléchargement de Visual Studio Code. Sélectionnez la bonne version de VS Code en fonction de votre système d’exploitation. Comme nous utilisons Windows 11, nous avons choisi la version Windows.
Une fois téléchargé, double-cliquez sur le programme d’installation et suivez l’assistant pour l’installer sur votre ordinateur.
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 est suffisamment intelligent pour savoir que vous travaillez avec PowerShell et vous recommande automatiquement d’installer “l’extension PowerShell” de Microsoft.
Vous pouvez cliquer sur “Installer” pour l’installer. Sinon, cliquez sur “Montrer la recommandation” pour en savoir plus.
Si, pour une raison quelconque, Visual Studio Code ne vous a donné aucune recommandation, vous pouvez rechercher manuellement le plugin.
Cliquez sur le symbole des quatre carrés (avec un carré qui dépasse) ou appuyez sur Ctrl Shift X pour ouvrir la fenêtre d’extension. Recherchez ensuite “PowerShell from Microsoft” et cliquez sur le premier résultat. Ensuite, procédez à l’installation.
Enfin, il vous sera demandé si vous souhaitez faire 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 maintenant créer votre premier script Powershell avec VS Code et ses extensions correctement installées.
Si vous n’avez pas encore créé de nouveau fichier, vous pouvez le faire en suivant les étapes ci-dessous.
- Ouvrez VS Code
- Allez dans le menu supérieur, cliquez sur File (Fichier), puis sur New Text File (Nouveau fichier texte).
- Enregistrez le fichier en allant dans Fichier > Enregistrer sous.
- Saisissez le nom de fichier souhaité et veillez à ajouter l’extension .ps1
- Enfin, cliquez sur Enregistrer le fichier.
Voilà, c’est fait ! Vous pouvez maintenant créer votre script en conséquence. J’ai ajouté une cmdlet Write-Host avec la valeur “This is a VS Code Script written for Geekflare”
Nous verrons comment exécuter le script plus tard, alors continuez à lire !
#2. Avec le Bloc-notes
Créer des scripts PowerShell dans le Bloc-notes est facile.
Il vous suffit de suivre les étapes ci-dessous :
1. Ouvrez Démarrer et recherchez Notepad.
2. Cliquez ensuite avec le bouton droit de la souris et sélectionnez “Ouvrir en tant qu’administrateur”
3. Rédigez maintenant 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 supérieur et cliquez sur “Enregistrer sous”
6. Sélectionnez le nom de votre script PowerShell et cliquez sur “Enregistrer”
C’est tout. Vous avez réussi à créer un script PowerShell avec le Bloc-notes.
#3. Avec PowerShell ISE
PowerShell sur Windows offre également son propre environnement de script intégré. Vous pouvez l’utiliser pour coder vos scripts sans dépendre d’éditeurs de texte ou de code tiers.
Pour l’utiliser avec succès, vous devrez suivre les étapes mentionnées ci-dessous :
1. Ouvrez Démarrer.
2. Recherchez le mot-clé “Windows PowerShell ISE”
3. Sélectionnez le premier résultat, cliquez avec le bouton droit de la souris, puis cliquez avec le bouton gauche de la souris sur “Exécuter en tant qu’administrateur” La fenêtre PowerShell ISE s’ouvre.
4. Cliquez sur Fichier, puis sélectionnez “Nouveau” Une nouvelle fenêtre de fichier s’ouvre, comme ci-dessous.
7. Tapez le script que vous souhaitez. Pour ce tutoriel, nous écrirons “Ceci est un script PowerShell écrit avec l’aide de PowerShell ISE”
8. Une fois que vous avez terminé, allez dans Fichier et Enregistrer sous.
9. Sélectionnez le nom du fichier et cliquez sur Enregistrer.
Vous pouvez également exécuter le script directement à partir de PowerShell ISE. Pour ce faire, cliquez sur le bouton RUN dans la partie supérieure de l’environnement. Si le script génère une erreur de sécurité, lisez ci-dessous comment la résoudre.
Comment résoudre l’erreur de sécurité du script PowerShell et l’exécuter ?
Comme indiqué précédemment, Windows applique une politique de sécurité stricte lors de l’exécution de scripts. Pour la contourner, vous devez activer l’exécution des scripts sur votre machine Windows.
Pour ce faire, suivez les étapes ci-dessous :
- Ouvrez le menu Démarrer de Windows.
- Recherchez PowerShell.
- Cliquez ensuite avec le bouton droit de la souris sur l’application PowerShell.
- Sélectionnez l’option “Exécuter en tant qu’administrateur”.
- Une fois que PowerShell s’ouvre, tapez la commande “Set-ExecutionPolicy RemoteSigned”
- Appuyez sur la touche Entrée et une confirmation vous sera demandée. Appuyez sur A pour l’activer.
Voilà, vous pouvez enfin exécuter tous vos scripts !
Pour PowerShell ISE, cela ressemble à ce qui suit.
Pour Visual Studio Code, c’est comme ci-dessous.
Enfin, pour le Bloc-notes, vous devrez l’exécuter directement à partir de l’invite de commande PowerShell.
Meilleures pratiques pour l’écriture et l’exécution de scripts PowerShell
Vous devez suivre les meilleures pratiques lorsque vous travaillez avec des scripts PowerShell. Ces pratiques sont les suivantes
- Utilisez le nom complet de la cmdlet plutôt que son alias. L’alias n’est utile que pour interagir avec la console. L’alias permet d’accélérer l’interactivité, mais peut perturber le script.
- Il est préférable de ne pas utiliser la cmdlet Write-Host , car elle offre des fonctionnalités limitées. Par exemple, elle n’envoie que des données à l’écran. Toutefois, vous pouvez l’utiliser pour afficher du texte dans une couleur spécifique. Utilisez plutôt la cmdlet Write-Output.
- Utilisez toujours le nom singulier de la cmdlet plutôt que son nom pluriel.
- Utilisez le verbe approuvé pour la cmdlet.
- Spécifiez l’extension de l’application dans la mesure du possible. Cela évite toute confusion et améliore la lisibilité.
- Utilisez un éditeur de code PowerShell dédié, tel que VS Code ou PowerShell ISE. Ils offrent d’excellentes fonctionnalités pour l’écriture et l’exécution de scripts PowerShell. Vous pouvez utiliser le Bloc-notes ou Notepad , mais vous vous limitez alors.
- Essayez de commenter, mais n’en faites pas trop, car cela peut nuire à la lisibilité et à la maintenabilité du code.
- Assurez-vous que vous avez défini les bons paramètres de sécurité pour l’exécution des scripts PowerShell.
Conclusion
Voilà, c’est fait ! Vous pouvez désormais créer et exécuter des scripts PowerShell à l’aide du Bloc-notes, de VS Code et de PowerShell ISE. En outre, vous pouvez utiliser n’importe lequel des outils mentionnés pour écrire et exécuter des scripts PowerShell.
Cependant, comme indiqué dans la meilleure pratique, il est préférable d’éviter Notepad ou le Bloc-notes pour écrire des scripts PowerShell, car vous perdez de nombreuses fonctionnalités offertes par les éditeurs de code dédiés VS Code et PowerShell ISE.
Ensuite, vous pouvez également lire comment vérifier la version de PowerShell et la mettre à jour sur le serveur Windows.