Logo

Atualização do Windows 11 pode quebrar scripts do PowerShell no sistema; veja como corrigir

Pacote cumulativo KB5132061 impõe validação rígida de codificação UTF-8 em arquivos assinados e causa falhas de execução em rotinas automatizadas da Microsoft.

Atualização do Windows 11 pode quebrar scripts do PowerShell no sistema; veja como corrigir

A distribuição do mais recente pacote de atualizações cumulativas do Windows 11, registrado sob o código KB5132061, começou a gerar dores de cabeça para profissionais de TI, desenvolvedores e administradores de sistemas em todo o mundo. A compilação implementou uma alteração estrutural nos mecanismos de segurança e validação criptográfica do sistema operacional, fazendo com que scripts legítimos em PowerShell deixem de ser executados repentinamente devido a inconsistências na codificação de texto.

O comportamento inesperado não decorre de um bug aleatório, mas de um endurecimento proposital nas políticas de checagem de integridade da Microsoft, que passou a exigir conformidade estrita com padrões de formatação digital antes de autorizar qualquer instrução assinada.

O que mudou na validação do PowerShell após o update KB5132061

Historicamente, o subsistema de verificação de assinaturas digitais do Windows (Authenticode) operava com uma tolerância considerável em relação à estrutura de caracteres dos arquivos .ps1. Caso um script assinado digitalmente contivesse sequências malformadas de codificação UTF-8 ou caracteres fora do padrão esperado, o analisador do sistema realizava substituições automáticas de caracteres para preservar a execução sem interromper as tarefas em segundo plano.

Com a chegada do patch KB5132061, a Microsoft encerrou essa brecha de flexibilidade. A partir de agora, qualquer arquivo de script do PowerShell assinado que apresente sequências de bytes inválidas na tabela UTF-8 é imediatamente marcado com falha de validação criptográfica. O comando Get-AuthenticodeSignature passa a acusar o status NotSigned (Não Assinado) ou erros de hash incompatível, bloqueando rotinas automatizadas em ambientes corporativos e computadores pessoais que operam sob políticas restritivas de execução (AllSigned ou RemoteSigned).

A alteração visa impedir que invasores explorem discrepâncias de codificação para injetar instruções maliciosas em trechos interpretados de maneira ambígua pelo sistema operacional.

Como identificar os scripts afetados pela falha

Se uma automação, ferramenta de diagnóstico ou pipeline de compilação parou de funcionar subitamente após a instalação do pacote cumulativo, é possível verificar a integridade da assinatura diretamente no terminal do PowerShell com privilégios de administrador:

Get-AuthenticodeSignature -FilePath "C:caminhodoseu_script.ps1"

Caso o retorno indique que a assinatura é inválida ou inexistente, mesmo que o certificado do autor continue válido no repositório de chaves do Windows, o arquivo provavelmente foi rejeitado pela nova regra estrita de codificação.

Passo a passo para corrigir os scripts do PowerShell

A correção oficial recomendada pela equipe de engenharia da Microsoft exige que o arquivo de script seja convertido para um padrão inequívoco de caracteres e assinado novamente:

  1. Abra o script em um editor com controle explícito de codificação: Utilize ferramentas como o Visual Studio Code, Notepad++ ou o próprio Bloco de Notas do Windows 11.
  2. Reencode com UTF-8 com BOM: No canto inferior direito do VS Code (ou no menu “Formatar/Codificação” de outros editores), selecione a opção de salvar como UTF-8 with BOM (Byte Order Mark). Embora o ecossistema moderno do PowerShell Core prefira UTF-8 sem BOM para comandos simples, a presença explícita do cabeçalho BOM garante que o validador de assinaturas Authenticode interprete cada byte sem qualquer ambiguidade.
  3. Aplique uma nova assinatura digital: Como a recodificação altera a sequência física de bytes do arquivo, a assinatura anterior se torna matematicamente inválida. É obrigatório reaplicar o seu certificado de autenticidade no arquivo salvo:
Set-AuthenticodeSignature -FilePath "C:caminhodoseu_script.ps1" -Certificate (Get-ChildItem Cert:CurrentUserMy -CodeSigningCert)

Após esse processo, o arquivo .ps1 passará com sucesso pela nova barreira de verificação da atualização KB5132061, restaurando o funcionamento pleno de rotinas críticas sem comprometer a segurança do sistema.

Categorias do Artigo

Marcus Tavares

Marcus é o fundador da Seletronic. Além disso, é programador, e editor no site. Ama ajudar as pessoas a resolverem problemas com tecnologia, por isso criou esse site. Segundo ele: "A tecnologia foi feita para facilitar a vida das pessoas, então devemos ensinar a usá-la". Apesar de respirar tecnologia, ama plantas, animais exóticos e cozinhar.
    💬

    Nenhum comentário!

    Seja o primeiro a compartilhar sua opinião ou fazer uma pergunta.