Cheat Sheet PowerShell — Comandos Prontos para Copiar

Os comandos de PowerShell que devs e admins usam todo dia no Windows — e no PowerShell 7 no macOS e Linux — explicados em uma linha cada. Digite sua pasta, arquivo e host uma vez e copie comandos prontos para rodar.

Atualizado em
Seus valoresTodos os exemplos abaixo são atualizados enquanto você digita

Ajuda e descoberta

5
Get-Command *service*

Encontre comandos cujo nome contém uma palavra — a forma mais rápida de descobrir cmdlets.

Get-Help Get-Process -Examples

Mostra exemplos de uso de um cmdlet. Rode Update-Help uma vez para baixar a ajuda completa.

Get-Process | Get-Member

Lista as propriedades e métodos dos objetos que um comando retorna.

Get-Alias ls

Veja qual cmdlet um alias executa (ls, dir e gci executam Get-ChildItem).

$PSVersionTable

Mostra a versão e a edição do PowerShell (Windows PowerShell 5.1 ou PowerShell 7).

Arquivos e pastas

11
Get-ChildItem C:\Projects\app -Recurse -Filter *.log

Lista arquivos de um tipo em uma pasta e nas subpastas.

Set-Location C:\Projects\app

Muda a pasta atual (alias cd).

New-Item -ItemType Directory -Path C:\Projects\app\logs -Force

Cria uma pasta, incluindo as pastas pai que não existirem.

Copy-Item app.log C:\Projects\app\backup\ -Force

Copia um arquivo, sobrescrevendo uma cópia existente.

Move-Item app.log C:\Projects\app\archive\

Move ou renomeia um arquivo ou pasta.

Remove-Item C:\Projects\app\temp -Recurse -Force

destructive Apaga uma pasta e tudo que está dentro dela sem perguntar.

Get-Content app.log -Tail 50 -Wait

Mostra as últimas 50 linhas de um arquivo e continua acompanhando as novas (como tail -f).

Set-Content app.log -Value "text" -Encoding utf8

destructive Escreve texto em um arquivo, substituindo o conteúdo.

Add-Content app.log -Value "another line"

Adiciona uma linha ao final de um arquivo.

Compress-Archive -Path C:\Projects\app\* -DestinationPath archive.zip

Cria um arquivo ZIP com o conteúdo de uma pasta.

Expand-Archive archive.zip -DestinationPath C:\Projects\app

Extrai um arquivo ZIP.

Busca e texto

7
Select-String -Path *.log -Pattern "error"

Busca texto ou regex em arquivos (como o grep); mostra arquivo, número da linha e a linha.

Get-ChildItem -Recurse | Select-String "error" -List

Encontra quais arquivos dentro da pasta contêm o texto.

(Get-Content app.log) -replace "old", "new" | Set-Content app.log

destructive Localiza e substitui texto em um arquivo (aceita regex).

Get-Content app.log | Measure-Object -Line -Word -Character

Conta linhas, palavras e caracteres (como o wc).

Import-Csv data.csv | Where-Object { $_.Status -eq "active" }

Lê um CSV como objetos e filtra as linhas por uma coluna.

Get-Process | Export-Csv processes.csv -NoTypeInformation

Salva a saída de qualquer comando como um arquivo CSV.

Get-Content data.json -Raw | ConvertFrom-Json

Converte um arquivo JSON em objetos que você pode consultar.

Processos e serviços

6
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

Mostra os 10 processos que mais usam tempo de CPU.

Stop-Process -Name node -Force

destructive Encerra todos os processos com esse nome.

Get-Service | Where-Object Status -eq Running

Lista os serviços do Windows que estão em execução.

Restart-Service Spooler

Reinicia um serviço (precisa de um shell elevado).

Start-Process pwsh -Verb RunAs

Abre uma nova janela do PowerShell como administrador.

Get-NetTCPConnection -LocalPort 443 | Select-Object OwningProcess

Descubra qual processo está escutando em uma porta.

Rede e web

5
Test-NetConnection example.com -Port 443

Verifica se um host está acessível em uma porta TCP (ping + teste de porta).

Resolve-DnsName example.com

Consulta os registros DNS de um nome de host.

Invoke-RestMethod https://api.github.com/repos/owner/repo

Chama uma API JSON e recebe a resposta como objetos.

Invoke-WebRequest https://example.com/file.zip -OutFile file.zip

Baixa um arquivo.

Get-NetIPAddress -AddressFamily IPv4

Mostra os endereços IPv4 deste computador.

Variáveis, pipeline e scripts

8
$env:PATH -split ";"

Mostra cada pasta do PATH em uma linha separada.

$env:API_URL = "value"

Define uma variável de ambiente para a sessão atual.

[Environment]::SetEnvironmentVariable("API_URL", "value", "User")

