Page

PowerShell

Présentation de PowerShell

I. Origines et évolution

PowerShell est un langage de script et un environnement d'automatisation conçu par Microsoft. Il a été initialement développé en 2006 sous le nom de code "Monad" et était destiné à remplacer l'ancien interpréteur de commandes Windows (CMD) en offrant un ensemble d'outils et de fonctionnalités plus avancés pour l'administration et l'automatisation des systèmes.

Au fil des années, PowerShell a évolué et s'est amélioré, avec l'introduction de nouvelles fonctionnalités et la prise en charge de nouvelles plateformes. En 2016, Microsoft a publié PowerShell Core (maintenant simplement appelé PowerShell), une version multiplateforme et open-source de PowerShell basée sur le framework .NET Core. Cela a permis à PowerShell de s'étendre au-delà de Windows et d'être utilisé sur Linux et macOS.


II. PowerShell vs. CMD

PowerShell est une évolution majeure par rapport à l'ancien interpréteur de commandes Windows (CMD). Voici quelques-unes des différences clés entre les deux :

  • Objets : Contrairement à CMD, qui traite les données en tant que texte brut, PowerShell utilise des objets .NET pour représenter les données et les actions. Cela simplifie grandement la manipulation des données et permet d'interagir de manière plus avancée avec les éléments du système.

  • Pipeline : La pipeline est une fonctionnalité puissante de PowerShell qui permet de transférer les résultats d'une commande à une autre. Cela facilite la réalisation de tâches complexes en combinant plusieurs commandes.

  • Scripts : PowerShell prend en charge la création de scripts complexes pour automatiser les tâches. Les scripts PowerShell sont plus faciles à lire et à maintenir que les scripts batch CMD.

  • Compatibilité : PowerShell est compatible avec la plupart des commandes CMD, ce qui signifie que vous pouvez continuer à utiliser vos commandes CMD familières tout en profitant des avantages de PowerShell.


III. PowerShell Core (cross-platform)

PowerShell Core est une version multiplateforme et open-source de PowerShell basée sur le framework .NET Core. Depuis la version 7.0, PowerShell Core est simplement appelé PowerShell. Il est compatible avec Windows, Linux et macOS, ce qui permet aux administrateurs système et aux développeurs de profiter des fonctionnalités de PowerShell sur plusieurs plateformes.

Les différences entre Windows PowerShell et PowerShell Core sont minimes pour la plupart des utilisateurs. Cependant, il est important de noter que certains modules et fonctionnalités spécifiques à Windows peuvent ne pas être disponibles ou fonctionner différemment dans PowerShell Core.

Dans cette présentation, nous avons passé en revue les origines et l'évolution de PowerShell, ses avantages par rapport à CMD et l'introduction de PowerShell Core, qui a étendu la portée de PowerShell au-delà de Windows. Dans la section suivante, nous explorerons l'environnement PowerShell, y compris l'installation, la configuration et les différents outils disponibles pour travailler avec PowerShell.


Environnement PowerShell

I. Installation et configuration

a. Windows PowerShell préinstallé sur Windows

Sur les systèmes d'exploitation Windows récents, Windows PowerShell est préinstallé. Vous pouvez le lancer en recherchant "PowerShell" dans le menu Démarrer ou en tapant "powershell" dans la boîte de dialogue Exécuter (Win + R).


b. Installation de PowerShell Core

Si vous souhaitez installer PowerShell Core (maintenant simplement appelé PowerShell) pour bénéficier de la version multiplateforme et open-source, vous pouvez suivre les instructions d'installation spécifiques à votre système d'exploitation sur le site officiel : https://aka.ms/pscore6


c. Mise à jour de la version

Pour mettre à jour PowerShell, vous devrez généralement désinstaller la version précédente et installer la nouvelle version. Pour les systèmes d'exploitation Windows, vous pouvez utiliser l'outil de gestion des packages intégré (Windows Package Manager) ou télécharger la nouvelle version à partir du site officiel.


II. Console PowerShell et PowerShell ISE

a. Présentation de la console PowerShell

