Script PowerShell pour vérifier l'état de Windows Update
Habituellement, les utilisateurs qui souhaitent savoir si la dernière mise à jour cumulative est installée sur leur système Windows 10 utilisent cette méthode pour vérifier l'historique des mises à jour de Windows 10 . Dans cet article, nous vous montrerons comment obtenir des informations sur les correctifs actuels pour Windows 10 à l'aide d'un script PowerShell.(how to get current patch information for Windows 10 using a PowerShell script.)
Script PowerShell(PowerShell) pour vérifier l' état de Windows Update
Le script PowerShell peut être utilisé pour indiquer sur quelle version de système d'exploitation un ordinateur (PowerShell)Windows 10 se trouve actuellement, ainsi que quelle mise à jour est la dernière mise à jour disponible pour l'appareil. Il peut également signaler toutes les mises à jour Windows publiées pour la version de Windows 10 sur laquelle se trouve actuellement un poste de travail.
Lorsque vous exécutez le script, les informations suivantes s'affichent :
- Version actuelle du système d'exploitation
- Édition actuelle du système d'exploitation
- Numéro de version actuel du système d'exploitation
- La mise à jour installée qui correspond à ce numéro de build, ainsi que le numéro KB et un lien vers la page d'informations
- La dernière mise à jour disponible pour la version du système d'exploitation
Pour obtenir les informations sur les correctifs actuels de Windows 10 à l'aide du script (Windows 10)PowerShell , vous devez créer et exécuter le script PowerShell(create and run the PowerShell script) à l'aide du code ci-dessous à partir de Github .
[CmdletBinding()] Param( [switch]$ListAllAvailable, [switch]$ExcludePreview, [switch]$ExcludeOutofBand ) $ProgressPreference = 'SilentlyContinue' $URI = "https://aka.ms/WindowsUpdateHistory" # Windows 10 release history Function Get-MyWindowsVersion { [CmdletBinding()] Param ( $ComputerName = $env:COMPUTERNAME ) $Table = New-Object System.Data.DataTable $Table.Columns.AddRange(@("ComputerName","Windows Edition","Version","OS Build")) $ProductName = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name ProductName).ProductName Try { $Version = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name ReleaseID -ErrorAction Stop).ReleaseID } Catch { $Version = "N/A" } $CurrentBuild = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name CurrentBuild).CurrentBuild $UBR = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR $OSVersion = $CurrentBuild + "." + $UBR $TempTable = New-Object System.Data.DataTable $TempTable.Columns.AddRange(@("ComputerName","Windows Edition","Version","OS Build")) [void]$TempTable.Rows.Add($env:COMPUTERNAME,$ProductName,$Version,$OSVersion) Return $TempTable } Function Convert-ParsedArray { Param($Array) $ArrayList = New-Object System.Collections.ArrayList foreach ($item in $Array) { [void]$ArrayList.Add([PSCustomObject]@{ Update = $item.outerHTML.Split('>')[1].Replace('</a','').Replace('—',' - ') KB = "KB" + $item.href.Split('/')[-1] InfoURL = "https://support.microsoft.com" + $item.href OSBuild = $item.outerHTML.Split('(OS ')[1].Split()[1] # Just for sorting }) } Return $ArrayList } If ($PSVersionTable.PSVersion.Major -ge 6) { $Response = Invoke-WebRequest -Uri $URI -ErrorAction Stop } else { $Response = Invoke-WebRequest -Uri $URI -UseBasicParsing -ErrorAction Stop } If (!($Response.Links)) { throw "Response was not parsed as HTML"} $VersionDataRaw = $Response.Links | where {$_.outerHTML -match "supLeftNavLink" -and $_.outerHTML -match "KB"} $CurrentWindowsVersion = Get-MyWindowsVersion -ErrorAction Stop If ($ListAllAvailable) { If ($ExcludePreview -and $ExcludeOutofBand) { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Preview" -and $_.outerHTML -notmatch "Out-of-band"} } ElseIf ($ExcludePreview) { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Preview"} } ElseIf ($ExcludeOutofBand) { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Out-of-band"} } Else { $AllAvailable = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0]} } $UniqueList = (Convert-ParsedArray -Array $AllAvailable) | Sort OSBuild -Descending -Unique $Table = New-Object System.Data.DataTable [void]$Table.Columns.AddRange(@('Update','KB','InfoURL')) foreach ($Update in $UniqueList) { [void]$Table.Rows.Add( $Update.Update, $Update.KB, $Update.InfoURL ) } Return $Table } $CurrentPatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'} | Select -First 1 If ($ExcludePreview -and $ExcludeOutofBand) { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Out-of-band" -and $_.outerHTML -notmatch "Preview"} | Select -First 1 } ElseIf ($ExcludePreview) { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Preview"} | Select -First 1 } ElseIf ($ExcludeOutofBand) { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0] -and $_.outerHTML -notmatch "Out-of-band"} | Select -First 1 } Else { $LatestAvailablePatch = $VersionDataRaw | where {$_.outerHTML -match $CurrentWindowsVersion.'OS Build'.Split('.')[0]} | Select -First 1 } $Table = New-Object System.Data.DataTable [void]$Table.Columns.AddRange(@('OSVersion','OSEdition','OSBuild','CurrentInstalledUpdate','CurrentInstalledUpdateKB','CurrentInstalledUpdateInfoURL','LatestAvailableUpdate','LastestAvailableUpdateKB','LastestAvailableUpdateInfoURL')) [void]$Table.Rows.Add( $CurrentWindowsVersion.Version, $CurrentWindowsVersion.'Windows Edition', $CurrentWindowsVersion.'OS Build', $CurrentPatch.outerHTML.Split('>')[1].Replace('</a','').Replace('—',' - '), "KB" + $CurrentPatch.href.Split('/')[-1], "https://support.microsoft.com" + $CurrentPatch.href, $LatestAvailablePatch.outerHTML.Split('>')[1].Replace('</a','').Replace('—',' - '), "KB" + $LatestAvailablePatch.href.Split('/')[-1], "https://support.microsoft.com" + $LatestAvailablePatch.href ) Return $Table
Vous pouvez exclure les mises à jour de prévisualisation(Preview) ou hors bande(Out-of-band) disponibles qui sont plus récentes que celle que vous avez installée d'être signalées comme la dernière mise à jour disponible, vous pouvez donc vous concentrer uniquement sur les mises à jour cumulatives en exécutant la commande ci-dessous :
Get-CurrentPatchInfo -ExcludePreview -ExcludeOutofBand
Vous pouvez également répertorier toutes les mises à jour Windows publiées par (Windows)Microsoft pour votre version de système d'exploitation avec la commande suivante :
Get-CurrentPatchInfo -ListAvailable
Si vous souhaitez exclure les mises à jour de prévisualisation(Preview) et hors bande(Out-of-band) de la liste, mais répertorier toutes les mises à jour Windows que Microsoft a publiées pour votre version de système d'exploitation, exécutez la commande ci-dessous :
Get-CurrentPatchInfo -ListAvailable -ExcludePreview -ExcludeOutofBand
C'est ça!
Lire ensuite(Read next) : Le site PowerShell Module Browser(PowerShell Module Browser site) vous permet de rechercher des applets de commande et des packages.
Related posts
Reset Windows Update Client en utilisant PowerShell Script
Fix Bouton Problèmes sur le Windows Update page
Meilleures pratiques pour améliorer Windows Update installation fois
Où trouver et comment lire Windows Update log dans Windows 11/10
Comment réparer Windows Update error 0x80240061
Win Update Stop: Désactiver Windows Updates sur Windows 10
Windows Update Stuck Téléchargez des mises à jour dans Windows 11/10
Block Unsupported Hardware Popup en Windows Update
Fix Windows Update error 0x80240439 sur Windows 10
Fix Windows Update error 0x80070541 sur Windows 10
Comment fixer Windows Update Error Code 0x80070012
Fix Windows Update Error 0x80070005
Windows Update error 0x800F081F dans Windows 10
Comment masquer Windows Updates en utilisant PowerShell dans Windows 10
Windows Update error 80072EFE sur Windows 10
Fix Windows Update Error C8000266?
Windows 10 continue d'offrir ou d'installer le même Update
Fix error 0x8007042c pour Windows Update or Firewall
Fix Windows Update error 0x8e5e03fa sur Windows 10
Erreurs Windows Update 0x800705B4, 0x8024402F, 0x80070422 [Fixed}