PowerShellPowerShell

Reposant sur le .NET Framework, PowerShell est un interpréteur de commandes en ligne de commande basé sur des tâches et un langage de script. Il est spécialement conçu pour les administrateurs système et les utilisateurs avancés afin d’automatiser rapidement l’administration de plusieurs systèmes d’exploitation (Linux, macOS, Unix et Windows) et les processus liés aux applications qui s’exécutent sur ces systèmes d’exploitation.Built on the .NET Framework, PowerShell is a task-based command-line shell and scripting language; it is designed specifically for system administrators and power-users, to rapidly automate the administration of multiple operating systems (Linux, macOS, Unix, and Windows) and the processes related to the applications that run on those operating systems.

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 mainOr, perhaps, with a quick tour at Getting Started

Objectifs de conception de PowerShellPowerShell design goals

Windows 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.Windows PowerShell is designed to improve the command-line and scripting environment by eliminating long-standing problems and adding new features.

DétectabilitéDiscoverability

Windows PowerShell facilite la découverte de ses fonctionnalités.Windows 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 applets de commande émettent des objets qui peuvent être manipulés puis rendus sous forme texte pour l’affichage.Most cmdlets emit objects which can be manipulated and then rendered into text for display. Pour bien comprendre la sortie de cette applet de commande, canalisez-la vers l’applet de commande Get-Member.To fully understand the output of that cmdlet, pipe its 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

La gestion de systèmes pouvant être complexe, disposer d’outils dont l’interface est cohérente facilite le contrôle de la complexité intrinsèque.Managing systems can be a complex endeavor and 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, neither command-line tools nor scriptable COM objects have been known for their consistency.

La cohérence de Windows PowerShell est l’un de ses principaux atouts.The consistency of Windows 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 applet de commande.You do not have to learn the different sorting routines of each cmdlet.

En outre, les développeurs d’applets de commande n’ont pas à concevoir de fonctionnalités de tri pour leur applets de commande.In addition, cmdlet developers do not have to design sorting features for their cmdlets. Windows PowerShell leur offre une infrastructure qui intègre les fonctionnalités de base et les force à être cohérents pour de nombreux aspects de l’interface.Windows PowerShell gives them a framework that provides the basic features and forces them to be consistent about many aspects of the interface. L’infrastructure élimine certains choix généralement laissés à l’appréciation des développeurs mais, en retour, elle simplifie le développement d’applets de commande robustes et simples d’utilisation.The framework eliminates some of the choices that are typically left to the developer, but, in return, it makes the development of robust and easy-to-use cmdlets much simpler.

Environnements interactifs et de scriptsInteractive and Scripting Environments

Windows PowerShell est un environnement combiné interactif et de script qui donne accès à des outils en ligne de commande et à des objets COM, et permet d’exploiter la puissance de la bibliothèque de classes .NET Framework.Windows PowerShell is a combined interactive and scripting environment that gives you access to command-line tools and COM objects, and also enables you to use the power of the .NET Framework Class Library (FCL).

Cet environnement améliore l’invite de commandes Windows, pour offrir un environnement interactif avec plusieurs outils en ligne de commande.This environment improves upon the Windows Command Prompt, which provides an interactive environment with multiple command-line tools. Il améliore également les scripts Windows Script Host (WSH) qui permettent d’utiliser plusieurs outils en ligne de commande et objets Automation COM, mais ne fournissent pas d’environnement interactif.It also improves upon Windows Script Host (WSH) scripts, which let you use multiple command-line tools and COM automation objects, but do not provide an interactive environment.

En combinant l’accès à toutes ces fonctionnalités, Windows PowerShell étend la capacité de l’utilisateur interactif et du writer de script, et facilite l’administration du système.By combining access to all of these features, Windows PowerShell extends the ability of the interactive user and the script writer, and makes system administration more manageable.

Orientation objetObject Orientation

Même si vous interagissez avec Windows PowerShell en tapant des commandes sous forme de texte, Windows PowerShell est basé sur des objets, pas sur du texte.Although you interact with Windows PowerShell by typing commands in text, Windows PowerShell is based on objects, 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 à une autre commande en tant qu’entrée.You can send the output object to another command as its input. Par conséquent, Windows PowerShell fournit une interface familière aux personnes ayant l’expérience d’autres interpréteurs de commandes, tout en introduisant un paradigme de ligne de commande nouveau et puissant.As a result, Windows PowerShell provides a familiar interface to people experienced with other shells, while introducing a new and powerful command-line paradigm. Il étend le concept d’échange de données entre commandes en vous permettant d’envoyer des objets, plutôt que du texte.It extends the concept of sending data between commands by enabling you to send objects, rather than text.

Transition aisée vers les scriptsEasy Transition to Scripting

Windows PowerShell facilite la transition de la saisie de commandes de façon interactive vers la création et l’exécution de scripts.Windows PowerShell makes it easy to transition from typing commands interactively to creating and running scripts. Vous pouvez taper des commandes à l’invite de commandes Windows PowerShell pour découvrir les commandes qui effectuent une tâche.You can type commands at the Windows PowerShell command prompt to discover the commands that perform a task. Ensuite, vous pouvez enregistrer ces commandes dans une transcription ou un historique avant de les copier dans un fichier afin de les utiliser en tant que script.Then, you can save those commands in a transcript or a history before copying them to a file for use as a script.