/
/

Entenda as políticas de execução do PowerShell

por Team Ninja
powershell execution policies blog banner

Resumo instantâneo

Esta postagem do blog NinjaOne oferece uma lista abrangente de comandos CMD básicos e um mergulho profundo nos comandos do Windows, com +70 comandos CMD essenciais para usuários iniciantes e avançados. Explicamos sobre comandos práticos de prompt de comando para gerenciamento de arquivos, navegação em diretórios, solução de problemas de rede, operações de disco e automação, tudo com exemplos reais para maximizar a produtividade. Seja para aprender comandos básicos CMD ou dominar ferramentas avançadas de CLI do Windows, este guia ajuda você a usar o prompt de comando com mais eficiência.

Pontos principais

O PowerShell como ferramenta essencial para administração, scripts e automação

  • As políticas de execução do PowerShell são um recurso de proteção ao usuário no Windows que controla como os scripts podem rodar, reduzindo a execução acidental de código não confiável, sem funcionar como fronteira de segurança.
  • As políticas de execução disponíveis no PowerShell são AllSigned, RemoteSigned, Restricted, Unrestricted, Bypass e Undefined.
  • Elas podem ser aplicadas em vários escopos, como MachinePolicy, UserPolicy, Process, CurrentUser e LocalMachine, o que permite aos administradores controlar como as regras valem para usuários, sessões e sistemas.
  • Políticas menos restritivas, como Unrestricted e Bypass, aumentam a flexibilidade e a velocidade, mas também o risco de segurança, o que torna essencial equilibrar usabilidade, tipo de ambiente e requisitos de segurança da organização.
  • As boas práticas priorizam escolher a política efetiva menos permissiva, exigir assinatura de scripts quando fizer sentido, documentar o uso das políticas e revisar as configurações com frequência.
  • Os problemas mais comuns envolvem permissões, conflitos de escopo, scripts não assinados ou bloqueados e imposição por Política de Grupo, e costumam ser resolvidos elevando privilégios, assinando ou desbloqueando scripts, conferindo o escopo efetivo e verificando as configurações de Política de Grupo ou do software de segurança.

Desenvolvido pela Microsoft, o PowerShell virou padrão moderno em administração, scripts e automação no Windows. Ao unir uma interface de linha de comando a uma linguagem de script, transformou o cenário de gerenciamento do Windows.
Construído sobre o framework .NET, o PowerShell se integra de forma fluida às tecnologias Microsoft por meio de comandos concisos, os cmdlets, que interagem com componentes do sistema, manipulam dados e automatizam funções administrativas. Essa abordagem baseada em scripts simplifica tarefas, aumenta a eficiência e automatiza atividades rotineiras. O PowerShell também oferece tratamento de eventos, agendamento de tarefas e gerenciamento remoto, formando uma solução completa para administradores de TI, profissionais de cibersegurança e especialistas em scripts.

Este guia trata das políticas de execução do PowerShell: por que importam, como funcionam, como gerenciá-las, qual o impacto na segurança do sistema e quais as boas práticas. A ideia é esclarecer como essas políticas sustentam a execução controlada de scripts e contribuem para uma defesa em profundidade em ambientes Windows.

Rode scripts em PowerShell, aplique políticas e ganhe tempo com as soluções de automação do NinjaOne.

Ver demonstração

O que são as políticas de execução do PowerShell?

As políticas de execução do PowerShell funcionam como mecanismo de proteção ao usuário em ambientes Windows, e não como fronteira de segurança. Elas definem o nível de confiança atribuído aos scripts antes da execução. O objetivo é equilibrar a execução de scripts legítimos com a redução dos riscos de segurança associados. Ao aplicar uma política de execução, os administradores garantem um ambiente de scripts consistente e seguro, diminuindo a chance de scripts maliciosos comprometerem os sistemas.

