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
