Por padrão, o PowerShell restringe a execução de scripts e comandos externos. Isso se deve à sua política padrão de execução restrita. O bom é que alterar a política de execução do PowerShell para permitir a execução de scripts é mais fácil do que você pensa. Neste tutorial, mostraremos duas maneiras de definir a política de execução no PowerShell. Vamos começar.
Como verificar a política de execução atual
Pressione Iniciar, digite PowerShell e clique com o botão direito nele e selecione Executar como administrador para abrir o PowerShell como administrador. Na janela do PowerShell, digite Get-ExecutionPolicy e pressione Enter. Isso exibirá sua política de execução atual. No meu caso, a política ativa é Restrita.
Alterar política de execução usando o aplicativo Configurações
No Windows 11, você pode alterar a política de execução usando Configurações. aplicativo. Veja como:
Observação: usuários do Windows 10 podem seguir o segundo método.
Pressione a tecla Windows + I para abrir o Windows 11 Aplicativo de configurações. Depois de aberto, navegue até a página Sistema > Para desenvolvedores.
Neste página, clique na opção PowerShell e ative a opção “Alterar política de execução para permitir que scripts locais do PowerShell sejam executados sem assinatura. Exigir assinatura para scripts remotos.”alternância. Isso definirá a política de execução do PowerShell como RemoteSigned.
É isso. Agora você pode executar scripts externos e comandos sem erros.
Alterar política de execução usando PowerShell
Pressione tecla Windows + X e selecione Terminal (Admin) para abra o terminal. Os usuários do Windows 10 podem selecionar a opção Windows PowerShell (Admin).
Na janela do PowerShell, execute o seguinte comando para definir RemoteSigned como a política de execução padrão para sua conta de usuário.
Set-ExecutionPolicy RemoteSigned-Scope CurrentUser
Para alterar a política de execução para todos os usuários, use o seguinte comando.
Set-ExecutionPolicy RemoteSigned-Scope LocalMachine
Nota: RemoteSigned é a política de execução recomendada para executar scripts e comandos externos. No entanto, você também pode definir outros valores, como os listados abaixo. Se você quiser saber mais sobre elas, dê uma olhada no artigo O que são políticas de execução? seção abaixo.
Restrito (padrão)AllSignedUnrestrictedBypassUndefined
Se você vir um prompt de confirmação, digite A e pressione Enter para confirmar a alteração da política de execução.
Para verificar a alteração da política, execute o cmdlet Get-ExecutionPolicy novamente e você deverá vê-lo retornar RemoteSigned.
Isso é todos. É simples alterar a política de execução do PowerShell.
O que são políticas de execução?
Pense nas políticas de execução do PowerShell como um conjunto de condições que devem ser atendidas para que scripts ou arquivos de configuração sejam executados. Embora a política de execução possa impedir o carregamento de arquivos de configuração e a execução de scripts, ela não é uma medida de segurança e pode ser facilmente contornada, como mostrei acima. Ele existe apenas para evitar que você e outras pessoas executem scripts que possam ser prejudiciais.
O PowerShell tem seis políticas de execução. Eles são os seguintes.
Restrito: Esta é a política de execução padrão para todos os PCs com Windows e bloqueia todos os scripts, módulos e arquivos de configuração. No entanto, você pode executar comandos internos do PowerShell sem nenhum problema.
Todos assinados: esta política exige que todos os scripts (incluindo aqueles que você escreve) e arquivos de configuração sejam assinados por um editor confiável. Se um script não for assinado por um editor confiável no momento da execução, o PowerShell solicitará que você classifique o editor como confiável ou não confiável. Se você optar por confiar no editor, o PowerShell executará o script ou carregará o arquivo de configuração; caso contrário, ele será bloqueado.
RemoteSigned: Esta é a política padrão para todos os servidores Windows. Ele permite que você execute scripts que você mesmo escreveu e de editores confiáveis. Se um script ou arquivo de configuração for baixado da Internet e não for assinado por um editor confiável, talvez seja necessário usar o cmdlet Unblock-File para executá-lo.
Irrestrito: este é a política padrão para todos os PCs não Windows. Ela permite executar todos os scripts e carregar arquivos de configuração sem quaisquer restrições.
Ignorar: esta política destina-se principalmente a aplicativos de grande escala que usam o PowerShell como base. Ele permite executar todos os scripts e carregar arquivos de configuração sem quaisquer restrições ou avisos.
Indefinido: definir a política de execução como’Indefinida’significa que não há nenhuma política de execução definida para o atual escopo. Se todos os escopos (MachinePolicy, UserPolicy, Process, CurrentUser e LocalMachine) estiverem definidos como’Indefinido’, a política será revertida para’Restrito’.
Espero que este guia prático simples do Windows tenha ajudado você.
Se você gostou deste artigo, verifique como aumentar e diminuir o zoom no PowerShell e como executar scripts do PowerShell dentro do cronograma.
Atualização: o tutorial foi atualizado para incluir outro método para usuários do Windows 11 e atualizar o comando do PowerShell para funcionar em todos os sistemas.