Se você trabalha muito com scripts do PowerShell, alterar a política executável dos scripts do PowerShell geralmente é algo que você precisa fazer.
A Política de Execução do PowerShell é uma medida de segurança no Windows PowerShell que determina como e se os scripts do PowerShell (são arquivos com extensão .ps1) podem ser executados em um sistema. É essencialmente uma configuração que ajuda a determinar quais scripts podem ser executados e sob quais condições.
Existem diferentes tipos de políticas de execução:
- Restrito: Esta é a configuração padrão. Os scripts não podem ser executados.
- Tudo assinado: todos os scripts devem ser assinados digitalmente por um editor confiável antes de serem executados. Isso também se aplica a scripts que você mesmo escreveu.
- Assinado Remoto: os scripts baixados da Internet devem ser assinados digitalmente por um editor confiável. Os scripts criados localmente podem ser executados sem assinatura digital.
- sem restrições: Todos os scripts podem ser executados, independentemente de onde eles vêm ou se estão assinados. Porém, se um script vier da Internet, você será avisado antes de ele ser executado.
- Ignorar: Nenhum aviso é dado e nenhuma pergunta é feita. Todos os scripts são executados sem quaisquer restrições.
- Indefinido: nenhuma política de execução está definida no escopo atual.
Estas políticas destinam-se a impedir a execução automática de scripts indesejados ou maliciosos, o que melhora a segurança do computador.
Alterar a política de execução do PowerShell no Windows 11 ou 10
Para descobrir qual política do PowerShell está ativa no momento, você pode executar o seguinte comando no PowerShell.
get-executionpolicy
Você verá imediatamente qual política está ativa. Isso indica se você pode executar scripts ou não. Para executar scripts remotos, a política “RemoteSigned” geralmente é adequada. Portanto, se você vir “Restricted” e não “RemoteSigned”, não poderá executar scripts externos.
Você pode então permitir scripts externos no PowerShell de duas maneiras. A primeira é por meio das configurações do Windows 11.
Através das configurações
- Abra as configurações do Windows 11.
- Clique em “Sistema”.
- Clique em “Para desenvolvedores”.
- Clique em “PowerShell”.
- Altere a opção “Alterar a política de execução para executar scripts locais do PowerShell sem assinar. A assinatura é necessária para scripts remotos" ativada. Isso altera a política para "RemoteSigned".
Através do comando PowerShell
A segunda maneira de permitir todos os scripts do PowerShell é por meio do próprio PowerShell. Você pode executar o seguinte comando no PowerShell:
Set-executionpolicy remotesigned
Você também pode aplicar o “Escopo” se necessário. Isso permite que você defina uma política apenas para você como usuário atual ou para todos os usuários no computador. O comando então se torna:
Permitir scripts remotos do PowerShell apenas para o usuário atual:
Set-executionpolicy remotesigned -scope currentuser
Permitir scripts remotos do PowerShell apenas para todos os usuários:
Set-executionpolicy remotesigned -scope localmachine
Permitir scripts externos do PowerShell apenas para o processo atual do PowerShell
Set-executionpolicy remotesigned -scope process
Espero ter informado você sobre isso. Obrigado por ler!
Leia mais: