Como Executar Scripts PowerShell Mesmo com “Running scripts is disabled on this system”

Quando você tenta rodar um .ps1 e o Windows reclama com:

running scripts is disabled on this system

não é erro do script — é a política padrão do PowerShell (Restricted).
Aqui está um guia completo, objetivo e organizado, cobrindo:

  • Execução única
  • Liberação por usuário
  • Liberação por sistema inteiro
  • Liberação total
  • Execução em tarefas agendadas ignorando qualquer política

1. Executar apenas aquele script (sem alterar o sistema)

A forma mais segura.
Nada no Windows é modificado.

powershell.exe -ExecutionPolicy Bypass -File C:\Monitor\status.ps1

Ideal para testes, scripts únicos ou ambientes restritos.


2. Liberar somente para o usuário atual (modo recomendado)

Afeta apenas o usuário logado.
É a liberação mínima que resolve 99% dos casos.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Permite scripts locais e exige assinatura para scripts baixados da internet.


3. Liberar para o sistema inteiro (todos os usuários)

Nível LocalMachine.
Vale para qualquer usuário, qualquer processo, qualquer sessão.

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Esse é o ajuste “global real”, usado em ambientes corporativos onde scripts são padrão.


4. Liberação total (tudo roda, de qualquer lugar)

Abertura completa.

Set-ExecutionPolicy Unrestricted -Scope LocalMachine

Funciona, mas não é indicado para máquinas expostas ou multiusuário.


5. Ignorar a política quando rodar via Tarefa Agendada

O método profissional.
Mesmo que a política esteja em Restricted, o script sempre executa:

-ExecutionPolicy Bypass -File C:\Monitor\status.ps1

Isso permite automatizar scripts sem mexer em nenhuma política global.


Resumo Rápido

NecessidadeComando
Rodar só uma vezBypass -File
Resolver para o usuário atualRemoteSigned -Scope CurrentUser
Liberar para o sistema inteiroRemoteSigned -Scope LocalMachine
Liberação totalUnrestricted -Scope LocalMachine
Scheduled Task ignorar políticaBypass -File

Simples, prático e sem mexer onde não precisa.

Rolar para cima