Como Automatizar Atualizações do Windows Usando o PowerShell: Visão Geral Rápida

A gestão de patches é um aspecto crucial da administração da infraestrutura de TI, assim como o backup do Windows Workstation. Com a solução certa de gestão de patches, você pode aprimorar seu sistema testando ou instalando as últimas atualizações de software e patches. Os patches são considerados correções temporárias para problemas existentes entre lançamentos completos de software. Se a gestão de patches for realizada de forma eficaz, você pode abordar prontamente as vulnerabilidades do seu sistema e mitigar quaisquer ameaças potenciais.

O Windows oferece sua própria solução de gestão de patches – o Windows Update. No entanto, muitos administradores de TI ainda acham o processo de gestão de patches muito complexo e demorado. Além disso, as atualizações do sistema podem afetar seu fluxo de trabalho de produção, pois muitas vezes começam automaticamente durante o horário comercial. Com cmdlets do PowerShell, você pode automatizar as atualizações do Windows, economizando esforço e tempo.

Esta postagem no blog descreve como você pode usar o PowerShell para instalar atualizações do Windows e inclui uma lista de comandos úteis do PowerShell para automatizar o processo de gestão de patches. A aplicação de patches pode reduzir o risco de bugs ou vulnerabilidades afetarem seu sistema.

O que é o PSWindowsUpdate?

Para tornar o processo de gestão de patches do Windows suave e fácil, você pode usar o módulo PSWindowsUpdate desenvolvido por Michal Gajda. Este módulo está disponível publicamente e pode ser baixado gratuitamente da PowerShell Gallery. O principal requisito é que um computador precise executar versões do sistema operacional Windows a partir do Vista ou do Windows Server 2008. Além disso, você precisa ter o PowerShell 2.0 ou posterior.

Com o PSWindowsUpdate, você pode identificar se há atualizações do Windows disponíveis para o seu computador. Além disso, este módulo permite que você gerencie centralmente as atualizações do Windows em vários servidores e estações de trabalho do Windows. Desta forma, você pode controlar remotamente quais atualizações são instaladas, removidas ou ocultadas.

Como Automatizar Atualizações do Windows com PowerShell

Abaixo, vamos delinear o processo de configuração do PSWindowsUpdate, incluindo como baixar e instalar o módulo, bem como como verificar os comandos que podem ajudá-lo a automatizar as atualizações do Windows.

Como instalar o PSWindowsUpdate

Para automatizar efetivamente a gestão de patches do Windows, você primeiro precisa instalar o módulo PSWindowsUpdate no seu computador. Para este fim, abra um prompt de PowerShell elevado e insira o seguinte comando:

Install-Module -Name PSWindowsUpdate

Após executar este comando, você será perguntado se deseja instalar o módulo especificado do PSGallery. Selecione Sim se desejar continuar e aceitar todas as alterações.

Depois de instalar o módulo, você precisa garantir que pode acessar remotamente outros computadores. Dessa forma, você deverá ser capaz de instalar atualizações do Windows em computadores remotos, permitindo que você gaste o mínimo de tempo e esforço possível. Para o módulo PSWindowsUpdate funcionar com máquinas remotas, você precisa salvar o módulo no seu computador e compartilhá-lo em uma rede.

No caso de outros servidores conseguirem importar e implantar este módulo, você pode configurar o gerenciamento automatizado de patches do Windows. Para isso, você deve executar o seguinte cmdlet:

Save-Module -Name PSWindowsUpdate -Path

Aqui, você precisa definir o parâmetro –Path especificando onde deseja que o módulo PSWindowsUpdate seja armazenado.

Como usar o PSWindowsUpdate

Para a próxima etapa, você aprenderá como usar este módulo para automatizar as atualizações do Windows com cmdlets do PowerShell. Isso é uma grande vantagem para administradores de TI que precisam realizar o processo de gerenciamento de patches em máquinas do Server Core sem GUI. Com o uso desses cmdlets, você pode minimizar a complexidade de gerenciamento e tornar o processo mais fácil e menos propenso a erros.

Para obter uma lista completa das atualizações disponíveis do Windows, execute o seguinte comando PowerShell:

Get-WindowsUpdate

Você deve obter a saída abaixo na sua tela:

Com essa informação, você saberá com certeza quais softwares ou aplicativos precisam ser atualizados. Depois disso, você pode instalar todas as atualizações digitando o comando abaixo. Além disso, ao adicionar o parâmetro –AutoReboot, você pode garantir que o sistema reinicie automaticamente após a instalação da atualização.

Get-WUInstall -AcceptAll –AutoReboot

Se você não deseja que a reinicialização comece (para não interromper o fluxo de trabalho de produção), pode executar o seguinte cmdlet:

Get-WUInstall -AcceptAll –IgnoreReboot

Na tela, você pode ver o progresso do processo de gerenciamento de patch, bem como a lista completa de atualizações e seu status atual.

Após o processo de instalação ser concluído, você verá a seguinte mensagem no console do PowerShell: ‘É necessária a reinicialização, mas faça manualmente’. Assim, você ainda precisará reiniciar o sistema, mas pode fazê-lo no momento que melhor se adequar à sua agenda.

