top of page

O erro Powershell "Execução de scripts foi desabilitada neste sistema"

é bastante comum ao tentar executar scripts do PowerShell em sistemas Windows. Esse erro ocorre porque, por padrão, o PowerShell possui uma política de execução restritiva para scripts, visando proteger o sistema contra a execução acidental de scripts potencialmente maliciosos. Quando você vê essa mensagem, significa que a política de execução do PowerShell está configurada para impedir a execução de qualquer script, ou os scripts que você está tentando rodar não têm as permissões necessárias.



Por que isso acontece?

O PowerShell possui várias políticas de execução que controlam se os scripts podem ser executados e de onde eles podem ser carregados. As principais políticas são:

  1. Restricted:

    • Não permite a execução de nenhum script. É a configuração padrão em muitas versões do Windows.

  2. AllSigned:

    • Permite a execução de scripts, mas apenas se eles forem assinados digitalmente por um editor confiável.

  3. RemoteSigned:

    • Permite a execução de scripts locais sem assinatura, mas exige que scripts baixados da internet sejam assinados por um editor confiável.

  4. Unrestricted:

    • Permite a execução de qualquer script, seja ele assinado ou não.


Quando o erro aparece, provavelmente a política está definida como "Restricted", impedindo que qualquer script seja executado.


Como resolver?

Para solucionar esse problema, é necessário alterar a política de execução do PowerShell. Veja como fazer isso:

  • Abra o PowerShell como Administrador. Para isso, clique com o botão direito no ícone do PowerShell e selecione "Executar como Administrador".

  • Digite o seguinte comando para verificar a política de execução atual:

Get-ExecutionPolicy

Esse comando mostrará a política configurada atualmente. Se estiver como "Restricted", você precisará alterá-la.


  • Para mudar a política de execução, use o seguinte comando:

    powershell

Set-ExecutionPolicy RemoteSigned

A política "RemoteSigned" é uma opção segura, pois permite a execução de scripts locais sem assinatura, mas requer assinatura para scripts baixados da internet. Isso ajuda a proteger contra scripts maliciosos.


  • Confirme a mudança quando solicitado. Se preferir permitir todos os scripts sem restrição (não é recomendado por motivos de segurança), você pode usar:

Set-ExecutionPolicy Unrestricted

No entanto, utilize essa configuração com cautela e apenas em ambientes controlados.


  • Para verificar se a mudança foi aplicada corretamente, execute novamente:

Get-ExecutionPolicy

Conclusão

O erro "Execução de scripts foi desabilitada neste sistema" é uma medida de segurança do Windows para evitar a execução não autorizada de scripts no PowerShell. Alterar a política de execução permite rodar scripts necessários para automação e administração do sistema. A recomendação é utilizar políticas mais restritivas, como "RemoteSigned", para manter um equilíbrio entre funcionalidade e segurança.

Posts recentes

Ver tudo

Comments


bottom of page