Come automatizzare gli aggiornamenti di Windows utilizzando PowerShell: breve panoramica

La gestione delle patch è un aspetto cruciale dell’amministrazione dell’infrastruttura IT, così come il backup delle workstation Windows. Con una soluzione di gestione delle patch appropriata, è possibile migliorare il proprio sistema testando o installando gli ultimi aggiornamenti e le patch software. Le patch sono considerate soluzioni temporanee per i problemi esistenti tra le release complete del software. Se la gestione delle patch viene eseguita efficacemente, è possibile affrontare rapidamente le vulnerabilità del sistema e mitigare eventuali minacce potenziali.

Windows offre la propria soluzione di gestione delle patch: Windows Update. Tuttavia, molti amministratori IT trovano ancora il processo di gestione delle patch troppo complesso e lungo. Inoltre, gli aggiornamenti del sistema possono influenzare il workflow produttivo poiché spesso partono automaticamente durante l’orario di lavoro. Con i cmdlet di PowerShell, è possibile automatizzare gli aggiornamenti di Windows, risparmiando così tempo e fatica.

Questo articolo spiega come utilizzare PowerShell per installare gli aggiornamenti di Windows e fornisce un elenco di comandi PowerShell utili per automatizzare il processo di gestione delle patch. Le patch possono ridurre il rischio di bug o vulnerabilità che influenzano il sistema.

Cos’è PSWindowsUpdate?

Per rendere il processo di gestione dei patch di Windows semplice e facile, è possibile utilizzare il modulo PSWindowsUpdate sviluppato da Michal Gajda. Questo modulo è disponibile pubblicamente e può essere scaricato gratuitamente dal PowerShell Gallery. Il requisito principale è che il computer debba eseguire le versioni del sistema operativo Windows a partire da Vista o Windows Server 2008. Inoltre, è necessario avere PowerShell 2.0 o successivo.

Con PSWindowsUpdate, è possibile verificare se sono disponibili aggiornamenti di Windows per il proprio computer. Inoltre, questo modulo consente di gestire in modo centralizzato gli aggiornamenti di Windows su vari server e workstation Windows. In questo modo, è possibile controllare in remoto quali aggiornamenti vengono installati, rimossi o nascosti.

Come automatizzare gli aggiornamenti di Windows con PowerShell

Di seguito, illustreremo il processo di configurazione di PSWindowsUpdate, inclusi il download e l’installazione del modulo, nonché il controllo dei comandi che possono aiutarti ad automatizzare gli aggiornamenti di Windows.

Come installare PSWindowsUpdate

Per automatizzare efficacemente la gestione dei patch di Windows, è necessario prima installare il modulo PSWindowsUpdate sul proprio computer. A tale scopo, aprire un prompt di PowerShell con privilegi elevati e immettere il seguente comando:

Install-Module -Name PSWindowsUpdate

Dopo aver eseguito questo comando, ti verrà chiesto se desideri installare il modulo specificato da PSGallery. Seleziona se desideri continuare ed accettare tutte le modifiche.

Una volta installato il modulo, devi assicurarti di poter accedere in remoto ad altri computer. In questo modo, dovresti essere in grado di installare gli aggiornamenti di Windows su computer remoti, consentendoti di risparmiare tempo ed sforzi. Per far funzionare il modulo PSWindowsUpdate con macchine remote, devi salvare il modulo sul tuo computer e condividerlo in rete.

Nel caso in cui altri server riescano ad importare e distribuire questo modulo, puoi configurare la gestione automatizzata delle patch di Windows. A tal fine, devi eseguire il cmdlet seguente:

Save-Module -Name PSWindowsUpdate -Path

Qui, devi definire il parametro –Path specificando dove desideri che il modulo PSWindowsUpdate venga memorizzato.

Come utilizzare PSWindowsUpdate

Per il passaggio successivo, imparerai come utilizzare questo modulo per automatizzare gli aggiornamenti di Windows tramite i cmdlet di PowerShell. Questo è un grande vantaggio per gli amministratori IT che devono eseguire il processo di gestione delle patch su macchine Server Core senza interfaccia grafica. Con l’utilizzo di questi cmdlet, puoi ridurre la complessità della gestione e rendere il processo più semplice e meno soggetto a errori.

Per ottenere un elenco completo degli aggiornamenti disponibili per Windows, esegui il seguente comando PowerShell:

Get-WindowsUpdate

Dovresti ottenere l’output che vedi di seguito sul tuo schermo:

Con queste informazioni, saprai con certezza quale software o applicazione ha bisogno di essere aggiornato. Dopo di che, puoi installare tutti gli aggiornamenti inserendo il comando seguente. Inoltre, aggiungendo il parametro –AutoReboot, puoi assicurarti che il sistema si riavvierà automaticamente una volta che l’aggiornamento è stato installato.

Get-WUInstall -AcceptAll –AutoReboot

Se non desideri che il riavvio inizi (per non interrompere il flusso di lavoro di produzione), puoi eseguire il seguente cmdlet:

Get-WUInstall -AcceptAll –IgnoreReboot

Sullo schermo, puoi vedere il progresso del processo di gestione dei patch, nonché l’elenco completo degli aggiornamenti e il loro stato attuale.

Dopo che il processo di installazione è completo, vedrai il seguente messaggio nella console di PowerShell: ‘Il riavvio è richiesto ma fallo manualmente’. Quindi, ti sarà comunque richiesto di riavviare il sistema, ma potrai farlo al momento che meglio si adatta al tuo programma.

