DEV Community

Cover image for Como resolver o erro "Execução de scripts desabilitada neste sistema" (Execution scripts is disabled on this system error)
Augusto
Augusto

Posted on

Como resolver o erro "Execução de scripts desabilitada neste sistema" (Execution scripts is disabled on this system error)

Nós, como desenvolvedores, não podemos nos restringir apenas aos conhecimentos das nossas respectivas áreas na programação, precisamos também entender como o sistema operacional que você está utilizando funciona e como resolver erros com eficácia, sem tomar muito tempo.

O erro “Execution scripts is disabled on this system”, ou “A Execução de scripts desabilitada neste sistema” é um erro que é apresentado devida a falta de permissão para executar um script no Windows, que geralmente acontece após uma formatação do sistema ou alteração das políticas de execução da máquina.

 

Solução

Para iniciar o processo de solução do erro, você precisará abrir o Windows Powershell como administrador e identificar a política de execução que está habilitada na sua máquina utilizando:

Get-ExecutionPolicy
Enter fullscreen mode Exit fullscreen mode

O seu dispositivo deve oferecer a opção padrão do Sistema: Default ou Restricted . Independente de qual opção aparecer, você precisará alterar para a politica de execução RemoteSigned ou até mesmo Unrestricted.

A política de execução RemoteSigned permite a execução de scripts locais sem necessariamente precisar de uma assinatura digital, mas exige assinatura digital para scripts que são baixados da internet.

E a política de execução Unrestricted por sua vez, permite a execução de todos os scripts sem qualquer restrição. Em regra, é menos seguro e não é tão recomendado a menos que seja absolutamente necessária a utilização.

 
Em resumo, prefira utilizar a política de execução RemoteSigned na maioria dos casos, então aplique a linha de comando:

Set-ExecutionPolicy RemoteSigned
Enter fullscreen mode Exit fullscreen mode

Após isso, você pode aceitar os termos de troca de política de execução e o problema será resolvido.

 

Mas… pera aí!

Em alguns outros casos mais específicos, pode acontecer desta troca de execução de scripts retornar um erro parecido com este:

O Windows PowerShell atualizou sua política de execução com êxito, mas a configuração foi substituída por uma política definida em um escopo mais específico. Devido à substituição, o shell manterá sua política de execução efetiva atual de Restricted.

Isso ocorre por diversos motivos, no meu caso, utilizando o comando Get-ExecutionPolicy -List , pude perceber que no meu escopo atual, a política de execução em “CurrentUser” ainda estava em Restricted .

Politica de Execução

Então, precisei alterar a execução de scripts dentro do escopo “CurrentUser”.

Apliquei esta linha de comando para mudar a política no meu escopo atual (CurrentUser) em que o modo ainda estava em Restricted .

Observe como funciona a “anatomia” do comando:

Syntax: “Set-ExecutionPolicy (Parâmetro -Scope para escolher o escopo) (Nome do Escopo que está restrito) (Política de Execução que você escolheu).”

O meu resultado foi este:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Enter fullscreen mode Exit fullscreen mode

⚠️ Lembrando que todas as operações feitas neste artigo, foram utilizando o Powershell em execução no modo de Administrador, que necessariamente precisa ser executado para a troca de política funcionar.

 
Pronto! ✅ eu, de forma sincera, espero que tenha conseguido solucionar esta questão utilizando esse artigo. Obrigado pela sua leitura até aqui.

Top comments (0)