sábado, 28 de março de 2020

Erro ao executar arquivo com extensão ".ps1" no Windows Powershell



Para evitar que scripts PowerShell (com arquivos de extensão ".ps1") sejam executados indevidamente em seu sistema operacional, o PowerShell utiliza algumas políticas de segurança bloqueiam por padrão scripts "não assinados". Isto é uma garantia de segurança principalmente para arquivos obtidos através da internet.
Estas Políticas de Execução foram introduzidos no Windows Server 2003 SP1 e no Windows XP SP2.

O controle destas permissões é realizado pelo cmdlet Set-ExecutionPolicy, que pode alterar às preferencias de uso das Políticas de Execução.

Restricted

Não carrega ou executa os arquivos de configuração e scripts PowerShell. Este é o padrão da Política de Segurança (até o Windows Server 2012 R2).

AllSigned

Exige que todos os scripts e arquivos de configuração devem ser assinados por um fornecedor confiável, incluindo os scripts que você escreveu em seu computador(local).

RemoteSigned

Exige que todos os scripts e arquivos de configuração devem ser assinados por um fornecedor confiável. Se utilizar esta Política de Execução, ainda será possível executar scripts "não assinados" desde que o arquivo .ps1 seja armazenado em seu computador.

Esta é a execução padrão no Windows Server 2012 R2.

Unrestricted

Carrega e executa todos os arquivos de configuração e scripts PowerShell. Se você executar um script "não assinado" poderá ser solicitado à sua permissão antes de executar.

Bypass

Não há nenhuma restrição, bloqueio, advertências ou avisos.

Undefined

Remove a Política de Execução atual, seja ela qual for, a não ser que esta política esteja definida no escopo de uma Diretiva de Grupo.


Solução:


Executar Set-ExecutionPolicy política_escolhida