WSUS creazione report per computer con aggiornamenti in errore

WSUS è un servizio essenziale per mantenere aggiornata l’infrastruttura informatica e per avere il polso della situazione degli aggiornamenti. Sebbene WSUS abbia usa serie di report che possono essere utilizzati per monitorare come sono stati distribuiti gli aggiornamenti e quali sono i computer in errore una funzionalità utile è quella di avere un report che elenchi i computer con aggiornamenti in errore indicando informazioni quali versione OS e hardware, numero degli aggiornamenti falliti, scaricati, installati, le informazioni relative all’esito e alla data e l’elenco degli aggiornamenti falliti.

Per generare tale report e inviarlo volendo tramite mail è comunque possibile utilizzare PowerShell utilizzando sia i cmdlets per WSUS disponibili a partire da Windows Server 2012 (a riguardo si veda Windows Server Update Services (WSUS) Cmdlets in Windows PowerShell) sia i metodi della classe Microsoft.UpdateServices.Administration.AdminProxy che implementa l’interfaccia IUpdateServer.

Scendendo nel dettaglio tramite il cmdlet Get-WsusComputer è possibile ottenere informazioni sui computer quali FullDomainName,IP, Hardware, OS, esito e data dell’ultima sincronizzazione. Mentre per ottenere informazioni relative a numero di update falliti, non installati, pendenti, scaricati e installati occorre utilizzare i metodi:

Ho realizzato uno script PowerShell da eseguire sul server WSUS per ottenere un report con un elenco elenchi i computer con aggiornamenti in errore che consente tramite parametri di inviare il report via mail e di eseguire sul computer un test di connessione tramite l’invio di pacchetti di richieste echo (ovvero inviando ping).

Lo script è disponibile nel mio repository GitHub nella sezione dedicata a PowerShell, di seguito il link diretto https://github.com/ermannog/PowerShell/tree/master/Get-WSUSReportComputersInError.

Di seguito invece un esempio del report e della mail generata:

[Update 01]

Nella versione 1.2 dello script è stato aggiunta una sezione al report per visualizzare gli errori registrati dal server WSUS intercorsi sul computer negli ultimi 7 giorni.

[Update 02]

Nella versione 1.3 sono state apportate le seguenti migliorie:

  • L’ordine dei computer con aggiornamenti falliti è stato modifica per visualizzare i computer in ordine decrescente rispetto ai valori Update failed, Update Unknown e Update not installed
  • Il valore Last sync time viene colorato in magenta se la data è antecedente di 7 alla data odierna

[Update 03]

Nella versione 1.4 è stato corretto un errore per gestire correttamente il caso in cui non vengano rilevati computer con aggiornamenti in errore.