Lister les Mises à jour disponibles
Version de base :
Get-InstalledModule
ou version améliorée à l’aide d’une fonction (source: https://blog.idera.com/database-tools/quickly-finding-outdated-powershell-modules/) :
- Enregistrer le code suivant dans un fichier .ps1
function Test-GalleryModuleUpdate { param ( [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [version] $Version, [switch] $NeedUpdateOnly ) process { $URL = "https://www.powershellgallery.com/packages/$Name" $page = Invoke-WebRequest -Uri $URL -UseBasicParsing -Maximum 0 -ea Ignore [version]$latest = Split-Path -Path $page.Headers.Location -Leaf $needsupdate = $Latest -gt $Version if ($needsupdate -or (!$NeedUpdateOnly.IsPresent)) { [PSCustomObject]@{ ModuleName = $Name CurrentVersion = $Version LatestVersion = $Latest NeedsUpdate = $needsupdate } } } }
- Charger la fonction dans une fenêtre PowerShell
. .\Test-GalleryModuleUpdate.ps1
- Lancer la commande suivante pour avoir un tableau avec les modules :
Get-InstalledModule | Where-Object Repository -eq PSGallery | Test-GalleryModuleUpdate
Exécuter la mise à jour
Update-Module -Name "Nom-Module"
Si on veut mettre à jour tout les modules, il suffit de ne pas spécifier de nom.
En cas de problème de certificat lors de la mise à jour, on procède à une nouvelle installation pour forcer la mise à jour :
Install-Module -Name "Nom-Module" -Force -Verbose -SkipPublisherCheck