Eu escrevi um arquivo em lote simples como um script do PowerShell e estou recebendo erros quando eles são executados.
Está em um diretório de scripts no meu caminho. Este é o erro que recebo:
Não pode ser carregado porque a execução de scripts está desabilitada neste sistema. Consulte "obter ajuda sobre a assinatura".
Procurei na ajuda, mas não ajudou muito.
powershell
DevelopingChris
fonte
fonte
Você precisa executar
Set-ExecutionPolicy
:fonte
Restricted
é a política padrão. Leia maisUsar:
Sempre use o comando acima para habilitar a execução do PowerShell na sessão atual.
fonte
Consegui contornar esse erro invocando o PowerShell assim:
Ou seja, adicionei o
-executionpolicy bypass
à forma como invoquei o script.Isso funcionou no Windows 7 Service Pack 1. Eu sou novo no PowerShell, então pode haver restrições para fazer isso que eu não estou ciente.
[Editar 26-06-2017] Continuei a usar essa técnica em outros sistemas, incluindo Windows 10 e Windows 2012 R2, sem problemas.
Aqui está o que estou usando agora. Isso me impede de executar acidentalmente o script clicando nele. Quando eu o executo no planejador, adiciono um argumento: "planejador" e isso ignora o prompt.
Isso também pausa a janela no final para que eu possa ver a saída do PowerShell.
fonte
O comando acima funcionou para mim mesmo quando o seguinte erro acontece:
fonte
Também vale a pena saber que você pode precisar incluir
.\
antes do nome do script. Por exemplo:fonte
O comando
set-executionpolicy unrestricted
permitirá que qualquer script criado por você seja executado como o usuário conectado. Apenas certifique-se de definir a configuração de execução da política de volta para assinado usando oset-executionpolicy signed
comando antes de fazer logoutfonte
set-executionpolicy signed
dáCannot bind parameter 'ExecutionPolicy'
etc.No Windows 10: Clique em alterar propriedade de segurança de myfile.ps1 e altere "permitir acesso" clicando com o botão direito / propriedades em myfile.ps1
fonte