Aplica-se a
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2008 Premium Assurance Windows Server 2008 R2 Premium Assurance Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Data de publicação original: 9 de dezembro de 2025

ID do KB: 5074596

Resumo

Windows PowerShell 5.1 agora exibe um prompt de confirmação de segurança ao usar o comando Invoke-WebRequest para buscar páginas da Web sem parâmetros especiais. Esse prompt adverte que os scripts na página podem ser executados durante a análise e aconselha o uso do parâmetro -UseBasicParsing mais seguro para evitar qualquer execução de script. Os usuários devem optar por continuar ou cancelar a operação. Essa alteração ajuda a proteger contra conteúdo da Web mal-intencionado, exigindo o consentimento do usuário antes de ações potencialmente arriscadas.

Essa alteração afeta principalmente ambientes corporativos ou gerenciados por TI em que os scripts do PowerShell são usados para automação e recuperação de conteúdo da Web. Pessoas usar dispositivos em configurações pessoais ou domésticas geralmente não precisam tomar nenhuma ação, pois esses cenários são incomuns fora de implantações gerenciadas de TI.

O que mudou?

  • Comportamento anterior

    • Análise completa do DOM (Modelo de Objeto de Documento) usando componentes de Explorer da Internet (mshtml)), que poderiam executar scripts de conteúdo baixado.

  • Novo comportamento

    • Prompt de confirmação de segurança: Depois de instalar as atualizações do Windows lançadas em ou após 9 de dezembro de 2025, executar o comando Invoke-WebRequest (também conhecido como curl) no PowerShell 5.1 disparará um prompt de segurança (quando nenhum parâmetro especial for usado). O prompt é exibido no console do PowerShell com um aviso sobre o Risco de Execução de ScriptIsso significa que o PowerShell está fazendo uma pausa para avisar que, sem precauções, o conteúdo do script da página da Web poderá ser executado em seu sistema quando ele for processado. Por padrão, se você pressionar Enter (ou escolher Não), a operação será cancelada por segurança. O PowerShell mostrará uma mensagem de que ele foi cancelado devido a preocupações de segurança e sugere executar novamente o comando usando o parâmetro -UseBasicParsing para processamento seguro. Se você escolher Sim, o PowerShell continuará analisando a página usando o método mais antigo (análise completa de HTML), o que significa que ele carregará o conteúdo e todos os scripts inseridos como costumava fazer. Essencialmente, escolher Sim significa que você está aceitando o risco e permitindo que o comando seja executado como antes, ao escolher Não (o padrão) interrompe a ação para protegê-lo.

    • Uso interativo vs. Scripted: A introdução desse prompt afeta principalmente o uso interativo. Em sessões interativas, você verá o aviso e terá que responder. Para scripts automatizados (cenários não interativos, como tarefas agendadas ou pipelines de CI), esse prompt pode fazer com que o script fique suspenso aguardando a entrada. Para evitar isso, recomendamos atualizar esses scripts para usar explicitamente parâmetros seguros (confira abaixo), garantindo que eles não exijam confirmação manual.

Tome medidas

A maioria dos scripts e comandos do PowerShell que usam o comando Invoke-WebRequest continuará funcionando com pouca ou nenhuma modificação. Por exemplo, scripts que apenas baixam conteúdo ou funcionam com o corpo da resposta como texto ou dados não são afetados e não exigem alterações. 

Se você tiver scripts afetados por essa alteração, use uma das abordagens a seguir.

Nenhuma ação necessária se o uso típico do comando Invoke-WebRequest for buscar conteúdo (como baixar arquivos ou ler texto estático) e você não depender de interação avançada do site ou análise HTML DOM. O novo comportamento padrão é mais seguro: os scripts inseridos no conteúdo da Web não serão executados sem sua permissão e essa é a configuração recomendada para a maioria dos cenários. 

Para uso interativo, basta responder Não ao novo prompt de segurança (ou pressionar Enter para aceitar o padrão) e executar novamente seu comando com o parâmetro -UseBasicParsing para recuperar o conteúdo com segurança. Isso evitará a execução de qualquer código de script na página buscada. Se você buscar conteúdo da Web com frequência interativamente, considere usar o parâmetro -UseBasicParsing por padrão em seus comandos para ignorar o prompt completamente e garantir a segurança máxima. 

