Qu’est-ce que PowerShell ?

Effectué

PowerShell est constitué de deux parties : un shell de ligne de commande et un langage de script. Au départ, c’était une infrastructure pour automatiser des tâches d’administration dans Windows. PowerShell est devenu un outil multiplateforme utilisé pour de nombreux types de tâches.

Un shell de ligne de commande ne dispose pas d’une interface graphique, où vous utilisez une souris pour interagir avec des éléments graphiques. À la place, vous tapez des commandes de texte dans une console de l’ordinateur. Voici quelques-uns des avantages de l’utilisation d’une console :

  • L’interaction avec une console est souvent plus rapide que l’utilisation d’une interface graphique.
  • Dans une console, vous pouvez exécuter des lots de commandes : elle est donc idéale pour l’automatisation des tâches pour des pipelines d’intégration continue.
  • Vous pouvez utiliser une console pour interagir avec des ressources cloud et d’autres ressources.
  • Vous pouvez stocker des commandes et des scripts dans un fichier texte, et utiliser un système de contrôle de code source. Cette capacité est probablement une des plus importantes, car vos commandes peuvent être répétées et auditées. Dans de nombreux systèmes, en particulier les systèmes utilisés dans le secteur public, tout doit être suivi et évalué, ou audité. Les audits couvrent tout, des changements de base de données aux modifications effectuées par un script.

Fonctionnalités

PowerShell partage certaines fonctionnalités avec des shells traditionnels :

  • Système d’aide intégré : La plupart des shells ont une forme de système d’aide où vous pouvez en savoir plus sur une commande. Par exemple, vous pouvez découvrir ce que fait la commande et les paramètres qu’elle prend en charge. Le système d’aide de PowerShell fournit des informations sur les commandes et s’intègre à des articles d’aide en ligne.
  • Pipeline : Les shells traditionnels utilisent un pipeline pour exécuter en séquence de nombreuses commandes. La sortie d’une commande est l’entrée de la commande suivante. PowerShell implémente ce concept comme les shells traditionnels, mais il diffère car il opère sur des objets plutôt que du texte. Vous en découvrirez davantage sur cette fonctionnalité plus loin dans ce module.
  • Alias : Les alias sont des noms alternatifs qui peuvent être utilisés pour exécuter des commandes. PowerShell prend en charge l’utilisation d’alias courants, comme cls (effacer l’écran) et ls (lister les fichiers). Les nouveaux utilisateurs peuvent ainsi utiliser leurs connaissances d’autres infrastructures et ne doivent pas nécessairement mémoriser le nom PowerShell des commandes courantes.

PowerShell diffère d’un shell de ligne de commande classique de plusieurs façons :

  • Il opère sur des objets par-dessus le texte. Dans un interpréteur de ligne de commande, vous devez exécuter des scripts dont la sortie et l’entrée peuvent différer. Ainsi, vous passez du temps à la mise en forme de la sortie et à l’extraction des données dont vous avez besoin. En revanche, dans PowerShell, vous utilisez des objets comme entrée et comme sortie. Cela signifie que vous passez moins de temps à mettre en forme et à extraire.
  • Il a des applets de commande. Les commandes de PowerShell s’appellent des applets de commande (ou cmdlets en anglais, à prononcer commandlets). Dans PowerShell, les applets de commande sont basées sur un runtime commun au lieu d’être des exécutables distincts comme ils le sont dans de nombreux autres environnements de shell. Cette caractéristique offre une expérience cohérente dans l’analyse des paramètres et le comportement des pipelines. Les applets de commande prennent en général des objets en entrée et retournent des objets. Les applets de commande de base dans PowerShell sont basées sur .NET Core et sont open source. Vous pouvez étendre PowerShell en utilisant davantage de cmdlets, de scripts et de fonctions provenant de la communauté et d’autres sources, ou vous pouvez créer vos propres cmdlets dans .NET Core ou PowerShell.
  • Il a de nombreux types de commandes. Les commandes dans PowerShell peuvent être des exécutables natifs, des applets de commande, des fonctions, des scripts ou des alias. Chaque commande que vous exécutez appartient à un de ces types. Les mots “commande” et “cmdlet” sont souvent utilisés de manière interchangeable, car une applet de commande est un type de commande.

Installation

Dans ce module, vous vous entraînerez à utiliser PowerShell sur votre ordinateur. PowerShell est disponible sur plusieurs plateformes. Cependant, si vous utilisez un ordinateur qui exécute Linux, macOS ou une version antérieure de Windows, vous devrez l’installer.

Les instructions d’installation de PowerShell sont différentes pour chaque système d’exploitation. Avant de continuer, prenez quelques minutes pour installer PowerShell ou vérifier que votre installation de PowerShell est correcte. L’unité suivante de ce module montre comment vérifier votre installation.

Windows

Si vous utilisez Windows 8 ou ultérieur, une version de PowerShell appelée Windows PowerShell doit être déjà installée. Cette version diffère légèrement de la version PowerShell la plus récente, mais elle fonctionne parfaitement pour l’apprentissage.

Vous pouvez ouvrir Windows PowerShell à partir du menu Démarrer.

Autres systèmes d’exploitation

Si votre ordinateur exécute autre chose que Windows 8 ou ultérieur, vous devez installer PowerShell. Pour trouver les instructions d’installation correspondant à votre système d’exploitation, consultez Installer les différentes versions de PowerShell.

Extension PowerShell pour Visual Studio Code

Nous vous recommandons d’utiliser l’extension PowerShell pour Visual Studio Code pour créer vos scripts PowerShell et exécuter les commandes de ce module. Cette extension vous permet d’exécuter des commandes et vous aide avec les extraits de code, la complétion du code et la coloration syntaxique.