Problema
Questo articolo descrive un problema per cui le patch del sistema operativo Microsoft Windows installate da NinjaOne non vengono visualizzate nella cronologia di Windows Update.
Ambiente
Patch 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 vengono visualizzati nell'elenco degli aggiornamenti, anche se sono stati installati correttamente.
La mancanza di queste informazioni non significa che gli aggiornamenti siano stati saltati o siano mancanti. Windows continua a registrarli nel proprio database di manutenzione e rimangono completamente interrogabili, verificabili e disinstallabili.
Risoluzione
Tutte le patch del sistema operativo Windows installate tramite NinjaOne utilizzano l'API ufficiale di Windows Update di Microsoft per installare le patch. L'unica limitazione è che non vengono visualizzate 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 visualizzarli, è comunque possibile confermare l'installazione degli aggiornamenti in più posizioni affidabili, sia all'interno di NinjaOne che sul computer Windows.
Metodo 1: conferma tramite la vista Patch del sistema operativo NinjaOne installate (consigliato)
Questa vista mostra tutti gli aggiornamenti registrati da Windows, indipendentemente dal fatto che siano stati installati da NinjaOne, Windows Update o 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 installata di Ninja, significa che Windows lo ha registrato come installato su quel computer.
Per visualizzare le patch del sistema operativo installate, vai su Dashboard → Patch → Patch del sistema operativo → Installate.

Metodo 2: confermare nell'elenco di disinstallazione degli 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 lo fa. Windows popola questa pagina 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; sarà sufficiente verificarne la presenza nell'elenco.
- In Windows, vai su Impostazioni → Windows Update, quindi seleziona Cronologia aggiornamenti.

- Scorrere fino a Disinstalla aggiornamenti.

Metodo 3: conferma tramite query degli aggiornamenti installati tramite PowerShell
È possibile interrogare direttamente gli aggiornamenti installati utilizzando PowerShell. Questo script elencherà i risultati dalla cronologia di Windows Update Agent (WUA) sul dispositivo:
# Truncate helper
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,
@{ Name = "Title"; Expression = { Trunc $_.Title 60 } },
@{ Name = "Operation"; Expression = {
switch ($_.operation) {
1 { "Installation" }
2 { "Uninstallation" }
3 { "Altro" }
}
}},
@{ Nome = "Stato"; Espressione = {
switch ($_.resultcode) {
1 { "In corso" }
2 { "Riuscito" }
3 { "Riuscito con errori" }
4 { "Fallito" }
5 { "Interrotto" }
}
}},
@{ Nome = "ClientApplicationID"; Espressione = { Trunc $_.ClientApplicationID 40 } }
$HistoryPatch | Format-Table -AutoSizeQuesto script interroga il database Windows Update Extensible Storage Engine (ESE), situato sul computer in C:WindowsSoftwareDistributionDataStoreDataStore.edb, e recupera tutti gli aggiornamenti installati dalla cronologia del dispositivo locale, tra cui:
- Data di installazione
- Titolo della patch
- Operazione
- Stato
- Chi ha installato l'aggiornamento