Découvrir Windows PowerShell

Effectué

PowerShell est une solution d’automatisation composée d’un interpréteur de lignes de commande (shell), d’un langage de script et d’un framework de gestion de la configuration.

Interpréteur de lignes de commande

Windows PowerShell a remplacé l’interface de ligne de commande Windows (cmd.exe) et les fonctionnalités limitées de son langage de script de fichier de traitement par lots. PowerShell accepte et retourne des objets .NET et inclut ceci :

  • Historique de ligne de commande.
  • Saisie semi-automatique via la touche Tab et prédiction.
  • Prise en charge des alias de commande et de paramètre.
  • Commandes de chaînage qui utilisent la fonctionnalité Pipeline.
  • Système d’aide dans la console robuste.

À l’origine, Windows PowerShell était une plateforme conçue sur le .NET Framework qui ne fonctionnait que sur les systèmes d’exploitation Windows. Mais avec ses versions récentes, PowerShell utilise .NET Core et peut s’exécuter sur des plateformes Windows, macOS et Linux. En raison de leur prise en charge multiplateforme, ces versions récentes sont appelées PowerShell (plutôt que Windows PowerShell).

Un langage de script

Des commandes fournissent les fonctionnalités principales de PowerShell. Il existe de nombreuses sortes de commandes, notamment les applets de commande (prononcez applettes), les fonctions, les filtres, les scripts, les applications, les configurations et les workflows. Les commandes sont des blocs de construction que vous associez à l’aide du langage de script Windows PowerShell. L’utilisation de commandes vous permet de créer des solutions personnalisées pour des problèmes d’administration complexes. Vous pouvez également exécuter des commandes directement dans la console PowerShell pour effectuer une tâche unique. La console correspond à l’interface CLI pour PowerShell. Il s’agit du principal mode d’interaction avec PowerShell.

Les applets de commande utilisent une convention de nommage verbe-nom. Par exemple, vous pouvez utiliser l’applet de commande Get-Command pour lister toutes les applets de commande et fonctions inscrites dans l’interpréteur de commandes. Le verbe identifie l’action que l’applet de commande va effectuer, tandis que le nom identifie la ressource sur laquelle l’applet de commande exécute son action.

Les applications serveur et les services cloud Microsoft fournissent des applets de commande spécialisées que vous pouvez utiliser pour gérer ces services. En fait, vous pouvez gérer certaines fonctionnalités uniquement en utilisant PowerShell. Dans de nombreux cas, même lorsque l’application fournit une interface utilisateur graphique (GUI) pour gérer une fonctionnalité spécifique, elle s’appuie sur PowerShell pour implémenter au moins une partie de ses fonctionnalités en arrière-plan.

Framework de gestion des configurations

PowerShell incorpore le framework de gestion PowerShell Desired State Configuration (DSC). Ce framework vous permet de gérer l’infrastructure d’entreprise avec du code pour faciliter les tâches suivantes :

  • Utilisation de configurations déclaratives et des scripts pouvant être répétés pour des déploiements reproductibles.
  • Application de paramètres de configuration et identification de la survenue d’une dérive de configuration à partir des exigences standard.
  • Déploiement de paramètres de configuration à l’aide de modèles d’envoi (push) ou de tirage (pull).

Les applications et services dotés de fonctions d’administration basées sur PowerShell sont cohérents dans leur fonctionnement. Cet attribut signifie que vous pouvez appliquer rapidement les leçons que vous avez tirées. De plus, quand vous utilisez des scripts d’automatisation pour administrer une application logicielle, vous pouvez les réutiliser dans d’autres applications.

Versions de Windows PowerShell

Au fur et à mesure que vous découvrez PowerShell, il est important de bien appréhender les diverses versions que vous pouvez rencontrer, selon le type et l’édition de votre système d’exploitation. Il existe deux plateformes PowerShell principales :

  • Windows PowerShell
  • PowerShell (initialement appelé PowerShell Core)

Windows PowerShell

