• 6 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 23/03/2023

Découvrez PowerShell pour gagner en possibilités

Comprenez les origines de PowerShell

Dans ce chapitre, je vais vous parler d’un temps que les moins de vingt ans ne peuvent pas connaître.

Tiens, c’est un cours spécial blind test ?

Non, bien sûr. :D Je ne suis pas là pour vous pousser la chansonnette façon Aznavour, mais pour vous présenter l’histoire de PowerShell.

Dans les années 1980, le marché de l’informatique personnelle était déjà dominé par Microsoft et son système d’exploitation MS-DOS.

MS-DOS était le système d’exploitation, ou OS (pour Operating System), qui était installé par défaut sur les PC. Ce MS-DOS était piloté par des commandes, entrées par l’utilisateur.

Un écran noir avec un grand nombre de commandes écrites en blanc
L'interface du système d'exploitation MS-DOS

On dirait l’invite de commandes sous Windows, là !

Eh oui ! L’invite de commandes Windows, ou cmd.exe, est en fait une émulation de MS-DOS. 

À l’époque de MS-DOS, l’invite de commandes était command.com.

MS-DOS avait déjà son langage de script : le langage Batch.

Un ensemble de commandes en blanc sur un écran bleu
L'invite de commandes MS-DOS 6.22

Depuis la fin de l’utilisation de MS-DOS comme socle à Windows, c'est-à-dire depuis l’utilisation du noyau NT à partir de Windows XP en 2001, command.com a été remplacé par cmd.exe.

D’accord, et PowerShell dans tout ça ?

Nous y venons ! Dans une optique d’évolution, Microsoft a décidé de créer un autre langage de script, qui remplacerait le Batch : MSH, pour Microsoft command SHell, qui deviendra par la suite Microsoft PowerShell.

PowerShell est directement inclus dans Windows dès la première version de Windows 7.

Aujourd’hui, la version intégrée de PowerShell dans Windows (Server 2022 ou Windows 11) est la version 5.1. Mais il existe aussi une autre version, installable, qui est PowerShell Core. PS Core est actuellement en version 7.2 LTS. C'est-à-dire que c’est une version “Long Time Support”, ou support à long terme.

Voici quelques différences entre PowerShell 5.1 et PowerShell 7.2 :

PowerShell 5.1

PowerShell 7.2

Basé sur le framework .NET 4.5

Basé sur le framework .NET 6.0

 

Certaines cmdlets supprimées pour raisons de compatibilité

Nom de l’exécutable : powershell.exe

Nom de l’exécutable : pwsh.exe

Les exécutions du Foreach-Object sont séquentielles

Possibilité d’exécutions parallèles du Foreach-Object

De nombreuses différences supplémentaires sont accessibles sur le site de Microsoft.

Prenez en main votre terminal PowerShell

Allez, trêve de nostalgie et d’histoire. Je vous propose de commencer à prendre en main PowerShell !

Histoire de bien vous montrer la différence, je vous propose de démarrer en premier lieu l’invite de commandes Windows : cmd.exe.

Dans la barre de recherche, on tape cmd.exe
Démarrez l'invite de commandes Windows

La fenêtre de l’invite de commandes de Windows va s’ouvrir. Parfait !

Si vous regardez bien cette nouvelle fenêtre, vous pouvez voir que votre prompt est C:\Users\[votre_nom_utilisateur]>.

Le prompt dans l'invite de commandes
Le prompt dans l'invite de commandes

Le prompt désigne le message ou les caractères qui indiquent que l’invite de commandes est prête à recevoir ses commandes au clavier. Il peut être personnalisé.

Entrez 'prompt $D - $T : $P$G' dans l'invite de commandes
Entrez 'prompt $D - $T : $P$G' dans l'invite de commandes

Vous voyez ? En entrant  prompt $D - $T : $P$G   , le prompt nous affiche désormais en plus la date et l’heure.

Vous pouvez maintenant tester une première cmdlet : Get-ChildItem.

Testez la cmdlet 'Get-Childtem'
Testez la cmdlet 'Get-Childtem'

Mais ça ne fonctionne pas, votre commande !

Et c’est normal. Vous êtes encore dans l’invite de commandes de Windows. Pour pouvoir utiliser PowerShell, il vous faut maintenant entrer dans l’invite de commandes de PowerShell, en entrant : powershell.exe.

Entrez powershell.exe dans l'invite de commandes
Entrez powershell.exe dans l'invite de commandes

Si vous regardez votre prompt, il a changé : il est passé de  “C:\Users\[votre_nom_utilisateur]>” à “ PS C:\Users\[votre_nom_utilisateur]>”. Ces deux lettres vous montrent que désormais, vos instructions seront interprétées par l’interpréteur PowerShell et non plus cmd.exe.

Vous pouvez maintenant retester la cmdlets Get-ChildItem, et vous verrez son exécution.

L'exécution des cmdlets Get-Childtem
L'exécution des cmdlets Get-Childtem

Félicitations ! Vous êtes prêt à utiliser PowerShell. Retrouvez toute la méthodologie pour en arriver là en image.

En résumé

  • Le DOS avec le langage Batch est l’ancêtre de PowerShell.

  • On démarre l’invite de commandes PowerShell en exécutant “powershell.exe”.

  • La documentation officielle de PowerShell est accessible sur le site de Microsoft.

  • PowerShell existe en version 5.1 ou en version 7.2 avec PowerShell Core, mais nous allons rester sur la 5.1 tout au long du cours.

Maintenant que vous avez pu faire connaissance avec PowerShell, vous allez pouvoir commencer à l’utiliser via l’utilisation de cmdlets. Et on voit ça ensemble dans le prochain chapitre !

Exemple de certificat de réussite
Exemple de certificat de réussite