Os tipos de política de execução disponíveis são:

  • AllSigned: nessa política, todos os scripts, inclusive os criados localmente, precisam ter assinatura digital de um publicador confiável para rodar. Isso garante que só scripts autorizados sejam executados, mas ainda há o risco de rodar scripts maliciosos que tenham sido assinados.
  • Bypass: essa política permite a execução de qualquer script, sem restrição. Use com extrema cautela, se é que deve ser usada, já que pode expor os sistemas a riscos ao liberar scripts não assinados e não verificados.
  • RemoteSigned: exige que scripts baixados da internet (identificados por um Identifier) tenham assinatura digital antes de rodar, enquanto scripts criados localmente rodam sem assinatura.
  • Restricted: impede a execução de arquivos de script, mas não bloqueia todas as formas de execução de código PowerShell.
  • Undefined: indica que nenhuma política de execução foi definida naquele escopo. A política efetiva vem de outros escopos ou do padrão da plataforma.
  • Unrestricted: libera a execução de scripts sem restrições, tanto locais quanto vindos da internet. É prático em desenvolvimento e testes, mas não deve ser usada em produção por causa dos riscos significativos de segurança.

Conhecer essas políticas permite que administradores e profissionais de segurança adotem a abordagem mais adequada aos requisitos de segurança dos seus sistemas.
Nas próximas seções, vamos ver o gerenciamento, as boas práticas e as implicações das políticas de execução do PowerShell.

Como gerenciar as políticas de execução do PowerShell

Definir e ajustar bem as políticas de execução do PowerShell é essencial para montar um ambiente de scripts seguro. Os administradores podem usar o cmdlet Set-ExecutionPolicy para configurar essas políticas. Entendendo riscos e benefícios de cada configuração, fica mais fácil tomar decisões alinhadas aos objetivos de segurança.
O primeiro ponto é o escopo da política de execução, que oferece as seguintes opções:

  • MachinePolicy: escopo definido pela Política de Grupo, que não pode ser sobreposto por configurações locais de política de execução.
  • UserPolicy: escopo definido pela Política de Grupo, que aplica a política de execução aos usuários de uma máquina específica. É bastante útil para manter um ambiente de scripts consistente para todos os usuários.
  • Process: nesse escopo, a política de execução vale apenas para a sessão atual do PowerShell. Permite um controle mais granular da execução de scripts conforme a necessidade.
  • CurrentUser: aplica a política de execução à sessão do usuário atual. Não exige elevação de privilégios.
  • LocalMachine: é o escopo padrão e vale para todos os usuários da máquina. É sobreposto pelos escopos Process e CurrentUser, além de qualquer escopo definido por Política de Grupo.

Mudanças na política de execução afetam diretamente a segurança do sistema e a execução de scripts. Uma política mais restritiva, como “Restricted” ou “AllSigned”, reforça a segurança ao reduzir o risco de rodar scripts não autorizados ou maliciosos. Em compensação, pode exigir etapas extras, como assinar scripts, o que gera mais trabalho administrativo.
Já uma política mais permissiva, como “Unrestricted” ou “Bypass”, remove barreiras e facilita a execução, mas pode expor o sistema a riscos de segurança. Adote esse tipo de política com cuidado e apenas em ambientes controlados, por períodos limitados, ou durante as fases de desenvolvimento e teste. Na hora de escolher e alterar políticas de execução, os administradores precisam considerar os requisitos de segurança da organização e as necessidades específicas dos usuários. O equilíbrio certo entre segurança e funcionalidade mantém o ambiente de scripts do PowerShell seguro.
Nas seções a seguir, vamos ver as boas práticas ligadas às políticas de execução do PowerShell, os problemas mais comuns no gerenciamento e como alinhá-las às diretrizes de segurança da organização. Esses pontos ajudam administradores e profissionais de segurança a decidir com mais clareza na busca por um ambiente de scripts seguro e eficiente.

Boas práticas para políticas de execução do PowerShell

Ao escolher uma política de execução do PowerShell para cada ambiente, considere o tipo de script que será executado, o nível de segurança necessário e o papel dos usuários. Por exemplo:

  • Ambiente de produção: em produção, o mais sensato é adotar uma política mais restritiva, como “AllSigned” ou “RemoteSigned”. Assim, os scripts são assinados e autenticados antes de rodar, o que reduz o risco de código não autorizado ou malicioso.
  • Ambiente de desenvolvimento: em desenvolvimento, uma política mais flexível como “Bypass” ou “Unrestricted” pode facilitar testes e diagnósticos. Mas essas políticas não devem ser levadas para produção.

Como gerenciar e alterar políticas com segurança

