Come automatizzare gli aggiornamenti di Windows utilizzando PowerShell: breve panoramica

La gestione delle patch è un aspetto cruciale dell’amministrazione dell’infrastruttura IT, proprio come Backup della workstation Windows. Con la giusta soluzione di gestione delle patch, è possibile migliorare il proprio sistema testando o installando gli ultimi aggiornamenti software e le patch. Le patch sono considerate soluzioni temporanee a problemi esistenti tra una versione completa del software e l’altra. Se la gestione delle patch viene eseguita in modo efficace, è possibile affrontare tempestivamente le vulnerabilità del proprio sistema e mitigare eventuali minacce.

Windows offre una propria soluzione di gestione delle patch: Windows Update. Tuttavia, molti amministratori IT continuano a ritenere il processo di gestione delle patch troppo complesso e dispendioso in termini di tempo. Inoltre, gli aggiornamenti di sistema possono influire sul flusso di lavoro di produzione, poiché spesso si avviano automaticamente durante l’orario di lavoro. Con i cmdlet di PowerShell è possibile automatizzare gli aggiornamenti di Windows, risparmiando tempo e fatica.

Questo post del blog descrive come utilizzare PowerShell per installare gli aggiornamenti di Windows e include un elenco di comandi PowerShell utili per automatizzare il processo di gestione delle patch. L’applicazione delle patch può ridurre il rischio che bug o vulnerabilità compromettano il sistema.

NAKIVO per il backup su Windows

NAKIVO per il backup su Windows

Backup rapido di server e workstation Windows onsite, fuori sede e nel cloud. Ripristino completo di macchine e oggetti in pochi minuti, per tempi di ripristino (RTO) ridotti e massima disponibilità.

Che cos’è PSWindowsUpdate?

Per rendere il processo di gestione delle patch di Windows semplice e agevole, è possibile utilizzare il modulo PSWindowsUpdate sviluppato da Michal Gajda. Questo modulo è disponibile al pubblico e può essere scaricato gratuitamente dal sito PowerShell Gallery. Il requisito principale è che il computer utilizzi una versione del sistema operativo Windows a partire da Vista o Windows Server 2008. Inoltre, è necessario disporre di PowerShell 2.0 o versioni successive.

Con PSWindowsUpdate è possibile verificare se sono disponibili aggiornamenti di Windows per il proprio computer. Inoltre, questo modulo consente di gestire centralmente gli aggiornamenti di Windows su vari server e workstation Windows. In questo modo, è possibile controllare da 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, spiegando come scaricare e installare il modulo, nonché come individuare i comandi utili per automatizzare gli aggiornamenti di Windows.

Come installare PSWindowsUpdate

Per automatizzare efficacemente la gestione delle patch di Windows, è necessario innanzitutto installare il modulo PSWindowsUpdate sul proprio computer. A tal fine, apri un prompt di PowerShell con privilegi elevati e digita il seguente comando:

Install-Module -Name PSWindowsUpdate

Dopo aver eseguito questo comando, ti verrà chiesto se desideri installare il modulo specificato da PSGallery. Seleziona Yes se desideri continuare e accettare tutte le modifiche.
Installing PSWindowsUpdate (automate Windows updates)

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 sui computer remoti, riducendo al minimo il tempo e lo sforzo necessari. Affinché il modulo PSWindowsUpdate funzioni con i computer remoti, è necessario salvarlo sul proprio computer e condividerlo in rete.

Nel caso in cui altri server siano in grado di importare e implementare questo modulo, è possibile configurare la gestione automatizzata delle patch di Windows. A tal fine, è necessario eseguire il seguente cmdlet:

Save-Module -Name PSWindowsUpdate -Path

Qui, è necessario definire il parametro –Path specificando dove si desidera che il modulo PSWindowsUpdate venga archiviato.

Come utilizzare PSWindowsUpdate

Nel passaggio avanti imparerete come utilizzare questo modulo per automatizzare gli aggiornamenti di Windows tramite i cmdlet di PowerShell. Si tratta di un grande vantaggio per gli amministratori IT che devono eseguire il processo di gestione delle patch su macchine Server Core prive di interfaccia grafica. Grazie all’uso di questi cmdlet, è possibile ridurre al minimo la complessità della gestione e rendere il processo più semplice e meno soggetto a errori. Per ottenere un elenco completo degli aggiornamenti di Windows disponibili, esegui il seguente comando PowerShell:

Get-WindowsUpdate

Sullo schermo dovrebbe apparire il risultato riportato di seguito:

Get Windows Update (automate Windows updates)

Grazie a queste informazioni, saprai con certezza quali software o applicazioni devono essere aggiornati. Successivamente, potrai installare tutti gli aggiornamenti immettendo il comando riportato di seguito. Inoltre, aggiungendo il parametro –AutoReboot , potrai assicurarti che il sistema si riavvii automaticamente una volta installato l’aggiornamento.

Get-WUInstall -AcceptAll –AutoReboot

Se non desiderate che venga avviato un riavvio (per non interrompere il flusso di lavoro di produzione), potete eseguire il seguente cmdlet:

Get-WUInstall -AcceptAll –IgnoreReboot

