Windows PowerShell — Wikipédia

Wiki Loves Monuments : photographiez un monument historique, aidez Wikipédia et gagnez !

# Windows PowerShell

Un article de Wikipédia, l'encyclopédie libre.

Windows PowerShell
Logo

Capture d'écran d'une session PowerShell

Développeur | Microsoft Corporation
Première version | 14 novembre 2006
Dernière version | 4.0 (24 octobre 2013)
Environnement | .NET Framework
Site web | www.microsoft.com/powershell

Windows PowerShell, anciennement Microsoft Command Shell (MSH), nom de code Monad, est une interface en ligne de commande et un langage de script développé par Microsoft. Il est inclus dans Windows 7 (y compris la version grand public) et fondé sur la programmation orientée objet (et le framework Microsoft .NET).

À l'origine, il était prévu que Windows PowerShell soit inclus dans Windows Vista, mais finalement les deux logiciels ont été disjoints. Microsoft a publié une version beta le 11 septembre 2005, une Release Candidate 1 le 25 avril 2006 et une Release Candidate 2 le 26 septembre 2006. La version finale a été publiée le 14 novembre 2006. Windows PowerShell est également inclus dans Microsoft Exchange Server 2007, sorti au quatrième trimestre 2006, ainsi que la plupart des produits Microsoft sortis depuis.

Windows PowerShell est compatible avec toutes les versions de Windows qui supportent la version 2.0 de .NET.

Depuis le 24 mars 2009, Windows PowerShell 1.0 pour Windows XP et Vista est distribué comme une mise à jour logicielle facultative par le service Windows Update de Microsoft. Il est intégré nativement dans Windows 7 en version 2.0[1]. Cette version propose une console d'édition de script intégré appelé Windows PowerShell ISE (pour Integrated Scripting Environment en anglais) qui apporte une solution alternative à l'outil PowerGUI Script Editor développé par la société Quest Software. Comme son homologue Windows PowerShell ISE présente un environnement graphique qui permet l’édition de script avec coloration syntaxique, affichage des numéros de ligne, débogueur intégré et aide en ligne.

Depuis Windows 8, PowerShell dispose d'une place plus prononcée au sein du système d'exploitation avec un raccourci dans toutes les fenêtres de l'Explorateur de fichiers, dans le menu Fichier[2].

## Histoire[ modifier | modifier le code]

Windows PowerShell est le successeur des interfaces en ligne de commande DOS/Windows fournies par

- command.com (c'est-à-dire l'interface MS-DOS) de Windows Me, Windows 98 et de ses prédécesseurs ;
- cmd.exe de Windows NT depuis 1993.

On peut aussi mentionner Windows Scripting Host (WSH), introduit en 1998, qui connut un certain succès auprès des administrateurs mais ne permet pas une utilisation interactive : les scripts peuvent être appelés depuis la ligne de commande, mais ils doivent être préalablement enregistrés dans un fichier.

Aucune de ces interfaces n'est conforme à POSIX 2 (POSIX étant une norme faite pour les shell Unix qui eux ne sont pas orientés objet mais plutôt flux de texte à décomposer et à interpréter).

## Comparaison de Windows PowerShell et des langages de script UNIX[ modifier | modifier le code]

À la base influencé par le langage Tcl[3], PowerShell est plus proche des langages de script orientés objet comme Perl que de langages de shell, comme Bash. Il n'y a aucune ressemblance entre le PowerShell et le langage batch des fichiers .BAT de DOS/Windows.

Le but de Microsoft est de faire un langage de script complètement intégré, avec autant de fonctionnalités que celles qui existent sous Unix (et Linux) et avec le même niveau de sécurité.

Par contre, les échanges entre composants se font sous forme d'objets et non pas de texte :

- sous UNIX, les échanges se font sous forme d'un tube sous la forme d'un flux d'octets souvent interprété entre l'entrée d'un composant et la sortie d'un composant.
- à l'opposé, avec Windows PowerShell, les échanges se font au format objet. En effet, Windows PowerShell rend accessible en ligne de commande les bibliothèques .NET.

