O Que É PowerShell? Um Guia Simples da Linha de Comando do Windows que Fala em Objetos
Um guia simples e sem jargões sobre o PowerShell, a linha de comando que vem em todo PC com Windows. Conheça os comandos Verbo-Substantivo, veja por que ele passa objetos em vez de texto puro, renomeie 1.000 fotos em menos de um segundo e descubra por que existem dois PowerShells.

Nesta página
Se você usa Windows, o PowerShell já está no seu computador. Clique com o botão direito no botão Iniciar e escolha Terminal: a janela azul e preta que abre está, por padrão, rodando o PowerShell. A maioria das pessoas nunca mexe nele. Já quem mantém escolas, hospitais e escritórios funcionando costuma usá-lo todos os dias.
O PowerShell é o shell da Microsoft: um programa que permite controlar um computador digitando comandos, em vez de clicar. Ele também é uma linguagem de script para automatizar tarefas, e tem uma grande ideia que o diferencia dos shells mais antigos. Este artigo explica, em linguagem simples, o que é o PowerShell, como ele funciona e por que tanta gente de TI jura por ele.
O que é o PowerShell?
Um shell é um intermediário: você digita um pedido em palavras, ele entende o que você quer, faz o computador executar e mostra a resposta. O Windows tem um desde os anos 1980, o Prompt de Comando, que descende do prompt do DOS. Ele funcionava, mas era limitado. Para administrar um computador com Windows a sério, era preciso clicar em janelas de configuração, um computador de cada vez.
O PowerShell, lançado em 2006, foi a resposta da Microsoft. O objetivo era fácil de dizer: tudo o que dá para fazer clicando no Windows deveria dar para fazer digitando, e depois repetir em mil computadores.
Uma primeira conversa com o PowerShell
Esta é uma sessão real. Digitamos estes comandos no PowerShell 7.6, como uma usuária chamada maria, numa pasta de fotos das férias, e copiamos as respostas exatamente. Rodamos no Linux, por isso a pasta se chama /home/maria. No Windows ela seria C:\Users\maria:

Algumas coisas para reparar:
- O prompt começa com
PS, seguido da pasta em que você está e de um>. É o PowerShell dizendo "pode falar". - As respostas voltam como tabelas e listas organizadas, com títulos nas colunas, e não só linhas soltas de texto.
- Dá para digitar contas direto.
365 * 24responde8760, sem precisar de outro comando. - Palavras que começam com
$são variáveis.$env:USERlê o seu nome de usuário do sistema (no Windows ele se chama$env:USERNAME). - Os comandos e as respostas são em inglês:
Wednesdayé quarta-feira.
Comandos com nomes que dá para adivinhar
Os shells mais antigos têm nomes curtos e enigmáticos, como ls e grep. O PowerShell foi pelo caminho oposto. Todo comando embutido, chamado de cmdlet (pronuncia-se "command-let", algo como "comandinho"), tem nome no formato Verbo-Substantivo, em inglês: o que fazer e sobre o quê.

Os nomes são longos, mas se leem quase como frases em inglês, e são previsíveis. Se Get-Process (obter processos) lista os programas rodando, é uma boa aposta que Stop-Process (parar processo) feche um deles. As configurações que começam com hífen, como -Path (caminho) e -Filter (filtro), se chamam parâmetros, e também têm nomes legíveis.
Você não precisa digitar tudo isso. Aperte Tab e o PowerShell completa o nome. E para quem vem de outros shells, o PowerShell tem aliases, apelidos curtos: dir (do antigo Prompt de Comando) e ls (do Bash) executam o Get-ChildItem.
Empacou? Dois comandos ajudam a explorar: Get-Command lista os comandos que existem, e Get-Help explica qualquer um deles.
Get-Command -Noun Process # todos os comandos que lidam com programas
Get-Help Get-ChildItem # o que o Get-ChildItem faz e seus parâmetrosA grande ideia: objetos, não só texto
É isso que torna o PowerShell especial. Na maioria dos shells, como o Bash, os comandos conversam entre si em texto puro. Um programa imprime linhas de palavras, e o próximo precisa desmontar essas palavras.
Os comandos do PowerShell passam objetos. Um objeto é como um formulário preenchido: cada informação fica na sua caixinha com rótulo. Esta é a mesma foto descrita dos dois jeitos, com a saída real do mesmo arquivo:

