Sei già un cliente NinjaOne? Effettua il login per visualizzare le altre guide e gli ultimi aggiornamenti.

NinjaOne Patching: le patch del sistema operativo installate non vengono visualizzate nella cronologia degli aggiornamenti di Windows

Problema

Questo articolo illustra un problema per cui le patch del sistema operativo Microsoft Windows installate da NinjaOne non vengono visualizzate nella cronologia di Windows Update.

Ambiente

Patching con NinjaOne

Causa

A partire da Windows 10, Microsoft ha modificato la schermata Impostazioni → Windows Update → Cronologia aggiornamenti in modo da mostrare solo gli aggiornamenti installati direttamente da Windows. Di conseguenza, gli aggiornamenti installati da NinjaOne non compaiono nell'elenco degli aggiornamenti, anche se sono stati installati correttamente.

La mancanza di queste informazioni non significa che gli aggiornamenti siano stati saltati o manchino. Windows li registra comunque nel proprio database di manutenzione e rimangono pienamente ricercabili, verificabili e disinstallabili.

Risoluzione

Tutte le patch del sistema operativo Windows installate tramite NinjaOne utilizzano l’API ufficiale di Windows Update di Microsoft per l’installazione. L’unica limitazione è che non compaiono nell’elenco della cronologia di Windows Update nella pagina Impostazioni. Questo comportamento è previsto su Windows 10 e versioni successive ed è una limitazione intrinseca di Windows stesso.

Sebbene l’interfaccia utente della cronologia di Windows Update possa non visualizzarle, è comunque possibile verificare l’installazione degli aggiornamenti in diverse posizioni affidabili, sia all’interno di NinjaOne che sul computer Windows.

Metodo 1: Conferma tramite la vista "Patch del sistema operativo installate" di NinjaOne (consigliato)

Questa vista mostra tutti gli aggiornamenti registrati da Windows, indipendentemente dal fatto che siano stati installati da NinjaOne, da Windows Update o da un altro strumento. NinjaOne interroga la cronologia completa di Windows Update Agent memorizzata sul dispositivo, mostrando ogni record di installazione. Se un aggiornamento di Windows è elencato nella vista “Installati” di NinjaOne, significa che Windows lo ha registrato come installato su quel computer.

Per visualizzare le patch del sistema operativo installate, accedere a Dashboard → Patching → Patch del sistema operativo → Installate.

OSPatchDisplay_Nav.png
Figura 1: Dashboard → Patching → Patch del sistema operativo → Installato (clicca per ingrandire)

Metodo 2: Verifica nell’elenco “Disinstalla aggiornamenti” di Windows

Anche se la cronologia degli aggiornamenti in Windows non mostra le patch del sistema operativo installate, l’elenco “Disinstalla aggiornamenti” di solito le mostra. Windows popola questa pagina attingendo dal database di manutenzione, non dall’elenco della cronologia di Windows Update, in modo da mostrare tutti gli aggiornamenti disinstallabili. Questo metodo non richiede la disinstallazione del software; dovrai solo verificarne la presenza nell’elenco. 

  1. In Windows, accedere a Impostazioni → Windows Update, quindi selezionare Cronologia aggiornamenti.
OSPatchDisplay_WinUpdateHistory.png
Figura 2: Impostazioni → Windows Update → Cronologia aggiornamenti (clicca per ingrandire)
  1. Scorrere fino a " Disinstalla aggiornamenti".
OSPatchDisplay_UninstallUpdates.png
Figura 3: Windows Update → Disinstalla aggiornamenti (clicca per ingrandire)

Metodo 3: Conferma tramite Powershell degli aggiornamenti installati

È possibile interrogare direttamente gli aggiornamenti installati utilizzando PowerShell. Questo script elencherà i risultati dalla cronologia di Windows Update Agent (WUA) sul dispositivo:

# Funzione di troncamento
function Trunc($text, $max = 50) {
   if ($null -eq $text) { return "" }
   if ($text.Length -le $max) { return $text }
   return $text.Substring(0, $max) + "..."
}

$Session = New-Object -ComObject Microsoft.Update.Session 
$Searcher = $Session.CreateUpdateSearcher()
$HistoryCount = $Searcher.GetTotalHistoryCount()
$HistoryPatch = $Searcher.QueryHistory(0, $HistoryCount) | Select-Object `
   Date,
   @{ Nome = "Titolo"; Espressione = { Trunc $_.Titolo 60 } },
   @{ Nome = "Operazione"; Espressione = {
       switch ($_.operazione) {
           1 { "Installazione" }
           2 { "Disinstallazione" }
           3 { "Altro" }
       }
   }},
   @{ Nome = "Stato"; Expression = {
       switch ($_.resultcode) {
           1 { "In corso" }
           2 { "Riuscita" }
           3 { "Riuscita con errori" }
           4 { "Non riuscito" }
           5 { "Interrotta" }
       }
   }},
   @{ Nome = "ClientApplicationID"; Espressione = { Trunc $_.ClientApplicationID 40 } }
                                                           
$HistoryPatch | Format-Table -AutoSize

Questo script interroga il database ESE (Extensible Storage Engine) di Windows Update, situato sul computer in C:WindowsSoftwareDistributionDataStoreDataStore.edb, e recupera tutti gli aggiornamenti installati dalla cronologia del dispositivo locale, inclusi:

  • Data di installazione
  • Titolo della patch
  • Operazione
  • Stato
  • Chi ha installato l'aggiornamento

Domande frequenti

Passi successivi