Partager via


Guide de programmation pour Windows PowerShell

Ce guide pour programmeurs s’adresse aux développeurs souhaitant fournir un environnement de gestion en ligne de commande pour les administrateurs système. Windows PowerShell vous offre un moyen simple de créer des commandes de gestion qui exposent les objets .NET, tout en permettant à Windows PowerShell de faire la majeure partie du travail pour vous.

Dans le développement traditionnel des commandes, il est nécessaire d’écrire un analyseur de paramètres, un binder de paramètres, des filtres et toutes les autres fonctionnalités exposées par chaque commande. Windows PowerShell propose ce qui suit pour faciliter l’écriture de commandes :

  • Un puissant moteur d’exécution PowerShell Windows avec son propre analyseur et un mécanisme pour lier automatiquement les paramètres de commande.

  • Utilitaires pour formater et afficher les résultats des commandes à l’aide d’un interpréteur en ligne de commande (CLI).

  • Prise en charge de hautes fonctionnalités (via les fournisseurs Windows PowerShell) qui facilitent l’accès aux données stockées.

    À faible coût, vous pouvez représenter un objet .NET par une commande enrichie ou un ensemble de commandes qui offriront une expérience complète en ligne de commande à l’administrateur.

    La section suivante traite des concepts et termes clés de Windows PowerShell. Familiarisez-vous avec ces concepts et termes avant de commencer le développement.

À propos de Windows PowerShell

Windows PowerShell définit plusieurs types de commandes que vous pouvez utiliser en développement. Ces commandes incluent : fonctions, filtres, scripts, alias et exécutables (applications). Le type de commande principal abordé dans ce guide est une commande simple et petite appelée « cmdlet ». Windows PowerShell fournit un ensemble de commandes et prend entièrement en charge la personnalisation des cmdlets pour s’adapter à votre environnement. L’exécution PowerShell de Windows traite tous les types de commandes tout comme il le fait avec les cmdlets, en utilisant des pipelines.

En plus des commandes, Windows PowerShell prend en charge divers fournisseurs Windows PowerShell personnalisables qui mettent à disposition des ensembles spécifiques de cmdlets. Le shell fonctionne au sein de l’application hôte fournie par Windows PowerShell (powershell.exe), mais il est également accessible depuis une application hôte personnalisée que vous pouvez développer pour répondre à des besoins spécifiques. Pour plus d’informations, voir Comment fonctionne Windows PowerShell.

Commandlets PowerShell Windows

Un cmdlet est une commande légère utilisée dans l’environnement PowerShell de Windows. L’exécution Windows PowerShell invoque ces cmdlets dans le contexte des scripts d’automatisation fournis en ligne de commande, et l’exécution Windows PowerShell les invoque également programmatiquement via les API Windows PowerShell.

Pour plus d’informations sur les cmdlets, voir Écrire un cmdlet PowerShell Windows.

Fournisseurs Windows PowerShell

Lors de l’exécution de tâches administratives, l’utilisateur peut devoir examiner les données stockées dans un magasin de données (par exemple, le système de fichiers, le registre Windows ou un magasin de certificats). Pour faciliter ces opérations, Windows PowerShell définit un module appelé fournisseur Windows PowerShell qui peut être utilisé pour accéder à un stockage de données spécifique, tel que le Windows Registry. Chaque fournisseur prend en charge un ensemble de cmdlets apparentés pour offrir à l’utilisateur une vue symétrique des données dans le magasin.

Windows PowerShell propose plusieurs fournisseurs Windows PowerShell par défaut. Par exemple, le fournisseur du Registre prend en charge la navigation et la manipulation du Registre Windows. Les clés du registre sont représentées comme des objets, et les valeurs du registre sont traitées comme des propriétés.

Si vous exposez un magasin de données auquel l’utilisateur aura besoin d’accéder, il se peut que vous deviez écrire votre propre fournisseur Windows PowerShell, comme décrit dans Creating Windows PowerShell Providers. Pour plus d’informations sur les fournisseurs Windows PowerShell, consultez Comment fonctionne Windows PowerShell.

Application hôte

Windows PowerShell inclut l’application hôte par défaut powershell.exe, qui est une application console qui interagit avec l’utilisateur et héberge l’exécution PowerShell de Windows via une fenêtre de console.

