15/11/2024

AstucesPowerShell

Comment mettre à jour PowerShell sur Windows ?

I. Présentation

Microsoft publie les mises à jour de PowerShell directement sur GitHub pour les différentes plateformes, que ce soit Windows ou Linux. Quand je parle de PowerShell, je parle du produit appelé auparavant PowerShell Core, et non de Windows PowerShell qui est intégré à Windows.

Des mises à jour sortent régulièrement pour PowerShell, à l'heure où j'écris ces lignes, la version PowerShell 7.0.1 est la dernière release stable. Si vous êtes sous PowerShell 7.0, un message de ce type s'affiche dans la console :

Plutôt que de s'embêter à mettre à jour PowerShell manuellement, on peut le faire en ligne de commande directement, ce qui est intéressant pour le faire dans une tâche planifiée également ??

Voyons comment mettre à jour PowerShell en ligne de commande.

II. Update PowerShell

Microsoft met à disposition un script d'installation de PowerShell sur son GitHub, nous allons l'appeler avec les bons arguments pour réaliser la mise à jour. Il est à noter que cela pourrait servir aussi à installer PowerShell sur un poste.

Note : vous devez avoir les droits d'administrateur pour réaliser cette installation / mise à jour

Voici la commande à exécuter, où nous allons télécharger le script pour l'exécuter avec le paramètre -UseMSI pour le récupérer au format MSI :

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

Pour automatiser la mise à jour, il faut utiliser l'option -Quiet pour réaliser une installation silencieuse à l'aide du package MSI.

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"

Patientez pendant le téléchargement et l'installation...

PowerShell va se fermer automatiquement pour se mettre à jour. Ensuite, nous pouvons voir que la mise à jour PowerShell est bien installée :

La commande précédent peut-être facilement intégrée dans une tâche planifiée si vous souhaitez automatiser la mise à jour, sinon gardez-la dans un coin pour la relancer ultérieurement ?

Pour information, d'autres paramètres sont disponibles :

  • -Preview : installer la dernière version Preview disponible
  • -Daily : installer la build du canal Daily
  • -Destination : spécifier un répertoire dans lequel installer PowerShell

Puisque je suis sympa, je vous donne la ligne de commande pour faire cette update sur Linux à l'aide de wget, sur la base d'un script également, en bash cette fois-ci :

wget https://aka.ms/install-powershell.sh; sudo bash install-powershell.sh; rm install-powershell.sh

Le processus se déroule en trois étape : télécharger le script, l'exécuter pour réaliser l'installation, puis le supprimer.

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

2 commentaires sur “Comment mettre à jour PowerShell sur Windows ?

  • Bonjour Florian,
    J’apporte une petite précision quant au titre sensiblement « trompeur » 😉 . Powershell 6 et 7 ont été conçu pour un fonctionnement « cote à cote » et ne modifient pas la version intégrée au système (ou installée/mise à jour via le Windows Management Framework).
    Autrement dit, sur Windows 10 et/ou Server 2016-19 on bénéficie toujours de la version 5.1 (et de son éditeur ISE) – En revanche, si vous avez installé « Windows Terminal », sa console sera mise à jour 😀
    Bonne continuation

    Répondre
  • Bonjour,
    Mon PC de dev professionnel a eu des pb dans le passé et j’ai perdu une partie de powershell. J’ai bien la version 5.1.17… mais aucune commande ci dessus ne marche et d’ailleurs je n’arrive à lancer aucune commde (ex Get-service ).

    PS C:\Windows\system32> $PSVersionTable

    Name Value
    —- —–
    PSVersion 5.1.17763.1852
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
    BuildVersion 10.0.17763.1852
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    PS C:\Windows\system32> Get-service
    Get-service : Le terme «Get-service» n’est pas reconnu comme nom d’applet de commande, fonction, fichier de script ou programme exécutable.
    Vérifiez l’orthographe du nom, ou si un chemin d’accès existe, vérifiez que le chemin d’accès est correct et réessayez.
    Au caractère Ligne:1 : 1
    + Get-service
    + ~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-service:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    et je ne sais pas comment réinstaller proprement PowerShell. Pourtant dans le cadre d’un projet j’en ai besoin. Comment faire ?

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.