Prise en main de la console PowerShell
Sommaire
I. Présentation
Dans ce chapitre, nous allons faire nos premiers pas avec la console PowerShell, ou plutôt les consoles PowerShell, car il y a deux consoles distinctes si votre machine est équipée de Windows PowerShell et de PowerShell. Nous allons évoquer les différents répertoires d'installation, ainsi que le fonctionnement de la console PowerShell.
II. L'emplacement d'installation de PowerShell
Vous devez savoir que Windows PowerShell et PowerShell ne s'installent pas dans le même répertoire. Chaque exécutable a également un nom différent. C'est ce que nous allons étudier dans cette partie du chapitre.
A. Où est installé Windows PowerShell ?
Sur une machine sur laquelle une version 64 bits de Windows est installée, il y a deux versions de Windows PowerShell installées : une version 32 bits et une version 64 bits. Si une version 32 bits de Windows est utilisée, il n'y a qu'une seule console.
La console Windows PowerShell est installée dans le répertoire de Windows, à cet emplacement :
%SystemRoot%\system32\WindowsPowerShell\v1.0\
# Soit :
C:\Windows\System32\WindowsPowerShell\v1.0
À l'intérieur de ce répertoire, nous retrouvons un ensemble de fichiers, y compris "powershell.exe" correspondant à la console Windows PowerShell, ainsi que "powershell_ise.exe" correspondant à l'éditeur de code Windows PowerShell ISE.
Dans le cas où l'on se situerait sur une machine avec une version 64 bits de Windows, il y a également les versions 32 bits de la console PowerShell et de PowerShell ISE dans ce répertoire :
%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0
# Soit :
C:\Windows\SysWOW64\WindowsPowerShell\v1.0
Nous pouvons constater que le répertoire d'installation contient une particularité dans son chemin : "v1.0". Quand nous lisons ceci, nous pouvons penser que cette valeur indique la version de Windows PowerShell installée sur la machine. En réalité, non. La valeur sera toujours "v1.0", que vous ayez Windows PowerShell 2.0 ou Windows PowerShell 5.1.
À l'époque, lorsque PowerShell a été introduit à Windows, Microsoft a probablement eu l'idée de faire évoluer le nom du dossier en fonction de la version de PowerShell, mais cette idée a été abandonnée. Pour connaître la version de PowerShell réellement installée sur la machine, il convient de lire le contenu de la variable automatique $PSVersionTable évoquée dans un précédent chapitre.
B. Où est installé PowerShell ?
Si vous installez PowerShell sur votre machine, par exemple, la dernière version de PowerShell 7, sachez qu'elle sera installée dans un répertoire différent. Ce répertoire peut être personnalisé au moment de l'installation.
Par défaut, PowerShell sera installé dans ce répertoire (même si ce chemin pourra légèrement changer si l'on installe une version 32 bits sur un Windows 64 bits) :
C:\Program Files\PowerShell\7\
Dans ce répertoire, nous retrouvons l'exécutable de PowerShell : pwsh.exe, qui porte bien un nom différent de celui de Windows PowerShell (powershell.exe).
De plus, nous pouvons constater que le chemin intègre le numéro de version majeure de cette version de PowerShell. Dans cet exemple, nous avons la mention "\7\" dans le chemin d'installation. Cette valeur correspond bien à la version majeure utilisée, même s'il faut toujours faire appel à la variable $PSVersionTable pour connaitre la version exacte qui est installée sur la machine locale.
III. Ouvrir la console PowerShell
Maintenant que nous savons où sont installées les consoles Windows PowerShell et PowerShell, nous allons apprendre à les utiliser. Vous l'avez surement deviné, pour utiliser Windows PowerShell, ouvrez "powershell.exe", tandis que pour utiliser PowerShell, ouvrez "pwsh.exe".
Pour gagner du temps, vous pouvez rechercher PowerShell avec la zone de recherche du menu Démarrer de la machine. Inutile d'accéder aux répertoires d'installation pour localiser l'exécutable. De plus, si l'on prend l'exemple d'une machine sous Windows 11, vous devez savoir que l'application Windows Terminal est préinstallée. Cette application permet d'utiliser plusieurs types de consoles très facilement, que ce soit PowerShell, Windows PowerShell, mais aussi l'Invite de commande, ainsi qu'Azure Cloud Shell, pour ne citer que ces exemples.
Cette application n'est pas préinstallée sur Windows Server, bien qu'il soit possible de l'ajouter. Ceci devrait évoluer avec Windows Server 2025 puisque la version Preview de cette future version de Windows Server intègre Windows Terminal.
A. Comment fonctionne la console PowerShell ?
Nous allons évoquer le fonctionnement de la console PowerShell, en prenant la console de PowerShell 7 comme exemple (pwsh.exe). Les deux consoles fonctionnent de la même façon. Sur votre machine, ouvrez PowerShell (via une recherche dans le menu Démarrer, par exemple).
La console PowerShell va s'ouvrir. Sur une machine Windows 11, elle s'ouvre dans Windows Terminal, car cette application est définie comme application de terminal par défaut dans les paramètres du système. Cette console se présente sous la forme d'un shell interactif, c'est-à-dire que l'on peut écrire des commandes et les exécuter.
Remarque : Windows Terminal intègre de nombreuses options, que ce soit pour personnaliser son fonctionnement, créer des profils de connexion spécifique, ou encore pour modifier l'apparence graphique. Il offre la possibilité d'ouvrir plusieurs consoles, de différents types, dans une même fenêtre.
Au-delà de la version de PowerShell qui est précisée sur la première ligne, ce qui est important, c'est le prompt. Il s'agit de l'information suivante :
PS C:\Program Files\PowerShell\7>
Cela signifie que notre console est positionnée dans ce répertoire, au niveau du système de fichiers de notre machine. Autrement dit, il s'agit de notre emplacement de travail actuel, qui est celui par défaut.
Si nous exécutons la commande ci-dessous, nous allons nous déplacer à la racine du volume "C:". Ainsi, la valeur du prompt va évoluer. Le cmdlet Set-Location (équivalente de "cd") permet de se déplacer d'un emplacement à un autre. Ceci est important, car si l'on crée un fichier ou un dossier sans préciser de répertoire de destination, le répertoire de travail actuel sera utilisé (celui mentionné entre "PS" et ">") : dans le cas présent, le fichier serait créé à la racine de "C:\".
À partir de cette console, nous pouvons exécuter des commandes PowerShell complètes, mais également des scripts PowerShell et des programmes. Dès qu'une commande PowerShell est exécutée, elle est traitée par l'ordinateur et le résultat est retourné dans la console. De plus, sachez que chaque commande exécutée dans la console est enregistrée dans l'historique (depuis PowerShell 5.0) grâce au module PSReadLine qui est intégré nativement à Windows.
La façon la plus simple de naviguer dans cet historique et d'accéder aux commandes récentes, c'est d'utiliser les flèches directionnelles vers le haut et vers le bas. Voilà l'occasion de faire la transition avec la prochaine partie de ce chapitre.
B. Raccourcis clavier utiles pour utiliser la console PowerShell
L'utilisation de la console PowerShell s'effectue majoritairement avec le clavier, même s'il est possible de sélectionner du texte avec la souris. De ce fait, il y a plusieurs raccourcis clavier que vous devez connaître pour bien prendre en main la console PowerShell.
Voici les combinaisons de touches principales :
Combinaison de touches | Action effectuée |
---|---|
Flèche directionnelle vers le haut et flèche directionnelle vers le bas | Naviguer dans l'historique des commandes exécutées |
Flèche directionnelle vers la gauche et flèche directionnelle vers la droite | Se déplacer sur une ligne, lorsque l'on saisit une commande dans la console PowerShell |
Touche "Début" | Revenir au début de la ligne |
Touche "Fin" | Accéder à la fin de la ligne |
Touche "Tabulation" | Utiliser l'auto-complétion des commandes PowerShell |
Touches "Ctrl" + "Barre d'espace" | Obtenir la liste des valeurs possibles (notamment la liste des paramètres disponibles pour une commande) |
Nous allons les mettre en pratique au fur et à mesure de notre prise en main de PowerShell.
C. Ouvrir la console PowerShell avec les droits administrateur
Pour terminer, nous allons évoquer un point important : l'exécution de la console administrateur avec des droits administrateur.
Par défaut, la console PowerShell s'ouvre dans le contexte de l'utilisateur connecté à la machine Windows. Ainsi, si la console est ouverte à partir d'un compte qui est utilisateur standard, alors la console PowerShell ne vous permettra pas d'effectuer certaines actions. Par exemple, vous ne pourrez pas modifier la configuration du système, car vous n'aurez pas suffisamment de droits.
Dans ce cas, vous avez besoin d'effectuer une élévation de privilèges pour que PowerShell soit exécuté avec le niveau de permission d'un administrateur. Soit, vous connaissez un identifiant et un mot de passe d'un compte administrateur, soit votre compte est déjà administrateur local de la machine (à minima).
Pour ouvrir PowerShell (ou Windows PowerShell) en tant qu'administrateur, il suffit de faire un clic droit sur le nom de l'application puis de cliquer sur "Exécuter en tant qu'administrateur".
Vous pouvez aussi exécuter Windows Terminal en tant qu'administrateur. Il présente l'avantage d'être directement présent dans le menu contextuel qui apparaît lorsque l'on effectue un clic droit sur le menu Démarrer de Windows.
Si vous ouvrez deux Windows Terminal, l'un dans le contexte de l'utilisateur et l'autre en tant qu'administrateur, vous pourrez remarquer une différence : la présence d'un icône en forme de bouclier, qui met en évidence celui qui est exécuté avec des permissions élevées. En complément, le titre de la console PowerShell contient le préfixe "Administrator:". Voici un exemple :
IV. Conclusion
Pour une bonne prise en main de la console PowerShell, il n'y a pas de secret : manipulez. Sachez que les commandes PowerShell ne peuvent pas être exécutées directement dans une console "Invite de commandes". D'ailleurs, dans le prochain chapitre de ce cours, nous allons évoquer la notion de commandes PowerShell, ou plutôt de cmdlet PowerShell.
C’est le cours dont j’avais besoin
Un grand merci à vous