Windows PowerShell est disponible exclusivement pour le système d’exploitation Windows. Windows PowerShell 1.0 a été présenté en 2006 en tant que composant installable sur Windows XP Service Pack 2 (SP2), Windows Server 2003 SP1 et Windows Vista. Il s’agissait aussi d’un composant facultatif de Windows Server 2008. En 2009, PowerShell 2.0 a été intégré à Windows 7 et Windows Server 2008 R2. Toutes les versions de Windows PowerShell jusqu’à la version 5.1 incluse, à savoir la version disponible avec Windows 10, sont intégrées à un système d’exploitation Windows.

Windows PowerShell est un composant de système d’exploitation. Il bénéficie donc des mêmes contrats de support et de licence que son système d’exploitation parent pendant son cycle de vie.

PowerShell

PowerShell est fourni, installé et configuré séparément de Windows PowerShell. Publié pour la première fois en 2018 sous le nom de PowerShell Core 6.0, il s’agissait de la première version offrant une prise en charge multiplateforme, étendant ainsi sa disponibilité aux systèmes d’exploitation macOS et Linux.

Notes

La dernière version de PowerShell est PowerShell 7.2, disponible par le biais de Microsoft Update.

PowerShell et Windows PowerShell sont installés séparément et vous pouvez exécuter des commandes prises en charge en utilisant l’un ou l’autre des environnements.

Les contrats de licence Windows standard n’incluent pas PowerShell. Ce dernier est plutôt pris en charge dans le cadre d’un support payant Microsoft, de Contrats Entreprise Microsoft et de Microsoft Software Assurance. Un support communautaire est également disponible.

Historique des versions

Le tableau suivant récapitule la chronologie générale des principales versions de PowerShell :

Tableau 1 : Chronologies des versions de PowerShell

Version Date de sortie Notes
PowerShell 7.2 Novembre 2021 Basée sur .NET 6.0.
PowerShell 7.1 Novembre 2020 Basée sur .NET 5.0.
PowerShell 7.0 Mars 2020 Basée sur .NET Core 3.1.
PowerShell 6.0 Septembre 2018 Basée sur .NET Core 2.0. Première version installable sur Windows, Linux et macOS.
PowerShell 5.1 Août 2016 Publiée dans Windows 10 (mise à jour anniversaire) et Windows Server 2016 et dans le cadre de Windows Management Framework (WMF) 5.1.
PowerShell 5.0 Février 2016 Intégrée dans Windows 10 version 1511. Publiée dans Windows Management Framework (WMF) 5.0. Installable sur Windows Server 2008 R2, Windows Server 2012, Windows 10, Windows 8.1 Entreprise, Windows 8.1 Professionnel et Windows 7 SP1.
PowerShell 4.0 Octobre 2013 Intégrée à Windows 8.1 et à Windows Server 2012 R2. Installable sur Windows 7 SP1, Windows Server 2008 SP1 et Windows Server 2012.
PowerShell 3.0 octobre 2012 Intégrée à Windows 8 et à Windows Server 2012. Installable sur Windows 7 SP1, Windows Server 2008 SP1 et Windows Server 2008 R2 SP1.
PowerShell 2.0 Juillet 2009 Intégrée à Windows 7 et à Windows Server 2008 R2. Installable sur Windows XP SP3, Windows Server 2003 SP2 et Windows Vista SP1.
PowerShell 1.0 Novembre 2006 Installable sur Windows XP SP2, Windows Server 2003 SP1 et Windows Vista. Composant facultatif de Windows Server 2008.

Notes

Tout au long de ce module, les rubriques se rapportent aux dernières versions de Windows PowerShell et de PowerShell (5.1 et 7.2). La plupart des applets de commande fonctionnent avec l’une ou l’autre des plateformes. Toutefois, une remarque est formulée si la prise en charge d’une fonctionnalité spécifique concerne uniquement une plateforme spécifique.

Lecture supplémentaire : Pour prendre en charge des versions plus récentes de PowerShell sur des systèmes d’exploitation de version plus ancienne, vous devrez peut-être installer la dernière version du Windows Management Framework. Pour plus d’informations, reportez-vous à Installer et configurer WMF 5.1.