Define uma variável de ambiente de forma permanente para o seu usuário.

Get-ChildItem | ForEach-Object { $_.Name.ToUpper() }

Executa código para cada item do pipeline ($_ é o item atual).

Get-ChildItem | Where-Object Length -gt 10MB

Filtra objetos por uma propriedade — aqui, arquivos maiores que 10 MB.

Measure-Command { Get-Process }

Mede quanto tempo um comando leva.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Permite que scripts locais rodem para o seu usuário; scripts baixados precisam ser assinados.

try { Get-Process -ErrorAction Stop } catch { Write-Warning $_ }

Captura erros — -ErrorAction Stop transforma erros não fatais em erros capturáveis.

Sistema

5
Get-ComputerInfo -Property OsName, OsVersion, CsTotalPhysicalMemory

Mostra a versão do Windows e a memória instalada.

Get-PSDrive -PSProvider FileSystem

Mostra os discos com espaço usado e livre.

Get-WinEvent -LogName System -MaxEvents 20

Lê as entradas mais recentes do log de eventos do Sistema.

winget upgrade --all

Atualiza todos os apps instalados com o Gerenciador de Pacotes do Windows.

Restart-Computer -Force

destructive Reinicia o computador imediatamente.

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Cheat Sheet PowerShell

  1. Digite seus próprios valores (pasta, arquivo, host) nos campos do topo — todos os exemplos da página são atualizados na hora.
  2. Pesquise ou pule para uma seção para encontrar o comando que você precisa.
  3. Clique em Copy para copiar uma linha pronta para rodar, ou em Copy section para um bloco comentado.
  4. Comandos marcados como destructive apagam ou sobrescrevem dados — leia a observação antes de executá-los.

Objetos, não texto

A grande diferença em relação ao Bash e ao CMD: os comandos do PowerShell passam objetos pelo pipeline, e não linhas de texto. Get-Process | Where-Object CPU -gt 100 | Sort-Object CPU filtra e ordena com base em propriedades reais — sem precisar interpretar colunas. Get-Member mostra quais propriedades um objeto tem, e Select-Object, Where-Object e ForEach-Object fazem o resto.

Nomes Verbo-Substantivo e aliases

Os cmdlets seguem o padrão Verbo-Substantivo — Get-ChildItem, Set-Content, Remove-Item — então Get-Command -Verb Get ou Get-Command *Service* encontram o que você precisa. Aliases conhecidos como ls, cd, cat e rm apontam para esses cmdlets, mas os parâmetros são os do PowerShell, não flags do Unix.

Windows PowerShell 5.1 vs PowerShell 7

O Windows vem com o Windows PowerShell 5.1 (powershell.exe). O PowerShell 7 (pwsh) é o sucessor multiplataforma para Windows, macOS e Linux, com os operadores && e ||, ternários e melhor desempenho. Tudo nesta página funciona nas duas versões, salvo indicação em contrário. Compare com o cheat sheet de CMD e o cheat sheet de comandos Linux.

Também pesquisado como: comandos powershell, lista de comandos powershell, powershell grep, powershell tail, exemplos powershell, comandos windows powershell.

Ferramentas que combinam com: Cheat Sheet PowerShell

  • Cheat Sheet do Git — Todos os comandos do Git que você usa no dia a dia — e os que precisa quando algo dá errado — explicados em uma linha.
  • Conversor de Caminho Windows — Cole um caminho em qualquer formato — C:\Users\me\project, /mnt/c/Users/me/project, /c/Users/me — e veja ele em todas as outras formas, prontas para copiar: WSL, Git Bash, Cygwin, URL file, UNC e escapado para código.
  • Conversor de Quebra de Linha — Veja quais quebras de linha um arquivo usa e converta-as — de CRLF do Windows para LF do Unix ou o contrário — para texto colado ou um lote inteiro de arquivos, com limpeza de espaços no fim da linha e de tabs.
  • Cheat Sheet Docker — Os comandos do Docker e Docker Compose que você usa toda semana, explicados em uma linha.

Perguntas frequentes

Qual é o equivalente do grep no PowerShell?
Select-String. Por exemplo, Select-String -Path *.log -Pattern "error", ou envie a saída para ele pelo pipeline: Get-Content app.log | Select-String error.
Como acompanhar um arquivo de log como o tail -f?
Get-Content app.log -Tail 50 -Wait mostra as últimas 50 linhas e continua exibindo as novas.
Por que meu script não roda?
A política de execução bloqueia scripts por padrão. Rode Set-ExecutionPolicy RemoteSigned -Scope CurrentUser para permitir seus próprios scripts.
Posso instalar o Cheat Sheet PowerShell como um aplicativo da web e usá-lo offline?
Sim. O Cheat Sheet PowerShell é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas