Uma política de execução de scripts do PowerShell é um recurso de segurança que controla as condições nas quais o PowerShell carrega arquivos de configuração e executa scripts. Esse recurso ajuda a impedir a execução de scripts maliciosos.
As políticas de execução para o computador local e o usuário atual são armazenadas no registro. Você não precisa definir diretivas de execução no seu perfil do PowerShell. A política de execução para uma determinada sessão é armazenada somente na memória e é perdida quando a sessão é fechada.
As políticas de execução de scripts do PowerShell são as seguintes:
AllSigned
Somente os scripts do PowerShell assinados por uma fonte confiável podem ser executados. Ao tentar executar um script assinado, você receberá um prompt solicitando que confirme que confia no editor.
Bypass
Nada é bloqueado e não há avisos ou prompts.
Default
Define a política de execução padrão: Restricted para Windows e RemoteSigned para Windows Server.
RemoteSigned
Os scripts do PowerShell baixados devem ser assinados por uma fonte confiável antes que possam ser executados. Os scripts executados a partir do computador local não precisam ser assinados. Não há nenhum prompt quando você tenta executar um script.
Restricted
Nenhum script do PowerShell pode ser executado. O PowerShell pode ser usado somente no modo interativo. Isso significa que você só pode executar comandos individuais. Você não pode executar scripts caso esta política esteja ativa, independentemente de onde os scripts vieram (local ou baixado) e se eles são assinados.
Unrestricted
Scripts não assinados podem ser executados. Existe o risco de executar scripts maliciosos. Avisa o usuário antes de executar scripts e arquivos de configuração que são baixados da Internet.
Undefined
Nenhuma política de execução foi definida. Se a política de execução em todos os escopos for Undefined, a política de execução efetiva será a Restricted, que é a política de execução padrão.
Você pode definir uma política de execução que seja efetiva somente em um escopo específico como Process, CurrentUser e LocalMachine.
Neste tutorial, verá como definir uma política de execução de scripts no escopo CurrentUser. Neste caso a política de execução só afetará o usuário atual logado no PC.
Como definir a política de execução de scripts do PowerShell no Windows 10
Antes de começar, primeiro abra o PowerShell para ver a lista com as políticas aplicadas atualmente para cada escopo usando o comando Get-ExecutionPolicy -List
:
Para definir a uma política para o escopo CurrentUser, abra o PowerShell e use um dos comandos abaixo:
Set-ExecutionPolicy AllSigned -Scope CurrentUser -Force
Set-ExecutionPolicy Bypass -Scope CurrentUser -Force
Set-ExecutionPolicy Default -Scope CurrentUser -Force
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Set-ExecutionPolicy Restricted -Scope CurrentUser -Force
Set-ExecutionPolicy Undefined -Scope CurrentUser -Force
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force