Para administradores de TI, profissionais de cibersegurança e quem trabalha com administração do Windows e scripts em PowerShell, saber gerenciar essas políticas com segurança é fundamental.
Boas práticas para gerenciar e alterar políticas de execução do PowerShell:

  • Documente as políticas de execução: garanta que administradores e usuários entendam as implicações de cada política. Crie uma documentação clara indicando quais políticas se aplicam a cada cenário.
  • Exija a assinatura de scripts: em políticas mais restritivas, como “AllSigned” e “RemoteSigned”, adote a prática de assinar scripts com assinaturas digitais. Isso acrescenta uma camada extra de segurança ao comprovar a autenticidade dos scripts.
  • Escolha o escopo menos permissivo: defina o escopo adequado para aplicar as políticas de execução. Atente ao impacto sobre usuários e processos nos diferentes escopos, à segurança do sistema e ao alinhamento com a política de segurança. A boa prática é escolher a política de menor privilégio que ainda entregue a função necessária.
  • Revise as políticas: revise e audite periodicamente as políticas de execução em todo o ambiente. Garanta que continuem alinhadas aos requisitos de segurança e às diretrizes da organização.

Problemas comuns e soluções

Definir políticas de execução do PowerShell costuma trazer desafios que afetam os scripts e a operação do sistema. Entre os problemas mais comuns, estão:

  • Acesso negado: os usuários podem receber erros de “Acesso negado” ao tentar alterar políticas de execução por falta de privilégios administrativos.
  • Scripts bloqueados: políticas mais restritivas como “AllSigned” podem impedir a execução de scripts não assinados ou assinados de forma incorreta, o que frustra os usuários.
  • Scripts não confiáveis: scripts vindos da internet podem ser bloqueados por políticas como “RemoteSigned”, mesmo sendo seguros e legítimos.

Para resolver esses problemas e garantir a execução dos scripts, siga estes passos:

  • Eleve os privilégios: confirme que tem privilégios administrativos ao alterar políticas de execução. Abra o PowerShell com direitos administrativos clicando com o botão direito e escolhendo “Executar como administrador”.
  • Assinatura de scripts: em políticas como “AllSigned”, garanta que os scripts estejam assinados com assinaturas digitais válidas. Isso evita erros falsos de “Acesso negado”.
  • Confie nos publicadores: nas políticas “AllSigned” e “RemoteSigned”, estabeleça confiança com os publicadores importando os certificados deles para o repositório de certificados.
  • Desbloqueie arquivos: se um arquivo de script baixado da internet estiver bloqueado, desbloqueie-o com o cmdlet “Unblock-File”.
  • Verifique problemas de escopo: fique atento ao escopo da política de execução. Se algo não funcionar, confirme se a política está definida no nível de escopo correto.
  • Verifique restrições de Política de Grupo: em ambientes de domínio, as Políticas de Grupo podem impor políticas de execução específicas. Confira as configurações de Política de Grupo que se aplicam ao sistema e também sua localização.
  • Use a comunicação remota do PowerShell: quando políticas “Restricted” ou “AllSigned” bloqueiam a execução local, a comunicação remota do PowerShell roda os scripts sob a política de execução efetiva e os controles de segurança do sistema remoto.
  • Verifique o software de segurança: alguns softwares de segurança interferem na execução de scripts. Desative temporariamente ou ajuste as configurações para investigar.
  • Procure conflitos: fique atento a possíveis conflitos entre configurações locais e de Política de Grupo. Garanta consistência na aplicação da política de execução.

Como sempre, o processo de eliminação costuma revelar a origem do problema. Se um script que falha passa a funcionar com direitos elevados, investigue as permissões. Se funciona com bypass da política, verifique as restrições da máquina, e assim por diante. Ao tratar esses problemas comuns e seguir os passos acima, administradores e profissionais gerenciam as políticas de execução do PowerShell com eficácia, evitam travas na execução de scripts e mantêm um ambiente de scripts seguro.

Alinhamento com as diretrizes de segurança da organização

Alinhar as políticas de execução do Windows PowerShell às diretrizes de segurança da organização é essencial para manter um ambiente de scripts seguro e controlado. Muitas organizações têm requisitos e políticas de segurança específicos que determinam como os scripts devem ser executados. Esse alinhamento garante consistência, reduz riscos e fortalece a postura geral de segurança.