Com texto, pegar o tamanho significa contar palavras numa linha e torcer para o formato nunca mudar. Com um objeto, basta pedir a caixinha chamada Length (comprimento, ou seja, o tamanho). O objeto da nossa foto tinha 35 propriedades rotuladas: nome, tamanho, datas, pasta, permissões e mais.
Arquivos não são os únicos objetos. Programas rodando, datas, usuários, placas de rede, serviços e impressoras saem dos comandos do PowerShell como objetos. É por isso que um pequeno conjunto de comandos funciona com todos eles.
Fazendo perguntas com o pipeline
Como outros shells, o PowerShell liga comandos com o símbolo |, chamado de pipe (cano, em inglês). A diferença é que o que passa pelo cano são objetos. Isso transforma meia dúzia de comandos genéricos num jeito de fazer perguntas sobre qualquer coisa:

- O
Sort-Objectordena as coisas por qualquer propriedade: tamanho, data, nome. - O
Where-Objectfica só com o que atende a uma condição, como "maior que 3 MB". O-gtquer dizer "maior que" (do inglês greater than). - O
Select-Objectescolhe quais propriedades mostrar, ou quantos itens.
Troque o Get-ChildItem pelo Get-Process e os mesmíssimos comandos respondem perguntas como "quais cinco programas estão usando mais memória?".
Get é o verbo mais comum
Para ver a ideia de Verbo-Substantivo na prática, contamos os 257 cmdlets que vêm embutidos no PowerShell 7.6 e os agrupamos pelo verbo:

Mais de um em cada cinco começa com Get (obter), e isso é ótimo para quem está começando: comandos Get só leem informações, nunca mudam nada. A Microsoft também mantém uma lista oficial de 100 verbos aprovados (digite Get-Verb para vê-la), para que comandos de empresas diferentes pareçam iguais. Todo mundo escreve Remove (remover), e não Delete, Erase ou Kill.
Por que digitar se dá para clicar?
A grande vantagem de qualquer shell é fazer a mesma coisa muitas vezes. Imagine que uma câmera chamou 1.000 fotos das férias de IMG_0001.jpg a IMG_1000.jpg, e você quer que elas se chamem viagem-praia-0001.jpg e assim por diante. Testamos num PC com Windows 11:

Leia da esquerda para a direita: pegue todo arquivo com nome no formato IMG_*.jpg e depois renomeie cada um. Dentro das chaves, $_ quer dizer "o arquivo atual", então $_.Name -replace '^IMG_', 'viagem-praia-' pega o nome de cada arquivo e troca o IMG_ do começo por viagem-praia-. O Measure-Command, que vem no PowerShell, cronometrou: menos de um segundo, tanto no PowerShell antigo quanto no novo.
Antes de rodar algo que muda muitos arquivos, existe um recurso de segurança muito bom. Acrescente -WhatIf (e se?) à maioria dos comandos que mudam coisas, e o PowerShell só conta o que faria. Esta é a saída real:
PS /home/maria/ferias> Remove-Item *.txt -WhatIf
What if: Performing the operation "Remove File" on target "/home/maria/ferias/notas.txt".Nada foi apagado. Tire o -WhatIf quando estiver satisfeito com o plano.
Scripts: receitas salvas num arquivo
Os comandos que você usa sempre podem ser salvos num arquivo terminado em .ps1, um script do PowerShell. Este é um pequeno script que faz backup das fotos das férias, e o que aconteceu quando o rodamos:

