O PowerShell possui uma política de execução que atua como uma medida de segurança para regular as condições de carregamento de arquivos de configuração e execução de scripts. Isso ajuda a impedir a execução de scripts maliciosos. As políticas de execução determinam se você pode carregar arquivos de configuração como seu perfil do PowerShell. E se os scripts precisam ser assinados digitalmente antes de serem executados. Você pode definir uma política de execução para o sistema do computador local, o usuário atual ou uma sessão específica em um PC com Windows.
Índice
Então, o que acontece quando você tenta executar um script no PowerShell?
Ao tentar executar um script no PowerShell, a política de execução que permanece atualmente definida determinará se o script pode ser executado. Se o script atender aos requisitos da política de execução atual, ele será executado. Se não atender às necessidades da política de execução atual, uma mensagem de erro será exibida informando que a execução de scripts é desativada neste sistema.
Por exemplo, se sua política de execução atual permitir apenas a execução de scripts assinados e você tente executar um script não assinado, você receberá uma mensagem de erro informando que os scripts em execução permanecem “desativados” neste sistema.
Portanto, se você deseja executar scripts no Windows 11, precisa definir uma política de execução diferente. Existem várias políticas de execução que você pode definir para executar scripts. Vamos aprender mais sobre as políticas de execução para que você tenha uma ideia de qual delas mudar.
Leia também: Etapas para backup e restauração de configurações rápidas no Windows 11
O que são Execuções Políticas e quantas delas existem?
As políticas de execução no PowerShell determinam se você pode carregar arquivos de configuração ou executar scripts e se os scripts devem ser assinados digitalmente antes de serem executados. O escopo padrão do cmdlet Set-ExecutionPolicy é LocalMachine, que afeta todos que usam o computador.
É crucial observar que as políticas de execução não são uma medida de segurança. Elas podem ser facilmente contornadas e são destinadas mais como regras primárias para impedir que você viole as políticas involuntariamente. Em outras palavras, as políticas de execução existem para ajudá-lo a evitar a execução de scripts ou configurações que podem danificar seu sistema sem perceber.
Digamos que você tenha um script chamado “myscript.ps1” que deseja executar no seu computador. Se sua política de execução for designada como Restrita (o padrão), você não poderá executar o script.
Se sua política de execução for especificada como AllSigned, somente você poderá executar o script se assinado por um editor confiável.
Leia também como ver os segundos do relógio do Windows 11
Existem seis políticas de execução do PowerShell, vamos discutir cada uma delas para que você obtenha uma melhor compreensão de cada tipo.
1. Política restrita
Todos os PCs com Windows 11 geralmente atribuem a política restrita, que é a mais rigorosa. A execução de scripts PowerShell, arquivos de configuração ou arquivos de script de módulo não é permitida, portanto, apenas comandos individuais podem ser executados.
2. Política irrestrita
Scripts não assinados podem ser executados por padrão em computadores não Windows e esta política não pode ser modificada. Há uma chance de que scripts perigosos sejam executados como resultado. Antes de executar scripts e arquivos de configuração que não pertencem à zona de rede local, o usuário é avisado.
Também leia como ver a lista de pontos de restauração disponíveis no Windows 11
3. Política AllSigned
Apenas scripts PowerShell assinados podem ser executados na política de execução All Signed. Isso inclui quaisquer scripts exclusivos que você criar. Você terá a opção de escolher se confia ou não no editor do script se não for classificado.
4. Política de assinatura remota
Os scripts podem ser executados em sistemas de servidor Windows graças à política de execução padrão. Scripts e arquivos de configuração obtidos via web precisam ter a assinatura digital de um editor confiável. As assinaturas digitais não são necessárias para scripts criados localmente que não são baixados da Internet. Se desbloqueados com o cmdlet “Unblock-File”, os scripts obtidos da Internet, mas que permanecem não assinados, ainda podem ser executados. A execução de scripts prejudiciais assinados e não assinados de outras fontes que não a Internet é um risco associado a esta política.
Leia também: agora você pode executar o Windows 11 em um Apple Silicon Mac
5. Política indefinida
Se o escopo atual não especificar uma política de execução. E a política de execução em todos os escopos é Indefinida. Em seguida, a política de execução efetiva será Restringir para clientes Windows e RemoteSigned para Windows Server. Isso significa que, se nenhuma política de execução específica tiver sido definida, os clientes Windows adotarão como padrão a política mais restritiva, enquanto o Windows Server adotará como padrão uma política menos restritiva que ainda exige que os scripts baixados da Internet sejam assinados por um editor confiável.
6. Política de desvio
Permite que todos os scripts sejam executados sem nenhum aviso ou aviso. Este tipo de política visa beneficiar em cenários específicos onde um script faz parte de um aplicativo maior. Ou onde o próprio PowerShell é utilizado como base para um programa junto com medidas de segurança em vigor.
Além disso, para controlar quais scripts podem ser executados em seu sistema, as políticas de execução podem ser estabelecidas em vários escopos. MachinePolicy, UserPolicy, Process, CurrentUser e LocalMachine são os escopos disponíveis.
MachinePolicy: Este escopo é definido por uma política de grupo para todos os usuários do computador.UserPolicy: Este escopo descreve uma Política de Grupo para o usuário atual do PC.Processo: Este escopo afeta apenas o processo atual do PowerShell.CurrentUser: Este escopo afeta apenas o usuário atual do o computador.LocalMachine: este escopo afeta todos os usuários do computador. (definido por padrão ao atribuir a política de execução)
Você pode especificar o escopo ao definir uma política de execução usando o parâmetro-Scope com o cmdlet Set-ExecutionPolicy. Por exemplo, para definir uma política de execução apenas para o usuário atual, você usaria:
Set-ExecutionPolicy-Scope CurrentUser-ExecutionPolicy RemoteSigned
Agora você saiba tudo sobre as políticas de execução e os escopos específicos. Vamos ver como você pode alterar a política de execução de script do PowerShell no Windows 11
Leia também como baixar fontes para todos os idiomas no Windows 11
alterar a política de execução de script do PowerShell em Windows 11
Siga as etapas abaixo para alterar a Política de Execução:
Observação: Se você tiver o Windows Vista ou outras novas versões, inicie o PowerShell com o Executar como opção de administrador para privilégios de administrador para executar comandos.
Windows PowerShell-Executar como administrador
Etapa 1: verifique sua política de execução atual
Para fazer isso, anote o seguinte comando e pressione digite
Get-ExecutionPolicy
Definir política de execução
Etapa 2: Alterar a política de execução
para alterar a política, anote o seguinte comando e pressione enter.
Set-Executi onPolicy RemoteSigned
RemoteSigned Policy
Como você pode ver na ilustração acima, você obterá a Execução Aviso de mudança de política assim que você pressionar enter.
Agora que você seguiu o procedimento com sucesso. Repita o script mais uma vez e ele começará a ser executado no seu Windows 11.
Para um escopo específico:
Caso você queira configurá-lo para um escopo específico, você pode usar o seguinte comando e pressionar enter:
Set-ExecutionPolicy-ExecutionPolicy
Para remover a política de execução
Para remover uma política de execução definida para um escopo específico. Você pode usar o cmdlet Set-ExecutionPolicy com o parâmetro -Scope e especificar Undefined como a política de execução. Isso remove qualquer política de execução definida para o escopo especificado.
Por exemplo, para excluir a política de execução de todos os usuários do computador local, digite o seguinte comando:
Set-ExecutionPolicy-ExecutionPolicy Undefined-Scope LocalMachine
Tenha em mente que quando você alterar a política de execução para os escopos LocalMachine ou CurrentUser. A alteração permanece armazenada no registro e permanece em vigor até que você a altere novamente. No entanto, se você definir a política de execução para o escopo do processo. Assim, ele permanece não salvo no registro e dura apenas até o processo atual e qualquer processo filho fechar.
Leia também Como ativar ou desativar a alteração do plano de fundo da área de trabalho no Windows 11