Se desideri scaricare solo un aggiornamento specifico, puoi aggiungere il parametro –KBArticleID al cmdlet di PowerShell. Non dimenticare di specificare il numero dell’articolo KB per scaricare il giusto patch. Ad esempio, desidero installare Strumento per la rimozione dei software dannosi di Windows

Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll

Dopo aver eseguito questo comando, avrò solo due degli aggiornamenti installati sul mio computer.

Panoramica dei comandi PSWindowsUpdate

Se ti stai chiedendo quale cmdlet di PowerShell può funzionare con il modulo PSWindowsUpdate, dovresti digitare il seguente comando e premere Invio:

Get-Command –module PSWindowsUpdate

Qui puoi vedere un elenco completo dei comandi del modulo.

Vediamo come funzionano alcuni di questi comandi.

1. Il cmdlet Get-WUHistory ti permette di visualizzare la cronologia degli ultimi aggiornamenti. Dopo aver eseguito questo comando, riceverai un output simile sullo schermo.

2. Il cmdlet successivo è Get-WUInstallerStatus, che può aiutarti a verificare lo stato del servizio Windows Installer. Qui puoi controllare se l’installatore funziona correttamente o meno. L’output di questa operazione può apparire come segue:

3. Eseguendo il cmdlet Get-WURebootStatus, puoi verificare se è necessario riavviare il sistema affinché un determinato aggiornamento sia completamente applicato.

4. Con il cmdlet Get-WUServiceManager, puoi controllare la fonte degli aggiornamenti di Windows.

Come puoi vedere, l’ultima colonna mostra la fonte dell’aggiornamento (ad esempio, Windows Update, DCat Flighting Prod, ecc.).

5. Puoi nascondere determinati aggiornamenti dalla lista per evitarne l’installazione sul tuo computer. A questo scopo, esegui il comando Hide-WindowsUpdate dove è possibile specificare l’ID degli articoli KB che desideri nascondere. L’esempio seguente mostra come nascondere l’aggiornamento KB2267602 dalla lista:

$HideList = "KB2267602"

Hide-WindowsUpdate -KBArticleID $HideList –Hide

Prima di apportare eventuali modifiche, ti verrà chiesto di confermare la selezione. Digita Y per nascondere l’articolo KB.

Tuttavia, se desideri ottenere l’elenco degli aggiornamenti nascosti, puoi eseguire il cmdlet seguente.

Get-WindowsUpdate –IsHidden

Nella colonna Stato, puoi vedere la lettera H che indica che l’aggiornamento è stato nascosto con successo. Pertanto, la prossima volta che eseguirai il comando Get-WUInstall, l’aggiornamento selezionato verrà automaticamente escluso dall’elenco degli aggiornamenti disponibili.

Se desideri annullare le modifiche, puoi utilizzare il cmdlet seguente nella console PowerShell:

Hide-WindowsUpdate -KBArticleID $HideList -Hide:$false

Ti verrà chiesto di confermare le modifiche digitando Y.

Come puoi vedere, la lettera H non è più inclusa nello stato dell’aggiornamento, il che significa che questo aggiornamento di Windows non è più nascosto e può essere scaricato sul tuo computer.

6. Un’altra opzione di configurazione disponibile per te è rimuovere gli aggiornamenti installati sulla tua macchina. A questo scopo, puoi utilizzare il cmdlet Remove-WindowsUpdate e digitare l’ID dell’articolo KB che desideri disinstallare dal tuo computer. Ad esempio:

Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot

Aggiungendo il parametro –IgnoreReboot, ti assicuri che il computer non si riavvierà automaticamente. Una volta disinstallato l’aggiornamento, potrai riavviare la macchina in un secondo momento.

7. Infine, è possibile eseguire la scansione degli aggiornamenti disponibili di Windows su una macchina remota utilizzando il cmdlet Get-WUList.

Get-WUList –ComputerName Server5

Per far funzionare questo cmdlet, è necessario installare anche il modulo PSWindowsUpdate su un computer remoto. In questo modo, è possibile automatizzare gli aggiornamenti di Windows per più macchine da un’unica interfaccia. Con PSWindowsUpdate, il processo di gestione delle patch viene eseguito in modo semplice ed efficiente.

Inoltre, è possibile ridurre il carico amministrativo che gli amministratori IT possono riscontrare durante l’applicazione delle patch di sistema.

Conclusione

Il modulo PSWindowsUpdate è stato sviluppato per semplificare e rendere più efficiente il processo di gestione delle patch. Automatizzando l’installazione degli aggiornamenti, è possibile essere sicuri che il sistema venga aggiornato regolarmente, riducendo così il rischio di malfunzionamenti e violazioni della sicurezza. Le patch sono principalmente sviluppate per risolvere problemi o vulnerabilità scoperte all’interno di un programma. Tuttavia, una gestione regolare delle patch non può garantire una protezione completa dell’intero ambiente di produzione.

A tal fine, è necessario utilizzare una soluzione completa di protezione dei dati che offra backup e ripristino del sito per ambienti fisici, virtuali e cloud. Con NAKIVO Backup & Replication, è possibile proteggere i dati e le applicazioni più critici su piattaforme multiple, assicurare il ripristino in qualsiasi circostanza e ridurre i costi di protezione dei dati.

Source:
https://www.nakivo.com/blog/automate-windows-updates-using-powershell-short-overview/