O script usa os blocos clássicos da programação: variáveis ($fotos), um loop (foreach, "para cada") e uma decisão (if e else, "se" e "senão"). Como as fotos são objetos, somar os tamanhos leva uma linha. E o bloco param dá ao script o seu próprio parâmetro -Destino, então ele funciona como um comando embutido. (O 9.4 saiu com ponto porque o computador do teste estava configurado em inglês.)
No Windows, você pode levar um susto na primeira vez que rodar um script:
backup.ps1 cannot be loaded because running scripts is disabled on this system.Ou seja: "backup.ps1 não pode ser carregado porque a execução de scripts está desativada neste sistema". É a política de execução do PowerShell, uma rede de proteção. Como um script pode fazer tudo o que você pode fazer, o Windows é cauteloso com eles: dependendo da versão e das configurações, ele bloqueia os scripts de vez ou só permite scripts baixados da internet que tenham assinatura digital. A própria Microsoft descreve isso como uma proteção contra rodar scripts sem querer, e não como uma fechadura forte. Só mude essa configuração se souber de onde vêm os seus scripts.
Para que as pessoas o usam
- Administrar muitos computadores ao mesmo tempo. Equipes de TI usam o PowerShell para preparar PCs novos, instalar atualizações e conferir configurações em centenas ou milhares de máquinas, muitas vezes a distância, com o
Invoke-Command. - A nuvem da Microsoft. O Microsoft 365, o e-mail Exchange e o Azure podem ser administrados pelo PowerShell. Criar as contas de e-mail de 500 alunos novos vira um script curto, em vez de uma semana de cliques.
- Tarefas do dia a dia. Renomear arquivos, limpar downloads antigos, ver quais programas iniciam com o Windows ou fazer um relatório de espaço em disco.
- Desenvolvedores. Scripts de build, execução de testes e passos de configuração, principalmente no Windows.
Na Pesquisa de Desenvolvedores do Stack Overflow de 2025, 23,2% dos desenvolvedores que responderam disseram ter trabalhado com o PowerShell no último ano. É mais ou menos o mesmo que o C++, e cerca de metade do Bash e dos outros shells do Unix (48,7%), que dominam os servidores Linux.
Dois PowerShells: qual eu tenho?
Isso confunde quase todo mundo, então aqui vai de forma direta. Existem dois PowerShells, e eles podem conviver lado a lado:

Para conferir, digite $PSVersionTable.PSVersion. Se aparecer 5.1, você está usando o que vem no Windows. Se aparecer 7 ou mais, está usando o moderno.
O PowerShell não para de crescer
Baixamos seis versões do PowerShell moderno da página oficial da Microsoft no GitHub e contamos os cmdlets embutidos em cada uma, num contêiner Linux limpo, sem mais nada instalado:

E isso é só o núcleo. O Windows acrescenta muitos comandos próprios, para coisas como rede, discos e impressoras: no nosso PC de teste com Windows 11, contamos 1.537 comandos em módulos guardados na pasta do Windows. Complementos, chamados de módulos, trazem ainda mais. A PowerShell Gallery, o catálogo online gratuito da Microsoft, permite instalá-los com um comando, o Install-Module.
De onde vem o PowerShell

Em agosto de 2002, um engenheiro da Microsoft chamado Jeffrey Snover escreveu um texto chamado "Monad Manifesto" (Manifesto Monad). Ele admirava como os administradores de Unix automatizavam qualquer coisa colando pequenos comandos com pipes. Só que o Windows guardava suas informações de forma estruturada, e não em arquivos de texto, então copiar o Unix não bastava. A ideia dele foi manter os pipes, mas mandar objetos por eles.
O projeto, de codinome Monad, foi mostrado ao público em 2003 e rebatizado de Windows PowerShell antes do lançamento, em novembro de 2006. A versão 2.0 veio embutida no Windows 7, em 2009, e trouxe o acesso remoto, a capacidade de executar comandos em outros computadores. Em 2017, o Windows 10 já tinha colocado o PowerShell no lugar do Prompt de Comando nos seus menus principais.
Aí veio uma surpresa. Em 18 de agosto de 2016, a Microsoft tornou o PowerShell código aberto e anunciou que ele rodaria também no Mac e no Linux. Hoje o código é público no GitHub, onde mais de 55 mil pessoas deram estrela ao projeto. Snover depois se tornou Technical Fellow, um dos títulos de engenharia mais altos da Microsoft.
Uma breve história

