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

Augusto Klecz - Jun 9 - - Dev Community

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.

 
Conheça a Cherry Code -> https://cherrycode.com.br

. . . .