PowerShellPowerShell

PowerShell est un interpréteur de ligne de commande et langage de script qui repose sur la technologie.NET.PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell permet aux administrateurs système et aux utilisateurs avancés d’automatiser rapidement les tâches qui administrent les systèmes d’exploitation (Linux, macOS et Windows) et les processus.PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

Les commandes PowerShell vous permettent de gérer les ordinateurs à partir de la ligne de commande.PowerShell commands let you manage computers from the command line. Les fournisseurs PowerShell vous permettent d’accéder à des magasins de données, par exemple le Registre et le magasin de certificats, aussi facilement que si vous accédiez au système de fichiers.PowerShell providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. PowerShell inclut un analyseur d’expression avancé et un langage de script entièrement développé.PowerShell includes a rich expression parser and a fully developed scripting language.

PowerShell est open sourcePowerShell is open-source

Le code source de base de PowerShell est maintenant disponible dans GitHub et ouvert aux contributions de la communauté.PowerShell base source code is now available in GitHub and open to community contributions. Consultez Source PowerShell sur GitHub.See PowerShell source on GitHub.

Vous pouvez commencer par les éléments nécessaires sur Obtenir PowerShell.You can start with the bits you need at Get PowerShell. Vous pouvez aussi peut-être parcourir rapidement Prise en main.Or, perhaps, with a quick tour at Getting Started.

Objectifs de conception de PowerShellPowerShell design goals

PowerShell est conçu pour améliorer l’environnement de script et de ligne de commande en éliminant des problèmes connus de longue date et en ajoutant de nouvelles fonctionnalités.PowerShell is designed to improve the command-line and scripting environment by eliminating long-standing problems and adding new features.

DétectabilitéDiscoverability

PowerShell facilite la découverte de ses fonctionnalités.PowerShell makes it easy to discover its features. Par exemple, pour obtenir la liste des applets de commande qui permettent d’afficher et de modifier les services Windows, tapez :For example, to find a list of cmdlets that view and change Windows services, type:

Get-Command *-Service

Après avoir découvert l’applet de commande qui effectue une tâche, vous pouvez en apprendre davantage sur l’applet de commande à l’aide de l’applet de commande Get-Help.After discovering which cmdlet accomplishes a task, you can learn more about the cmdlet by using the Get-Help cmdlet. Par exemple, pour afficher l’aide concernant l’applet de commande Get-Service, tapez ce qui suit :For example, to display help about the Get-Service cmdlet, type:

Get-Help Get-Service

La plupart des cmdlets retournent des objets qui peuvent être manipulés puis rendus sous forme texte pour l’affichage.Most cmdlets return objects that can be manipulated and then rendered as text for display. Pour bien comprendre la sortie de cette cmdlet, canalisez la sortie vers la cmdlet Get-Member.To fully understand the output of a cmdlet, pipe the output to the Get-Member cmdlet. Par exemple, la commande suivante affiche des informations sur les membres de l’objet retourné par l’applet de commande Get-Service.For example, the following command displays information about the members of the object output by the Get-Service cmdlet.

Get-Service | Get-Member

ConsistencyConsistency

L’administration de systèmes peut être une tâche complexe.Managing systems can be a complex task. Les outils dont l’interface est cohérente facilitent le contrôle de la complexité intrinsèque.Tools that have a consistent interface help to control the inherent complexity. Malheureusement, ni les outils en ligne de commande, ni les objets COM pouvant contenir des scripts ne sont réputés pour leur cohérence.Unfortunately, command-line tools and scriptable COM objects aren't known for their consistency.

La cohérence de PowerShell est l’un de ses principaux atouts.The consistency of PowerShell is one of its primary assets. Par exemple, si vous apprenez à utiliser l’applet de commande Sort-Object, vous pouvez utiliser cette connaissance pour trier la sortie de toute applet de commande.For example, if you learn how to use the Sort-Object cmdlet, you can use that knowledge to sort the output of any cmdlet. Vous n’avez pas à apprendre les différentes routines de tri de chaque cmdlet.You don't have to learn the different sorting routines of each cmdlet.

En outre, les développeurs de cmdlets n’ont pas à concevoir de fonctionnalités de tri pour leurs cmdlets.Additionally, cmdlet developers don't have to design sorting features for their cmdlets. PowerShell fournit une infrastructure avec les fonctionnalités de base qui forcent la cohérence.PowerShell provides a framework with the basic features that forces consistency. L’infrastructure élimine certains choix qui sont laissés au développeur.The framework eliminates some choices that are left to the developer. Toutefois, en retour, le développement des cmdlets est beaucoup plus simple.But, in return, it makes the development of cmdlets much simpler.

Environnements interactifs et de scriptsInteractive and scripting environments

L’invite de commandes Windows fournit un interpréteur de commandes interactif avec accès aux outils de ligne de commande et aux scripts de base.The Windows Command Prompt provides an interactive shell with access to command-line tools and basic scripting. Windows Script Host (WSH) inclut des outils de ligne de commande contenant des scripts et des objets d’automatisation COM, mais ne fournit pas d’interpréteur de commandes interactif.Windows Script Host (WSH) has scriptable command-line tools and COM automation objects, but doesn't provide an interactive shell.

PowerShell combine un interpréteur de commandes interactif et un environnement de script.PowerShell combines an interactive shell and a scripting environment. PowerShell peut accéder aux outils de ligne de commande, aux objets COM et aux bibliothèques de classes .NET.PowerShell can access command-line tools, COM objects, and .NET class libraries. Cette combinaison de fonctionnalités étend les capacités de l’utilisateur interactif, du writer de script et de l’administrateur système.This combination of features extends the capabilities of the interactive user, the script writer, and the system administrator.

Orientation objetObject orientation

PowerShell est basé sur l’objet, pas le texte.PowerShell is based on object not text. La sortie d’une commande est un objet.The output of a command is an object. Vous pouvez envoyer l’objet de sortie, via le pipeline, à une autre commande en tant qu’entrée.You can send the output object, through the pipeline, to another command as its input.

Ce pipeline fournit une interface familière aux utilisateurs familiarisés avec d’autres interpréteurs de commandes.This pipeline provides a familiar interface for people experienced with other shells. PowerShell étend ce concept en envoyant des objets plutôt que du texte.PowerShell extends this concept by sending objects rather than text.

Transition aisée vers les scriptsEasy transition to scripting

La détectabilité de commande de PowerShell facilite la transition de la saisie de commandes de façon interactive vers la création et l’exécution de scripts.PowerShell's command discoverability makes it easy to transition from typing commands interactively to creating and running scripts. L’historique et les transcriptions de PowerShell facilitent la copie de commandes dans un fichier pour une utilisation en tant que script.PowerShell transcripts and history make it easy to copy commands to a file for use as a script.