Come controllare la cronologia degli aggiornamenti di Windows tramite PowerShell

Come controllare la cronologia degli aggiornamenti di windows tramite powershell
Come controllare la cronologia degli aggiornamenti di windows tramite powershell

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.

Informazioni su Dundi 995 Articoli
Ciao a tutti, nel sito tratterò vari argomenti e cercherò di essere il più chiaro possibile, poi se non capite qualcosa basta che commentiate l'articolo e vi risponderò. Mi piace informatica, musica metal, film, serie TV, viaggiare (ma non ho i soldi) e molte altre cose. Adesso lavoro a Dublino e sto cercando di guadagnare milioni :).

Commenta per primo

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.