La console PowerShell est l'interface en ligne de commande (CLI) par défaut pour interagir avec PowerShell. Elle fonctionne de manière similaire à la console CMD et vous permet d'exécuter des commandes PowerShell, des scripts et des tâches d'administration.


b. Présentation de PowerShell ISE (Windows)

PowerShell Integrated Scripting Environment (ISE) est un environnement de développement intégré (IDE) pour PowerShell disponible sur Windows. Il combine un éditeur de script avancé avec une console interactive pour faciliter l'écriture, l'exécution et le débogage de scripts PowerShell.

PowerShell ISE est livré avec de nombreuses fonctionnalités utiles, telles que la coloration syntaxique, l'autocomplétion, la recherche et le remplacement, la gestion des onglets, etc.


c. Éditeurs alternatifs (Visual Studio Code)

Outre PowerShell ISE, il existe d'autres éditeurs pour travailler avec PowerShell, le plus populaire étant Visual Studio Code (VSCode). VSCode est un éditeur de code open-source développé par Microsoft qui prend en charge de nombreux langages de programmation, y compris PowerShell.

Pour travailler avec PowerShell dans VSCode, vous devrez installer l'extension "PowerShell" à partir de la galerie d'extensions de VSCode. Cette extension fournit des fonctionnalités telles que la coloration syntaxique, l'autocomplétion, le débogage, la console intégrée, etc.


Dans cette section, nous avons examiné l'installation et la configuration de PowerShell, ainsi que les différents outils disponibles pour travailler avec PowerShell, tels que la console PowerShell, PowerShell ISE et Visual Studio Code. Dans la section suivante, nous nous concentrerons sur les commandes de base de PowerShell et sur la manière de les utiliser pour accomplir différentes tâches.


Commandes de base

I. Get-Help

La première commande que vous devez connaître est Get-Help. Cette commande vous permet d'obtenir de l'aide sur les commandes PowerShell, les concepts et les paramètres.

Pour utiliser Get-Help, tapez simplement Get-Help suivi du nom de la commande, du concept ou du paramètre pour lequel vous souhaitez obtenir de l'aide. Par exemple :


Get-Help Get-Command

Cela affichera des informations détaillées sur la commande Get-Command, y compris une description, la syntaxe, les paramètres disponibles et des exemples d'utilisation.

Pour accéder à la documentation en ligne pour une commande spécifique, utilisez l'option -Online :


Get-Help Get-Command -Online

II. Get-Command

La commande Get-Command est utilisée pour rechercher et afficher des informations sur les commandes disponibles dans PowerShell. Vous pouvez l'utiliser pour trouver des commandes en fonction de leur nom, de leur type, de leur module, etc.

Par exemple, pour rechercher toutes les commandes contenant le mot "process" dans leur nom, tapez :


Get-Command *process*

Vous pouvez également utiliser Get-Command pour trouver des commandes d'un module spécifique ou d'un certain type. Par exemple, pour trouver toutes les commandes du module "ActiveDirectory", tapez :


Get-Command -Module ActiveDirectory

III. Get-Alias

Les alias sont des noms courts ou des abréviations pour les commandes PowerShell. Ils sont souvent utilisés pour simplifier la saisie des commandes et améliorer la productivité.

La commande Get-Alias vous permet de découvrir les alias de commandes courantes et de créer des alias personnalisés pour les commandes que vous utilisez fréquemment.

Pour afficher la liste des alias disponibles dans votre session PowerShell, tapez simplement :


Get-Alias

Pour créer un alias personnalisé, utilisez la commande New-Alias. Par exemple, pour créer un alias "np" pour la commande New-Item, tapez :


New-Alias -Name np -Value New-Item

Maintenant, vous pouvez utiliser "np" au lieu de "New-Item" pour créer de nouveaux éléments.

Dans cette section, nous avons examiné les commandes de base de PowerShell, notamment Get-Help, Get-Command et Get-Alias. Ces commandes sont essentielles pour naviguer et travailler efficacement avec PowerShell. Dans les sections suivantes, nous approfondirons davantage les concepts et les fonctionnalités de PowerShell, tels que les cmdlets, la pipeline, les objets et les variables.


Modifié le: Sunday 26 March 2023, 17:52