Por que o Controle Inteligente de Aplicativos Bloqueia Scripts Personalizados no Windows 11
🔍 WiseChecker

Por que o Controle Inteligente de Aplicativos Bloqueia Scripts Personalizados no Windows 11

Solução rápida: Abra Segurança do Windows → Controle de aplicativo e navegador → Configurações do Controle Inteligente de Aplicativos. Se estiver Ativado, você só pode desativá-lo — não é possível reativar sem reinstalar o Windows. Uma vez desativado, scripts personalizados são executados sem bloqueios.

O Controle Inteligente de Aplicativos (SAC) bloqueia aplicativos não assinados ou de baixa reputação. Seu script personalizado do PowerShell, build do Python ou ferramenta interna da empresa é colocado em quarentena. O SAC opera com base na nuvem de reputação da Microsoft — qualquer coisa que não seja vista por máquinas suficientes globalmente é bloqueada. A solução é desativar o SAC. Aviso importante: uma vez desativado, o SAC não pode ser reativado sem uma reinstalação limpa do Windows.

Sintoma: O Controle Inteligente de Aplicativos bloqueia scripts personalizados ou aplicativos internos mesmo sendo confiáveis.
Afeta: Windows 11 com Controle Inteligente de Aplicativos ativado (padrão ativado em instalações novas a partir da versão 22H2).
Tempo de correção: ~3 minutos (a desativação é irreversível).

ADVERTISEMENT

O que causa isso

O Controle Inteligente de Aplicativos verifica os aplicativos por meio de uma verificação de reputação na nuvem da Microsoft. Aplicativos assinados por editores confiáveis e vistos em milhões de PCs passam. Scripts personalizados, ferramentas de nicho e aplicativos internos falham na verificação de reputação por definição — não são amplamente implantados. O SAC os bloqueia. A intenção é proteção contra malware; o custo é atrito para desenvolvedores e usuários de TI.

A Microsoft tornou deliberadamente o SAC irreversível (desativar exige reinstalação limpa para reativar) para evitar que malwares desativem e reativem o recurso.

Método 1: Desativar o Controle Inteligente de Aplicativos

A correção padrão. Permanente — você não pode reativá-lo sem uma reinstalação limpa.

  1. Abra Segurança do Windows.
  2. Clique em Controle de aplicativo e navegador.
  3. Clique em Configurações do Controle Inteligente de Aplicativos.
  4. O estado atual é exibido:
    • Ativado: bloqueando aplicativos não assinados e de baixa reputação
    • Avaliação: monitorando; ainda não bloqueando — decide automaticamente entre Ativado e Desativado com base nos seus padrões de uso
    • Desativado: não ativo
  5. Clique em Desativado. Confirme.
  6. O SAC agora está desativado. Seus scripts e aplicativos são executados sem interferência do SAC.
  7. A proteção em tempo real do Microsoft Defender permanece ativa — você ainda tem proteção antivírus, apenas sem a camada de reputação do SAC.

Esta é a correção certa para desenvolvedores e usuários avançados. O SAC é mais agressivo que um antivírus típico.

ADVERTISEMENT

Método 2: Assinar seus scripts para torná-los compatíveis com o SAC

Se você quiser manter o SAC ativado, mas permitir scripts específicos.

  1. Para scripts do PowerShell: assine-os com um certificado confiável.
  2. Obtenha um certificado de assinatura de código de uma AC (comercial: DigiCert, GlobalSign, etc.; ou autoassinado para uso pessoal apenas).
  3. Assine seu script:
    Set-AuthenticodeSignature -FilePath "C:\Scripts\meu-script.ps1" -Certificate (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)
  4. Para arquivos .exe: use o signtool.exe da Microsoft com seu certificado.
  5. O SAC confia em aplicativos assinados por editores conhecidos. Seus scripts passam.
  6. Isso dá mais trabalho, mas mantém o SAC ativo para aplicativos desconhecidos que você não confia.

Esta é a abordagem certa para organizações que desejam tanto a proteção do SAC quanto a capacidade de executar ferramentas internas.

Método 3: Usar exclusões do Defender para permitir caminhos específicos

Para arquivos em pastas confiáveis onde você não quer a verificação do SAC.

  1. Abra Segurança do Windows → Proteção contra vírus e ameaças → Gerenciar configurações → Adicionar ou remover exclusões.
  2. Adicione exclusões para pastas de desenvolvimento confiáveis: C:\dev, C:\Ferramentas, etc.
  3. Observação: as exclusões do SAC e do Defender são relacionadas, mas não idênticas. As exclusões do Defender ignoram a verificação; o SAC ainda pode verificar a reputação de aplicativos em pastas excluídas.
  4. Para exclusões específicas do SAC, o único caminho é o Método 2 (assinatura) ou o Método 1 (desativar o SAC completamente).
  5. As exclusões do Defender reduzem o atrito, mas não contornam completamente o SAC.

Esta é uma medida parcial. Os métodos 1 ou 2 são as correções reais.

ADVERTISEMENT

Como verificar se a correção funcionou

  • Abra Segurança do Windows → Controle de aplicativo e navegador → Configurações do Controle Inteligente de Aplicativos. O estado mostra Desativado (se Método 1).
  • Execute seu script anteriormente bloqueado. Ele é executado sem pop-up do SAC.
  • Execute Get-MpComputerStatus | Select-Object SmartAppControlState no PowerShell. Retorna 0 (Desativado), 1 (Ativado) ou 2 (Avaliação).

Se nenhum desses funcionar

Se o SAC continuar bloqueando mesmo estando Desativado, três causas se aplicam. Aplicativo ainda bloqueado pelo Defender SmartScreen: um recurso relacionado, mas separado. Desative o SmartScreen em Segurança do Windows → Controle de aplicativo e navegador → Configurações de proteção baseada em reputação → Verificar aplicativos e arquivos como Desativado. Substituição por Política de Grupo: PCs gerenciados podem forçar o SAC ativado. Contate o TI. Antivírus personalizado interferindo: antivírus de terceiros pode bloquear aplicativos de forma independente. Verifique a quarentena do antivírus.

Conclusão: O Controle Inteligente de Aplicativos bloqueia scripts personalizados porque eles não têm reputação — desative o SAC permanentemente (é irreversível) ou assine seus scripts com um certificado de assinatura de código para torná-los compatíveis com o SAC.

ADVERTISEMENT