La conception de Windows PowerShell intègre des concepts provenant de nombreux environnements différents. Plusieurs d'entre eux sont connus des personnes ayant de l'expérience avec des interpréteurs de commandes ou les environnements de programmation spécifiques, mais peu de personnes en savent tout. La présentation de certains de ces concepts fournit une vue d'ensemble utile de l'interpréteur de commandes.

Les commandes ne sont pas basées sur du texte

Contrairement aux commandes d'interface de ligne de commande traditionnelles, les applets de commande Windows PowerShell sont conçues pour traiter des objets, informations structurées allant au-delà de simples chaînes de caractères apparaissant à l'écran. La sortie d'une commande contient toujours des informations supplémentaires que vous pouvez utiliser si vous en avez besoin. Nous aborderons ce sujet de façon plus détaillée dans ce document.

Si vous avez déjà utilisé des outils de traitement de texte pour traiter des données de ligne de commande, vous constaterez qu'ils se comportent différemment si vous essayez de les utiliser dans Windows PowerShell. Dans la plupart des cas, vous n'avez pas besoin d'outils de traitement de texte pour extraire des informations spécifiques. Vous pouvez accéder directement à certaines données en utilisant des commandes de manipulation d'objets Windows PowerShell standard.

La famille de commandes est extensible

Les interfaces telles que Cmd.exe ne vous permettent pas d'étendre directement le jeu de commandes intégré. Vous pouvez créer des outils de ligne de commande externes qui s'exécutent dans Cmd.exe, mais ces outils sont dépourvus de services, tels que l'intégration de l'Aide, et Cmd.exe ne peut pas déterminer automatiquement qu'il s'agit de commandes valides.

Les commandes binaires natives de Windows PowerShell, appelées « applets de commande », peuvent être enrichies des applets de commande que vous créez et ajoutées à Windows PowerShell au moyen de composants logiciels enfichables. Les composants logiciels enfichables Windows PowerShell sont compilés, comme les outils binaires de toute autre interface. Vous pouvez les utiliser pour ajouter à l'interpréteur de commandes tant des fournisseurs de Windows PowerShell que de nouvelles applets de commande.

En raison de la nature spéciale des commandes internes Windows PowerShell, nous les appellerons « applets de commande ».

Remarque :

Windows PowerShell peut exécuter des commandes qui ne sont pas des applets de commande. Nous ne les présenterons pas en détail dans le Guide de l'utilisateur de Windows PowerShell, mais il peut être utile de les connaître en tant que catégories de types de commandes. Windows PowerShell prend en charge des scripts analogues aux scripts de l'interpréteur de commandes UNIX et aux fichiers de commandes Cmd.exe, mais dotés de l'extension de nom de fichier .ps1. Il vous permet également de créer des fonctions internes qui peuvent être utilisées directement dans l'interface ou dans des scripts.

Windows PowerShell gère l'entrée et l'affichage sur une console

Lorsque vous tapez une commande, Windows PowerShell traite toujours directement l'entrée de ligne de commande. Il met également en forme la sortie que vous voyez à l'écran. Ce point est important, car cela réduit le travail nécessaire de chaque applet de commande et garantit que vous pouvez toujours procéder de la même manière quelle que soit l'applet de commande utilisée. L'aide de ligne de commande illustre bien la façon dont cela simplifie la vie des développeurs et des utilisateurs d'outils.

Les outils de ligne de commande traditionnels ont leurs propres méthodes pour demander et afficher l'Aide. Certains outils de ligne de commande utilisent /? pour afficher l'Aide, d'autres utilisent -?, /H, voire //. Certains affichent l'Aide dans une fenêtre GUI, plutôt que sur l'écran de la console. Des outils complexes, comme des mises à jour d'applications, décompressent des fichiers internes avant d'afficher leur aide. Si vous n'utilisez pas le bon paramètre, l'outil peut ignorer ce que vous avez tapé et commencer automatiquement une tâche.

Lorsque vous entrez une commande dans Windows PowerShell, tout ce que vous entrez est automatiquement analysé et prétraité par Windows PowerShell. L'utilisation du paramètre -? avec une applet de commande Windows PowerShell signifie toujours « afficher l'aide relative à cette commande ». Les développeurs d'applets de commande n'ont pas besoin d'analyser la commande ; il leur suffit de fournir le texte de l'Aide.

Il est important de comprendre que les fonctions d'aide sont disponibles dans Windows PowerShell même lorsque vous y exécutez des outils de ligne de commande traditionnels. Windows PowerShell traite les paramètres et passe les résultats aux outils externes.

Remarque :

Si vous exécutez une application graphique dans Windows PowerShell, la fenêtre de l'application s'ouvre. Windows PowerShell intervient uniquement lors du traitement de l'entrée de ligne de commande que vous fournissez ou de la sortie d'application retournée à la fenêtre de la console ; il n'affecte pas le fonctionnement interne de l'application.

Windows PowerShell utilise une syntaxe C#

Parce qu'il se base sur le .NET Framework, Windows PowerShell présente des fonctionnalités de syntaxe et des mots clés très semblables à ceux utilisés en langage de programmation C#. Apprendre Windows PowerShell facilitera grandement l'apprentissage de C#, si ce langage vous intéresse.

Si vous n'êtes pas programmeur C#, cette ressemblance n'est pas importante. Toutefois, si vous connaissez déjà C#, les ressemblances peuvent simplifier l'apprentissage de Windows PowerShell.




Table des matières