Prima che possiate commentare che esiste Windows Update per la loro distribuzione, vi dico che a livello aziendale può succedere di tutto, anche che il server WSUS non funzioni per niente, o quasi, così le patch non vengono installate e lo dobbiamo fare noi da remoto, e manualmente, perché altrimenti non si può aggiornare l’antivirus aziendale che non trova le ultime patch di Windows.
Altra cosa utile di PowerShell, e del modulo PSWindowsUpdate, è che si possono creare degli script per automatizzare determinate operazioni e risparmiare del lavoro al tecnico che gestisce i computer.
Update: L'articolo è stato completamente revisionato per spiegare meglio tutte le principali funzioni del modulo PSWindowsUpdate.
Procedimento
Per prima cosa bisogna aggiungere il modulo PSWindowsUpdate con il comando Install-Module -Name PSWindowsUpdate -Force
e dopo averlo installato usare il comando Import-Module PSWindowsUpdate
per importarlo.
Se dovessero comparire degli errori, perché l’esecuzione degli script è disattivata, li dovete abilitare seguendo le istruzioni di questo articolo.
Con get-command -module PSWindowsUpdate
possiamo vedere tutti i comandi disponibili in questo modulo.
Per vedere quali aggiornamenti sono disponibili possiamo usare questi due comandi Get-WUlist -MicrosoftUpdate
oppure get-windowsupdate
.
In due computer con Windows 10, dove ho fatto le prove, ho notato che la dimensione di alcuni aggiornamenti è decisamente sbagliata. La Kb5029244, presa dal catalogo degli aggiornamenti di Windows, ha dimensione di 758 MB e non 104 GB.
Con Download-WindowsUpdate
possiamo scaricare gli aggiornamenti e confermare di accettarli o meno.
Mentre con il comando Install-WindowsUpdate
eseguiamo l’installazione, anche qui possiamo confermare, o rifiutare, l’installazione dei singoli aggiornamenti. Al termine il computer va riavviato.
Con Get-WindowsUpdate -AcceptAll -Install -AutoReboot
possiamo scaricare e installare tutti gli aggiornamenti disponibili, con riavvio automatico del computer al termine delle installazioni.
Mentre con il comando Get-WindowsUpdate -AcceptAll -Install -IgnoreReboot
installiamo tutto ma non riavviamo il computer.
Se vogliamo installare una singola patch, tra quelle disponibili, dobbiamo indicare il suo KB, se vogliamo installarne più di una separiamo le varie KB con delle virgole, Get-WindowsUpdate -KBArticleID KB890830 -Install
Un comando che mi interessava molto, ma che non sono riuscito a fare funzionare bene dove ho provato, è get-wuhistory
che visualizza tutte le patch installate con varie altre informazioni.
Intanto il comando va dato con la schermata di Powershell aperta a schermo intero, altrimenti taglia il Title e si perdono delle informazioni come il valore della KB, le date d’installazione non mi sembrano tutte corrette e, cosa più importante, il comando si blocca senza completarsi e bisogna chiudere forzatamente PowerShell.
Resettare Windows Update
Questo comando Reset-WUComponents -Verbose
è l’equivalente in PowerShell di quanto avevamo spiegato in questi due articoli, 1 e 2, da usarsi solo quando gli aggiornamenti falliscono, la ricerca degli stessi non riesce o ci sono sempre degli errori strani.
Dopo aver usato il comando, e fatto un riavvio del computer, si può provare a fare una nuova ricerca degli aggiornamenti di Windows.