Sullo schermo potrete vedere l’avanzamento del processo di gestione delle patch, nonché l’elenco completo degli aggiornamenti e il loro stato attuale.

Downloading updates (automate Windows updates)

Una volta completato il processo di installazione, vedrete il seguente messaggio nella console di PowerShell: «Il riavvio è obbligatorio, ma eseguitelo manualmente». Pertanto, è comunque obbligatorio riavviare il sistema, ma è possibile farlo nel momento più adatto alle proprie esigenze.

Se si desidera scaricare solo un aggiornamento specifico, è possibile aggiungere il parametro –KBArticleID al cmdlet di PowerShell. Non dimenticare di specificare il numero dell’articolo KB per scaricare la patch corretta. Ad esempio, voglio installare Strumento di rimozione software dannoso di Windows x64 e Aggiornamento di Security Intelligence per Windows Defender Antivirus . Il comando PowerShell appropriato dovrebbe apparire come segue:

Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll

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

Panoramica dei comandi PSWindowsUpdate

Se vi state chiedendo quale cmdlet di PowerShell possa funzionare con il modulo PSWindowsUpdate, dovreste digitare il seguente comando e premere Enter:

Get-Command –module PSWindowsUpdate

Qui potete vedere un elenco completo dei comandi del modulo.
List of PSWindowsUpdate commands (automate Windows updates)
Vediamo come funzionano alcuni di questi comandi.

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

Viewing history of installed updates (automate Windows updates)

2. Il cmdlet successivo è Get-WUInstallerStatus, che consente di verificare lo stato del servizio Windows Installer. In questo modo è possibile controllare se il programma di installazione funziona correttamente o meno. L’output di questa operazione può apparire come segue:

Viewing the installer status (automate Windows updates)

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

Viewing the reboot status (automate Windows updates)

4. Con il cmdlet Get-WUServiceManager , è possibile verificare l’origine degli aggiornamenti di Windows. Viewing the source of Windows updates (automate Windows updates)

Come si può notare, l’ultima colonna indica l’origine dell’aggiornamento (ad esempio Windows Update, DCat Flighting Prod, ecc.).

5. È possibile nascondere determinati aggiornamenti dall’elenco per evitare che vengano installati sul proprio computer. A tal fine, è necessario eseguire il comando Hide-WindowsUpdate , in cui è possibile specificare l’ID degli articoli KB che si desidera nascondere. L’esempio seguente mostra come nascondere l’aggiornamento KB2267602 dall’elenco:

$HideList = "KB2267602"

Hide-WindowsUpdate -KBArticleID $HideList –Hide

Prima di apportare qualsiasi modifica, verrà richiesto di confermare la selezione. Digitare Y per nascondere l’articolo della KB.
Hiding Windows Updates (automate Windows updates)

Tuttavia, se si desidera ottenere l’elenco degli aggiornamenti nascosti, è possibile eseguire il cmdlet riportato di seguito.

Get-WindowsUpdate –IsHidden
Hidden Windows Updates (automate Windows updates)

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

Se si desidera annullare le modifiche, è possibile utilizzare il seguente cmdlet nella console di PowerShell:

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

Ancora una volta, verrà richiesto di confermare le modifiche digitando Y.
Changing the status of Windows update (automate Windows updates)

Come si può notare, 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 proprio computer.

6. Un’altra opzione di configurazione a vostra disposizione consiste nel rimuovere gli aggiornamenti che avete installato sul vostro computer. A tal fine, potete utilizzare il cmdlet Remove-WindowsUpdate e digitare l’ID dell’articolo KB che desiderate disinstallare dal vostro computer. Ad esempio:

Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot

Aggiungendo il parametro –IgnoreReboot , vi assicurate che il computer non si riavvii automaticamente. Una volta disinstallato l’aggiornamento, potrete riavviare il computer in un secondo momento.

7. Infine, ma non meno importante, è possibile verificare la disponibilità di aggiornamenti di Windows su un computer remoto utilizzando il cmdlet Get-WUList .

Get-WUList –ComputerName Server5

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

Inoltre, è possibile ridurre il carico di lavoro amministrativo che gli amministratori IT potrebbero dover sostenere durante l’applicazione delle patch di sistema.

Conclusioni

Il modulo PSWindowsUpdate è stato sviluppato per rendere il processo di gestione delle patch più semplice ed efficiente. Automatizzando l’installazione degli aggiornamenti, potrete essere certi che il vostro sistema venga aggiornato regolarmente, riducendo così al minimo il rischio di malfunzionamenti e violazioni della sicurezza. Le patch vengono sviluppate principalmente per risolvere problemi o vulnerabilità individuati 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 per la protezione dei dati che offra funzionalità di 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 più piattaforme, garantire il ripristino in qualsiasi circostanza e ridurre i costi legati alla protezione dei dati.

Prova NAKIVO Backup & Replication

Prova NAKIVO Backup & Replication

Richiedi una prova gratuita per scoprire tutte le funzionalità di protezione dei dati offerte dalla soluzione. 15 giorni gratuiti. Nessuna limitazione in termini di funzionalità o capacità. Non è obbligatoria alcuna carta di credito.

Le persone leggono anche