PowerShell (Cmdlet) | PowerShell (Alias) | CMD.EXE / COMMAND.COM | Shell_Unix | Description
--- | --- | --- | --- | ---
Get-ChildItem | gci, dir, ls | dir | ls | Liste les fichiers / répertoires du répertoire (courant)
Get-Content | gc, type, cat | type | cat | Obtenir le contenu d'un fichier
Get-Command | gcm | help | help, which | Liste des commandes
Get-Help | help, man | help | man | Aide
Clear-Host | cls, clear | cls | clear | Efface l'écran
Copy-Item | cpi, copy, cp | copy | cp | Copier un ou plusieurs fichiers / l'arborescence complète
Move-Item | mi, move, mv | move | mv (Unix) | Déplacer un fichier / répertoire
Remove-Item | ri, del, erase, rmdir, rd, rm | del, deltree, erase, rmdir, rd | rm, rmdir | Supprimer un fichier / répertoire
Rename-Item | rni, ren, mv | ren, rename | mv (Unix) | Renommer un fichier / répertoire
Get-Location | gl, pwd | cd | pwd | Afficher le répertoire de travail courant
Pop-Location | popd | popd | popd | Changer le répertoire courant vers le répertoire le plus récemment poussé sur la pile
Push-Location | pushd | pushd | pushd | Pousser le répertoire courant sur la pile
Set-Location | sl, cd, chdir | cd, chdir | cd | Changer le répertoire courant
Tee-Object | tee | NC | tee | Diriger l'entrée vers un fichier ou une variable, puis la passer dans un pipeline
Write-Output | echo, write | echo | echo | Afficher des chaînes, variables etc sur la sortie standard
Get-Process | gps, ps | tlist, | ps | Liste de tous les processus en cours d'exécution
Stop-Process | spps, kill | kill | kill | Arrêter un processus en cours d'exécution
Select-String | sls, findstr | find, findstr | grep | Recherche d'une chaine de caractère
Set-Variable | sv, set | set | env, export, set, setenv | Définir la valeur d'une variable / créer une variable
Invoke-WebRequest | iwr | NC | wget, cURL | Obtient le contenu d'une page web

## Origine du nom de code[ modifier | modifier le code]

Le nom de code Monad vient du livre Monadologie du philosophe Leibniz : il affirme que la réalité est composée d'éléments fondamentaux appelés monades, qui sont intégrés ensemble dans une harmonie pré-établie.

De façon analogue, Windows PowerShell est composé d'une série de tâches exécutées par une série de composants. Dans le cas présent, ces composants sont appelés commandlets (abrégées en cmdlets dans la console de commande), on rencontre aussi l'anglicisme commandelettes.

## Avantages[ modifier | modifier le code]

PowerShell permet de gérer les chaînes de caractères avec des unités de 16 bits, comme cela se fait sur Windows, la plateforme .NET, Java et JavaScript.

## Limitations[ modifier | modifier le code]

PowerShell ne peut pas afficher les caractères Unicode lorsqu'il est utilisé au travers de Windows console subsystem. Un contournement pour y arriver consiste à utiliser PowerShell Integrated Scripting Environment, une interface graphique [4].

## Liste des commandes internes[ modifier | modifier le code]

Article détaillé : PowerShell.

## Notes et références[ modifier | modifier le code]

1. ↑ Nouveautés de Windows PowerShell dans Windows 7 [archive].
2. ↑ Le menu de l'explorateur dans Windows 8 [archive]
3. ↑ Jeffrey Snover, Windows PowerShell : PowerShell and WPF: WTF [archive]
4. ↑ http://stackoverflow.com/questions/5796339/printing-unicode-characters-to-powershell-prompt [archive]

## Annexes[ modifier | modifier le code]

### Articles connexes[ modifier | modifier le code]

