Il sistema operativo di Microsoft viene aggiornato regolarmente con le ultime patch per migliorare le prestazioni e la sicurezza. Questi aggiornamenti vengono installati automaticamente in base alle impostazioni di sistema e raramente l’utente sa esattamente qual’è aggiornamento che ha ricevuto. Se vuoi controllare la cronologia degli aggiornamenti utilizzando PowerShell, in questo articolo ti spiegherò come visualizzare tutti eventi di Windows Update. Puoi ottenere informazioni su tipi di aggiornamenti ricevuti distinguendo da quelli rapida a quelli che servono per la correzione di qualche bug.
Controlla la cronologia degli aggiornamenti di Windows usando PowerShell
Vai al menu Start e cerca Windows PowerShell. Cliccaci con il tasto destro ed Esegui come amministratore.
Ora in questa finestra blu scrivi il seguente comando che elencherà gli aggiornamenti rapidi installati insieme al loro ID e altri tipi di informazioni.
wmic qfe list
È possibile eseguire anche il seguente comando per ottenere altri tipi di informazioni come il giorno e l’ora dell’installazione.
get-wmiobject -class win32_quickfixengineering
Inoltre, è possibile scrivere una query personalizzata per ottenere in output le informazioni più dettagliate di cui abbiamo bisogno.
# Convert Wua History ResultCode to a Name # 0, and 5 are not used for history Visualizza articolo# See https://msdn.microsoft.com/en-us/library/windows/desktop/aa387095(v=vs.85).aspx function Convert-WuaResultCodeToName { param( [Parameter(Mandatory=$true)] [int] $ResultCode ) $Result = $ResultCode switch($ResultCode) { 2 { $Result = "Succeeded" } 3 { $Result = "Succeeded With Errors" } 4 { $Result = "Failed" } } return $Result } function Get-WuaHistory { # Get a WUA Session $session = (New-Object -ComObject 'Microsoft.Update.Session') # Query the latest 1000 History starting with the first recordp $history = $session.QueryHistory("",0,50) | ForEach-Object { $Result = Convert-WuaResultCodeToName -ResultCode $_.ResultCode # Make the properties hidden in com properties visible. $_ | Add-Member -MemberType NoteProperty -Value $Result -Name Result $Product = $_.Categories | Where-Object {$_.Type -eq 'Product'} | Select-Object -First 1 -ExpandProperty Name $_ | Add-Member -MemberType NoteProperty -Value $_.UpdateIdentity.UpdateId -Name UpdateId $_ | Add-Member -MemberType NoteProperty -Value $_.UpdateIdentity.RevisionNumber -Name RevisionNumber $_ | Add-Member -MemberType NoteProperty -Value $Product -Name Product -PassThru Write-Output $_ } #Remove null records and only return the fields we want $history | Where-Object {![String]::IsNullOrWhiteSpace($_.title)} | Select-Object Result, Date, Title, SupportUrl, Product, UpdateId, RevisionNumber }
Digita il seguente comando per ottenere gli eventi della cronologia in base alla data, nome dell’aggiornamento, URL di supporto e ID di aggiornamento.
# Get all the update History, formatted as a table Get-WuaHistory | Format-Table
Questo è tutto, se hai riscontrato qualche problema basta che lasci un commento.
Commenta per primo