A solução mais fácil é
Set-ExecutionPolicy RemoteSigned
mas isso executará todos os scripts que estão no disco local (e não estão em uma zona remota - como baixado via IE)
Eu tentei criar uma configuração definitiva para o meu ambiente de powershell.
Eu criei "Microsoft.PowerShell_profiles.ps1" com várias instruções para configurar meu perfil padrão.
No entanto, quando inicio uma sessão do PowerShell, obtenho:
File C:\Documents and Settings\xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded.
The file C:\Documents and Settings\xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 is not digitally signed. The script will not execute on the system.
Por padrão, o Powershell o impede de executar scripts "inseguros". Execute o comando get-executionpolicy
para ver o nível do seu sistema. Para diminuir a restrição, você pode executar Set-ExecutionPolicy
e fornecer um desses como um parâmetro:
Leia também as palavras de sabedoria de Scott Hanselman sobre assinando scripts do Powershell .
Você tem 3 opções aqui, pode ter seu script assinado por um provedor confiável ou pelo menos um provedor confiável ou pode usar a Set-ExecutionPolicy para definir o powershell para permitir scripts externos:
Set-ExecutionPolicy RemoteSigned
Será executado qualquer script na máquina local, que não tenha vindo da internet
Set-ExecutionPolicy Unrestricted
Permitirá a execução de qualquer script, embora, se você fizer o download da Internet, solicitará que você confirme se deseja executá-lo.
Por fim, você pode definir o script específico para ser executado clicando com o botão direito do mouse no arquivo e clique em "Propriedades". Na parte inferior da caixa de diálogo, clique em "Desbloquear".
Tags windows powershell