Experimente você mesmo
- Windows: clique com o botão direito no botão Iniciar e escolha Terminal, ou procure PowerShell no menu Iniciar. Esse é o Windows PowerShell 5.1. Para ter a versão moderna, digite
winget install --id Microsoft.PowerShell --source wingete depois abra o PowerShell 7 pelo menu Iniciar. - Mac: baixe o instalador do PowerShell (
.pkg) na página de versões do PowerShell da Microsoft no GitHub, abra-o e depois digitepwshno aplicativo Terminal. - Linux: a documentação da Microsoft tem instruções para Ubuntu, Debian, Fedora e outros. Depois, digite
pwsh.
Em seguida, experimente alguns comandos seguros. Eles só leem informações:
1Get-Date # a data e a hora de hoje
2Get-ChildItem # o que tem nesta pasta?
3Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 # os 5 programas mais ocupados
4Get-Command -Verb Get | Measure-Object # quantos comandos Get existem?
5Get-Help Get-Process # explica um comando
6$PSVersionTable.PSVersion # qual PowerShell é este?Duas dicas de segurança: comandos com verbos como Remove, Stop e Set mudam as coisas, então experimente o -WhatIf antes. E nunca cole no PowerShell um comando de um desconhecido da internet, principalmente se você não entende o que ele faz. Um shell faz exatamente o que mandam.
Perguntas comuns
O PowerShell é o mesmo que o Prompt de Comando? Não. O Prompt de Comando (cmd.exe) é o shell antigo do Windows, descendente do DOS, e continua lá. O PowerShell é mais novo e muito mais capaz, embora entenda muitos hábitos antigos, como dir e cd.
O PowerShell é o mesmo que o Bash? Os dois são shells, mas de famílias diferentes. O Bash vem do Unix e passa texto entre os comandos. O PowerShell vem do Windows e passa objetos. Hoje dá para rodar qualquer um dos dois no Windows, no Mac ou no Linux.
E o aplicativo Terminal, o que é? O Terminal do Windows é só a janela, com abas. Dentro dele dá para rodar o PowerShell, o Prompt de Comando e até shells do Linux. O Windows 11 o usa como padrão.
O PowerShell é uma linguagem de programação? Sim, uma linguagem de script. Ele tem variáveis, loops, decisões e funções, e por ser feito sobre o .NET, pode usar os mesmos blocos de construção de programas completos escritos em C#.
É seguro experimentar? Comandos que começam com Get só leem as coisas. Tome cuidado com comandos que removem, param ou mudam coisas, e use o -WhatIf para ver uma prévia.
Glossário
- PowerShell: o shell e linguagem de script da Microsoft, construído em torno de objetos.
- Shell: um programa que lê os comandos que você digita e os executa.
- Cmdlet: um comando embutido do PowerShell, com nome Verbo-Substantivo, como
Get-ChildItem. Pronuncia-se "command-let". - Parâmetro: uma configuração com nome para um comando, começando com hífen, como
-Path. - Alias: um apelido curto para um comando, como
dirparaGet-ChildItem. - Objeto: um pacote de informações com propriedades rotuladas, como um formulário preenchido.
- Propriedade: uma informação rotulada de um objeto, como o
Length(tamanho) de um arquivo. - Pipeline: comandos ligados com
|, passando objetos de um para o outro. - Variável: um nome que guarda um valor, começando com
$, como$fotos. - Script: um arquivo
.ps1de comandos que roda como um programa. - Política de execução: a configuração que decide se scripts podem rodar no Windows.
- Módulo: um pacote complementar com comandos extras.
- -WhatIf: um parâmetro que mostra o que um comando faria, sem fazer.
Para encerrar
O PowerShell é a linha de comando que vem no Windows, e agora também está disponível no Mac e no Linux. Seus comandos têm nomes Verbo-Substantivo fáceis de ler, e sua grande ideia é que os comandos passam objetos, formulários preenchidos de informação, em vez de texto puro. Isso deixa meia dúzia de comandos genéricos ordenar, filtrar e contar qualquer coisa, de fotos a programas.
Ele nasceu de um manifesto de 2002 sobre levar a automação do estilo Unix para o Windows, e acabou virando código aberto e rodando em toda parte. Você não precisa virar especialista para aproveitar. Abra um Terminal, digite Get-Date, depois Get-ChildItem e depois Get-Help Get-ChildItem. Todo comando Get é seguro, e todos respondem em objetos.
Read next

O Que É um Transformer na IA? A Ideia por Trás do ChatGPT, Explicada de Forma Simples
Um guia simples e sem jargões sobre os transformers, a arquitetura de IA por trás do ChatGPT, do Claude e do Gemini. Entenda como a "atenção" ajuda a IA a entender palavras no contexto e por que isso mudou a IA tão rápido.

O Que É Aprendizado por Reforço? Como a IA Aprende com Tentativa, Erro e Recompensa
Uma introdução simples e sem jargões ao aprendizado por reforço, o jeito como a IA aprende com tentativa, erro e recompensa, como um cachorro aprendendo com petiscos. Veja um robô aprender um labirinto e como isso molda os chatbots.

O Que É Engenharia de Grafos? Como a IA Trabalha em Equipe para Fazer Coisas de Verdade
Um guia simples e sem jargões sobre engenharia de grafos, a ideia de 2026 de montar a IA como um mapa de etapas conectadas. Veja como os agentes de IA funcionam, por que pequenos erros se acumulam e como revisões e trabalho em equipe resolvem isso.
Comentários
Be kind and specific. Comments with links from new accounts appear after a moderator reviews them.