Por que auditar e revisar as políticas com frequência

Auditorias e revisões periódicas mantêm as políticas de execução eficazes e atualizadas. À medida que as necessidades da organização evoluem e as ameaças mudam, pode ser preciso ajustar essas políticas.
Revisões periódicas permitem que as organizações:

  • Acompanhem a mudança no cenário de ameaças: o cenário de cibersegurança é dinâmico. Revisar as políticas com frequência ajuda a antecipar ameaças emergentes e ajustar as regras conforme o necessário.
  • Avaliem a eficácia das políticas: dá para verificar se as políticas de execução atuais realmente reduzem riscos ou se precisam de ajustes.
  • Garantam a conformidade: os requisitos de conformidade mudam com o tempo. Revisões periódicas ajudam a manter as políticas de execução alinhadas aos padrões vigentes.
  • Identifiquem conflitos de política: em ambientes complexos, surgem conflitos de política ou efeitos colaterais não previstos. Auditorias regulares ajudam a identificar e resolver esses casos.
  • Mantenham a consistência: com o tempo, novos scripts e usuários entram em cena. As auditorias garantem que as políticas de execução sejam aplicadas de forma uniforme em toda a organização.
  • Contenham scripts não autorizados: revisões regulares ajudam a encontrar e tratar scripts não autorizados ou maliciosos que possam estar em produção sem serem detectados.

Com uma estratégia de política de execução bem definida e aplicada de forma consistente, as organizações aproveitam todo o poder dos scripts em PowerShell sem abrir mão de uma postura de segurança sólida.

NinjaOne permite que profissionais de TI executem comandos do PowerShell remotamente em dispositivos Windows, macOS e Linux.

Comece um teste grátis hoje

Políticas de execução do PowerShell: um pilar da segurança do sistema

O uso criterioso das políticas de execução do PowerShell é um controle operacional importante dentro de uma estratégia mais ampla de segurança e de uma boa administração do Windows. Essas políticas atuam como guardiãs da execução de scripts e ajudam os administradores a reduzir a execução acidental de scripts não confiáveis e a manter consistência operacional. Ao estabelecer limites para a execução de scripts, as organizações restringem a chance de código malicioso ou acidental comprometer os sistemas. A variedade de políticas disponíveis, cada uma pensada para um caso de uso de segurança específico, mostra o controle granular que os administradores têm sobre o comportamento da execução de scripts.

As políticas de execução do PowerShell vão além de regras e configurações: representam um compromisso com operações de TI consistentes e seguras. Seguindo as boas práticas apresentadas aqui, você já está no caminho de um ambiente Windows seguro, eficiente e resiliente.

Confira o guia em vídeo Entenda as políticas de execução do PowerShell.

FAQs

Sim. As políticas de execução continuam valendo quando os scripts são iniciados por ferramentas como o Agendador de Tarefas, plataformas de RMM ou serviços, a menos que o host as ignore explicitamente. A política efetiva depende do contexto de execução, do escopo e de qualquer imposição por Política de Grupo no sistema.

Sim. É possível contorná-las com flags de linha de comando, comandos codificados ou hosts de execução alternativos, e por isso elas não devem ser tratadas como fronteira de segurança. Funcionam melhor como controle contra a execução acidental ou não autorizada de scripts do que como defesa contra ameaças ativas.

As políticas de execução não bloqueiam o carregamento de módulos da mesma forma que bloqueiam arquivos de script, principalmente no caso de módulos instalados a partir de locais confiáveis. Ainda assim, os scripts dentro dos módulos podem passar pela verificação de política, dependendo de como são invocados.

Isso costuma acontecer quando as políticas de execução são impostas pela Política de Grupo no escopo MachinePolicy ou UserPolicy, que sobrepõe as configurações locais. Para confirmar, execute Get-ExecutionPolicy -List e veja a política efetiva e sua origem.

Não. Elas só são aplicadas em sistemas Windows. No macOS e no Linux, o PowerShell usa as permissões de arquivo do sistema operacional para controlar a execução de scripts.

Recomendados para você

Pronto para simplificar as partes mais difíceis da TI?