Il est rare que vous ayez besoin d’écrire votre propre application hôte pour Windows PowerShell, bien que la personnalisation soit prise en charge. Un cas où vous pourriez avoir besoin de votre propre application est lorsque vous avez besoin d’une interface graphique plus riche que celle fournie par l’application hôte par défaut. Vous pouvez aussi vouloir une application personnalisée lorsque vous basez votre interface graphique sur la ligne de commande. Pour plus d’informations, voir Comment créer une application hôte Windows PowerShell.

Windows PowerShell Runtime

Le runtime Windows PowerShell est le moteur d’exécution qui implémente le traitement des commandes. Il inclut les classes qui assurent l’interface entre l’application hôte et les commandes et fournisseurs PowerShell Windows. L’exécution de Windows PowerShell est implémentée comme un objet d’espace d’exécution pour la session PowerShell Windows actuelle, qui est l’environnement opérationnel dans lequel le shell et les commandes s’exécutent. Pour les détails opérationnels, voir Comment fonctionne Windows PowerShell.

Langage PowerShell Windows

Le langage PowerShell Windows fournit des fonctions de script et des mécanismes pour invoquer des commandes. Pour des informations complètes sur les scripts, voir la référence du langage Windows PowerShell fournie avec Windows PowerShell.

Système de type étendu (ETS)

Windows PowerShell donne accès à une variété d’objets différents, tels que .NET et XML. En conséquence, pour présenter une abstraction commune à tous les types d’objets, la coquille utilise son système de types étendu (ETS). La plupart des fonctionnalités ETS sont transparentes pour l’utilisateur, mais le script ou le développeur .NET les utilise pour les objectifs suivants :

  • Voir un sous-ensemble des membres d’objets spécifiques. Windows PowerShell offre une vue « adaptée » de plusieurs types d’objets spécifiques.

  • Ajout de membres aux objets existants.

  • Accès aux objets sérialisés.

  • Écriture d’objets personnalisés.

    Avec ETS, vous pouvez créer de nouveaux « types » flexibles compatibles avec le langage PowerShell de Windows. Si vous êtes développeur .NET, vous pouvez travailler avec des objets en utilisant la même sémantique que celle appliquée au scripting du langage PowerShell de Windows, par exemple, pour déterminer si un objet s’évalue à true.

    Pour plus d’informations sur l’ETS et la manière dont Windows PowerShell utilise les objets, voir Windows PowerShell Object Concepts.

Programmation pour Windows PowerShell

Windows PowerShell définit son code pour les commandes, les fournisseurs et autres modules de programme à l’aide du .NET Framework. Vous n’êtes pas limité à l’utilisation de Microsoft Visual Studio pour créer des modules personnalisés pour Windows PowerShell, bien que les exemples fournis dans ce guide soient connus pour fonctionner dans cet outil. Vous pouvez utiliser n’importe quel langage .NET qui prend en charge l’héritage de classes et l’utilisation d’attributs. Dans certains cas, les API PowerShell de Windows exigent que le langage de programmation puisse accéder à des types génériques.

Référence du programmeur

Pour référence lors du développement pour Windows PowerShell, voir le SDK Windows PowerShell.

Débuts avec Windows PowerShell

Pour plus d’informations sur le début de l’utilisation du shell Windows PowerShell, consultez le PowerShell Démarrer avec Windows fourni avec Windows PowerShell. Un document trifold de référence rapide est également fourni comme introduction à l’utilisation de cmdlet.

Sommaire de ce guide

Sujet Definition
Comment créer une application hôte Windows PowerShell Cette section décrit comment écrire une application hôte qui manipule un espace d’exécution et comment écrire une application hôte qui implémente son propre hôte personnalisé.
Comment créer un snap-in PowerShell Windows Cette section décrit comment créer un snap-in utilisé pour enregistrer tous les cmdlets et fournisseurs dans un assembleur, ainsi que comment créer un snap-in personnalisé.
Windows PowerShell Concepts Cette section contient des informations conceptuelles qui vous aideront à comprendre Windows PowerShell du point de vue d’un développeur.

Voir aussi

Windows PowerShell SDK