Se desejar baixar apenas uma atualização específica, você pode adicionar o parâmetro –KBArticleID ao cmdlet do PowerShell. Não se esqueça de especificar o número do artigo KB para baixar o patch correto. Por exemplo, eu quero instalar Ferramenta de Remoção de Software Malicioso do Windows x64 e Atualização de Inteligência de Segurança para o Windows Defender Antivírus. O comando PowerShell apropriado deve aparecer da seguinte maneira:

Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll

Depois de executar este comando, terei apenas dois dos referidos updates instalados no meu computador.

Visão geral dos comandos PSWindowsUpdate

Se está se perguntando qual cmdlet do PowerShell pode funcionar com o módulo PSWindowsUpdate, você deve digitar o seguinte comando e pressionar Enter:

Get-Command –module PSWindowsUpdate

Aqui, você pode ver uma lista completa dos comandos do módulo.

Vamos cobrir como alguns desses comandos funcionam.

1. O cmdlet Get-WUHistory permite visualizar o histórico das últimas atualizações. Após executar este comando, você receberá uma saída semelhante na tela.

2. O próximo cmdlet é Get-WUInstallerStatus, que pode ajudar a verificar o status do serviço Windows Installer. Aqui, você pode verificar se o instalador está funcionando corretamente ou não. A saída para esta operação pode parecer o seguinte:

3. Ao executar o cmdlet Get-WURebootStatus, você pode verificar se precisa reiniciar o sistema para que uma atualização específica seja totalmente aplicada.

4. Com o cmdlet Get-WUServiceManager, você pode verificar a fonte das atualizações do Windows.

Como pode ver, a última coluna demonstra a fonte da atualização (por exemplo, Windows Update, DCat Flighting Prod, etc.).

5. Pode ocultar determinadas atualizações da lista para evitar instalá-las no seu computador. Para isso, deve executar o comando Hide-WindowsUpdate onde é possível especificar o ID dos artigos KB que deseja ocultar. O seguinte exemplo demonstra como pode ocultar a atualização KB2267602 da lista:

$HideList = "KB2267602"

Hide-WindowsUpdate -KBArticleID $HideList –Hide

Antes de efetuar quaisquer alterações, será solicitada uma confirmação da seleção. Digite Y para ocultar o artigo KB.

No entanto, se desejar obter a lista de atualizações ocultas, pode executar o cmdlet abaixo.

Get-WindowsUpdate –IsHidden

Na coluna Status, você pode ver a letra H que indica que a atualização foi ocultada com sucesso. Assim, na próxima vez que você executar o comando Get-WUInstall, a atualização selecionada será automaticamente excluída da lista de atualizações disponíveis.

Se você desejar reverter as alterações, pode usar o seguinte cmdlet no console do PowerShell:

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

Novamente, será solicitado que você confirme as alterações digitando Y.

Como você pode ver, a letra H não está mais incluída no status da atualização, o que significa que esta atualização do Windows não está mais oculta e pode ser baixada em seu computador.

6. Outra opção de configuração disponível para você é remover as atualizações que você instalou em sua máquina. Para isso, você pode usar o cmdlet Remove-WindowsUpdate e digitar o ID do artigo KB que deseja desinstalar do seu computador. Por exemplo:

Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot

Ao adicionar o parâmetro –IgnoreReboot, você garante que o computador não reinicie automaticamente. Depois que a atualização for desinstalada, você pode reiniciar a máquina mais tarde.

Por último, mas não menos importante, você pode verificar as atualizações disponíveis do Windows em uma máquina remota usando o cmdlet Get-WUList.

Get-WUList –ComputerName Server5

Para que este cmdlet funcione, você também precisa instalar o módulo PSWindowsUpdate em um computador remoto. Dessa forma, você pode automatizar as atualizações do Windows para várias máquinas a partir de uma única interface. Com o PSWindowsUpdate, o processo de gerenciamento de patches é realizado de forma simples e eficiente.

Além disso, você pode reduzir a sobrecarga de gerenciamento que os administradores de TI podem enfrentar durante o processo de patching do sistema.

Conclusão

O módulo PSWindowsUpdate foi desenvolvido para tornar o processo de gerenciamento de patches mais simples e eficiente. Automatizando a instalação de atualizações, você pode garantir que seu sistema seja atualizado regularmente, minimizando assim o risco de falhas do sistema e violações de segurança. Os patches são principalmente desenvolvidos para resolver problemas ou vulnerabilidades descobertas dentro de um programa. No entanto, o gerenciamento regular de patches não pode garantir proteção em larga escala de todo o ambiente de produção.

Para isso, você precisa usar uma solução abrangente de proteção de dados que ofereça backup e recuperação de site para ambientes físicos, virtuais e na nuvem. Com o NAKIVO Backup & Replicação, você pode proteger seus dados e aplicativos mais críticos em várias plataformas, garantir a recuperação em qualquer circunstância e reduzir os custos de proteção de dados.

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