- Microsoft .NET
- Windows Management Instrumentation
- Console Win32
- Command.com
- Commandes MS-DOS
- Commandes net
- Commandes netsh
- Commandes Windows NT et OS/2
- Commandes Windows PowerShell
- Commandes Unix

### Liens externes[ modifier | modifier le code]

| Cet article ou cette section a trop de liens externes. Les liens externes doivent être des sites de référence dans le domaine du sujet. Il est souhaitable — si cela présente un intérêt — de citer ces liens comme source et de les enlever du corps de l'article ou de la section « Liens externes ».

Sur les autres projets Wikimedia :

- Windows PowerShell, sur Wikibooks

- (fr) PowerShell pour les nuls Débuter avec Powershell
- (fr) Application des bonnes pratiques Microsoft avec PowerShell
- (fr) La communauté PowerShell Francophone Site entièrement dédié à PowerShell
- (en) Chocolatey Un gestionnaire d'installation de packages utilisant PowerShell.
- (fr) KB926140 - Windows PowerShell 1.0 Requiert le .NET Framework 2.0
- (fr) Cours et tutoriels en français sur PowerShell
- (en) Blog officiel de PowerShell
- (en) Powershell Masters
- (en) The .NET Show - a Microsoft video discussing various aspects of .NET and Vista (codenamed Longhorn). Search for "Jeffrey Snover" in the transcript for the discussion of MSH/Monad
- (en) Converting VBScript Commands to Windows PowerShell Commands - This guide is intended to help you translate VBScript scripts to Windows PowerShell scripts.
- (en) Monad and the "First Vista Virus" - a Microsoft developer's rebuttal of security concerns
- (en) A list of links to blog entries related to MSH/Monad
- (en) Microsoft Script Center
- (fr) Support de cours / Tutorial PowerShell
- (en) PowerShell Quick Reference
- (en) Windows PowerShell scripts, modules and cmdlets for IT Admins

[afficher] v · m Langages de programmation
Orientés objet | ActionScript · AppleScript · C++ · C# · CoffeeScript · D · Delphi · Eiffel · Groovy · Java · JavaScript · Lisaac · Logo · Objective-C · PHP · Python · Ruby · Scala · Simula · Smalltalk · Visual Basic
Impératifs | Algol · APL · ASP · Assembleur · BASIC · BCPL · Shell Unix · C · COBOL · Natural · Forth · Fortran · Go · Limbo · Lua · Modula-2 · NQC · NXC · OPL · Pascal · Perl · PHP · Rust · PL/I · Tcl · Windows PowerShell · WLangage
Fonctionnels | Haskell · Lisp · Common Lisp · ML · OCaml · Gallina · F# · Standard ML · Opa · Scheme · XSLT
Déclaratifs | Clips · Prolog · ASP
Concurrents | Ada · Erlang
Conception · Codage · Tests · Optimisations

[afficher] v · m Framework .NET
Common Language Infrastructure · Microsoft .NET · Mono
Composants | ASP.NET · Common Language Runtime · Dynamic Language Runtime · Windows CardSpace · Windows Communication Foundation · Windows Presentation Foundation · Windows Workflow Foundation
Langages de programmation | C++ (C++/CLI) · C# · F# · JScript · J# · Visual Basic · Windows PowerShell Ada (A#) · COBOL · Eiffel · Fortran · Lisp (IronLisp) · Perl · PHP · Python (IronPython) · Prolog (P#) · Ruby (IronRuby) · Scheme (IronScheme) · Smalltalk List of CLI languages
Environnements de développement | Microsoft Visual Studio · MonoDevelop · SharpDevelop · Xamarin Studio

- Portail de Microsoft
- Portail du logiciel

Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Windows_PowerShell&oldid=117702731 ».
Catégories :

- Administration Windows
- Langage de script
- Shell
- PowerShell

| [+]
Catégories cachées :

- Liens externes à trier
- Portail:Microsoft/Articles liés
- Portail:Informatique/Articles liés
- Portail:Logiciel/Articles liés