Para scripts automatizados ou tarefas agendadas, atualize-os para incluir o parâmetro -UseBasicParsing em chamadas Invoke-WebRequest. Isso pré-seleciona o comportamento seguro para que o prompt não apareça e seu script continue sendo executado sem interrupção. Ao fazer isso, você garante que sua automação seja executada perfeitamente após a atualização enquanto ainda aproveita a segurança aprimorada. 

Para scripts ou automação que lidam com conteúdo web não confiável ou público e exigem processamento de estruturas ou formulários HTML, considere refatorá-los ou atualizá-los para segurança de longo prazo. Em vez de confiar no PowerShell para analisar e executar scripts de página da Web potencialmente perigosos, você pode: 

  • Use métodos ou bibliotecas de análise alternativos (por exemplo, trate o conteúdo da página da Web como texto simples ou XML, usando bibliotecas de análise regex ou XML/HTML que não executam scripts).

  • Modernize sua abordagem para interações da Web, talvez usando o PowerShell Core mais recente (versão 7.x ou posterior) que não depende do mecanismo do Explorer da Internet e evita a execução de scripts ou usando ferramentas de raspagem da Web especializadas que lidam com o conteúdo com mais segurança.

  • Limitar a dependência de recursos específicos do Explorer da Internet, uma vez que o Explorer da Internet é preterido. Planeje re-gravar partes de seus scripts que dependem desses recursos para que possam funcionar em um ambiente em que o conteúdo da Web é tratado com segurança.

  • O objetivo com a refatoração é alcançar a funcionalidade necessária sem se expor aos riscos de segurança, adotando assim os padrões mais seguros introduzidos por essa alteração.

Se você tiver uma necessidade específica de usar os comandos Invoke-WebRequest com recursos completos de análise HTML (como interagir com campos de formulário ou raspar dados estruturados) e confiar na origem do conteúdo da Web, você ainda poderá prosseguir com o comportamento de análise herdado caso a caso. Em sessões interativas, isso significa simplesmente escolher Sim no prompt de confirmação para permitir que a operação continue. Você receberá um lembrete do risco de segurança sempre que o fizer. Continuar sem o parâmetro -UseBasicParsing deve ser limitado a cenários em que você confia totalmente no conteúdo da Web (por exemplo, aplicativos Web internos sob seu controle ou sites seguros conhecidos). 

Importante: Essa abordagem não é recomendada para scripts em execução contra conteúdo da Web não confiável ou público, pois reintroduz o risco de execução de script silencioso que essa atualização destina-se a atenuar. Além disso, para automação não interativa, não há nenhum mecanismo interno para consentir automaticamente com o prompt, portanto, confiar na análise completa em scripts não é aconselhável (além de ser arriscado). Use essa opção com moderação e apenas como uma medida temporária.

Perguntas frequentes​​​​​​​

Para a maioria dos casos, os scripts que baixam arquivos ou buscam conteúdo da Web como texto ainda funcionarão; adicione o parâmetro -UseBasicParsing para evitar prompts. Scripts usando análise html avançada (como formulários ou DOM) podem travar ou produzir dados brutos em vez de objetos estruturados; você precisará alternar para análise básica ou modificar seu script para lidar com o conteúdo de forma diferente.

Use sempre o parâmetro -UseBasicParsing com o comando Invoke-WebRequest em scripts do PowerShell para garantir uma execução segura e não interativa.  

Sim. Os scripts, dependendo da análise herdada, devem ser atualizados para optar por entrar ou refatorar.

A alteração no PowerShell aplicável a atualizações padrão e atualizações de hotpatch, resultando na mesma alteração de comportamento.

Sim. O PowerShell 7 já usa a análise segura por padrão.

Entre em contato com os proprietários do módulo para obter planos de suporte. Use o opt-in temporariamente para conteúdo confiável durante a migração.

Para se preparar e validar essa alteração, recomendamos que você: 

  • Identifique scripts usando recursos DOM.

  • Testar a automação com o novo padrão.

  • Limitar o opt-in herdado a fontes confiáveis.

  • Planeje a refatoração para conteúdo não confiável.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.