23/11/2024

Comment installer PowerShell sous Windows Server Core ?

Dans ce chapitre, nous allons voir comment installer PowerShell, appelé également PowerShell Core, sur un serveur Windows Server 2022 en mode Core. Vous pouvez être étonné à la lecture de cette phrase et vous dire que PowerShell est déjà installé sur le serveur. Oui, c'est vrai, mais il y a un "mais"...

Sous Windows Server (mais aussi les versions desktop de Windows), le système d'exploitation est livré avec Windows PowerShell, actuellement en version 5.1. D'ailleurs, Windows PowerShell 5.1 est disponible depuis plusieurs années et n'évolue plus puisque Microsoft se concentre désormais sur PowerShell, en édition "Core". A l'heure où j'écris ce chapitre, PowerShell 7.2.1 est la dernière version stable disponible et c'est celle-ci que l'on va installer sur notre serveur.

PowerShell (Core) est basé sur le framework .NET Core et il s'agit d'une version multiplateformes de PowerShell. Pour bénéficier des dernières nouveautés de PowerShell sur notre serveur Core, il faut que l'on installe PowerShell 7.2.1.

Si vous souhaitez en savoir plus sur les différentes entre Windows PowerShell et PowerShell (Core), je vous recommande de lire cet article : Windows PowerShell VS PowerShell Core.

Remarque : PowerShell Core est pris en charge sur Windows Server 2012, 2012 R2, 2016, 2019 et 2022.

I. La version actuelle de PowerShell avec $PSVersionTable

Sur notre serveur, on peut regarder quelle est la version de PowerShell installée en consultant le contenu de la variable $PSVersionTable.

$PSVersionTable

Ce qui retourne plusieurs lignes, et ce sont les deux premières lignes qui m'intéresse plus particulièrement.

Name        Value
----        -----
PSVersion   5.1.20348.1
PSEdition   Desktop

On voit clairement la présence de la version "5.1" et l'édition Desktop correspondante à Windows PowerShell. Maintenant, voyons comment installer PowerShell sur notre serveur.

II. Installation de PowerShell Core sur Windows Server

La commande Invoke-WebRequest va nous permettre de télécharger le fichier via PowerShell. Grâce à elle, nous allons pouvoir télécharger le package d'installation au format MSI à partir du GitHub officiel où sont disponibles les versions de PowerShell.

Je commence par me positionner au sein du dossier "C:\Sources" :

cd C:\Sources

Puis, je télécharge le dossier en précisant l'URL complète vers le package MSI et le nom du fichier local via le paramètre -OutFile.

Invoke-WebRequest -Uri "https://github.com/PowerShell/PowerShell/releases/download/v7.2.1/PowerShell-7.2.1-win-x64.msi" -OutFile Powershell-7.2.1-x64.msi

Lorsque le fichier MSI sera téléchargé, je vais pouvoir lancer l'installation de PowerShell. Puisqu'il s'agit d'un package MSI, on peut utiliser l'option "/quiet" pour déclencher une installation silencieuse et automatique.

.\Powershell-7.2.1-x64.msi /quiet

Patientez un instant, pour laisser le temps à PowerShell de s'installer. Ensuite, vous pouvez lancer PowerShell en appelant l'exécutable "pwsh.exe" et non "powershell.exe".

pwsh.exe

Installation de PowerShell Core sur Windows Server Core

Cette fois-ci, si vous regardez le contenu de la variable $PSVersionTable une fois "pwsh.exe" lancé, vous obtenez un tout autre résultat :

Name       Value
----       -----
PSVersion  7.2.1
PSEdition  Core

Désormais, sur notre serveur, nous avons Windows PowerShel 5.1 et PowerShell 7.2.1 : ce n'est pas un problème puisque c'est deux versions peuvent cohabiter sans problème.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail