quinta-feira, 4 de abril de 2013

Powershell: Diretiva de execução de scripts

Ao executar pela primeira vez um script powershell num computador é comum que a seguinte mensagem seja retornada:


.\script.ps1 : File C:\Path-to-Script\script.ps1 cannot be loaded because running
scripts is disabled on this system. For more information, see about_Execution_Policies at
http://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\script.ps1
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Isso significa que a diretiva padrão está habilitada, que é a mais restritiva.
Ao executar o cmdlet Get-ExecutionPolicy é possível ver qual está em uso:


PS C:\> Get-ExecutionPolicy
Restricted


As diretivas de execução do Windows PowerShell são as seguintes:
  • Restricted (padrão)  
  • AllSigned 
  • RemoteSigned 
  • Unrestricted 
  • Bypass 
  • Undefined
Para maiores detalhes, visite http://technet.microsoft.com/pt-BR/library/dd347641.aspx
Para alterar o comportamento conforme suas necessidades, utilize o cmdlet 
Set-ExecutionPolicy <nome-da-diretiva>

Lembre-se sempre da importância da segurança e do uso da política do menor privilégio.
Um abraço!


Nenhum comentário: