16 Comandos Essenciais do PowerShell para Conhecer

Comandos Essenciais do PowerShell

O Windows PowerShell é um poderoso aplicativo baseado na estrutura .NET. Ele depende de comandos do PowerShell chamados cmdlets. Combinando-os em uma ordem específica, você pode realizar quase qualquer operação a partir da janela do PowerShell. Para explicar como funciona, listamos os comandos de PowerShell mais essenciais.

Bom saber: O Windows não consegue encontrar “Powershell.exe”? Descubra o que fazer para trazê-lo de volta.

Índice

  • Como Usar Comandos do PowerShell
  • Comandos Essenciais do PowerShell
    1. Clear-Host ou Cls
    1. Convert-to-HTML
    1. Get-Command
    1. Get-Help
    1. Get-Process
    1. Get-Service
    1. Install-Module ou Install-Script
    1. mkdir, md, rmdir
    1. New-Item
    1. Remove-Item
    1. Set-ExecutionPolicy
    1. Select-Object e Sort-Object
    1. Start- e Stop-Process
    1. Suspend- e Resume-Service
    1. Test-Path
    1. Wait-Process
  • Outros Comandos Essenciais do PowerShell
  • Perguntas Frequentes

Como Usar Comandos do PowerShell

Para começar a usar cmdlets, você precisa iniciar o PowerShell em modo Administrador a partir do menu de busca.

Abrir PowerShell em modo Administrador a partir da busca do Windows 11.

Comandos Essenciais do PowerShell

O PowerShell no Windows não é apenas uma interface de linha de comando ativa, mas também uma janela de script e programação que pode executar qualquer aplicativo ou processo que você desejar. Embora existam várias centenas de cmdlets, para começar, você só precisa aprender os mais essenciais.

1. Clear-Host ou Cls

Cometeu um erro ao digitar ou algo não está saindo como planejado? Felizmente, existem oportunidades de recomeço no PowerShell. O útil comando clear-host pode limpar todo o texto da tela. Basta digitar o comando em qualquer linha da sua tela, e tudo desaparecerá instantaneamente.

Comando Clear host para remover todo o texto na janela do PowerShell.

Você também pode usar o comando mais simples cls, frequentemente utilizado no Prompt de Comando, com o PowerShell. Esses dois comandos de limpeza de texto são úteis quando você encontra uma mensagem de erro.

Digitando o comando cls abaixo da mensagem de erro para remover todo o texto no PowerShell.

Para evitar erros de digitação no Prompt de Comando ou na janela do PowerShell, copie e cole os comandos para maior eficácia.

Dica: use o PowerShell para ocultar atualizações do Windows, conforme mostrado neste guia.

2. Convert-to-HTML

Ter uma grande string de HTML é mais estético do que olhar para capturas de tela desordenadas do PowerShell. É também útil quando você precisa compartilhar erros de script e outros eventos do PowerShell com membros da equipe não técnicos.

Todos os componentes do PowerShell usam objetos .NET que podemos visualizar na tela do PowerShell. Para exibi-los em uma janela de navegador completa, use o cmdlet Convert-to-HTML. Abaixo está um exemplo para visualizar todos os aliases do PowerShell na Web. Lembre-se de usar uma linha separada antes de “Invoke-Item.”

Get-Alias|ConvertTo-Html|Out-File aliases.htm  
Invoke-Item aliases.htm

Comando Convert-to-HTML no PowerShell para exibir aliases em uma página da web.

Assim que você executar o comando de conversão HTML, o PowerShell pedirá que você abra o arquivo de saída usando outro aplicativo. Usar um navegador produzirá uma lista de objetos, como aliases.

Uma lista completa de aliases do PowerShell visualizável em um navegador web.

3. Get-Command

Existem principalmente dois tipos de comandos: aliases e funções. Os aliases do PowerShell servem como um apelido para uma função ou cmdlet. O Windows armazenou alguns aliases por padrão, que você pode recuperar usando Get-Command. Você também pode criar seus próprios aliases.

Lista de aliases sob o comando Get no PowerShell.

O outro tipo de comando no PowerShell são as funções. Essas usam um verbo aprovado (como “get”) e um substantivo simples (como “StorageNode”).

Lista de funções exibidas sob Get-command no PowerShell.

Estamos usando uma função “Select-object” (note a combinação de verbo e substantivo) com o que é conhecido como uma variável de ambiente para o nome do computador para exibir o nome do computador local.

$env:computername |Select-Object

Obtendo o nome do computador usando a função Select-Object e a variável de ambiente no PowerShell.

As funções são o ponto de partida da codificação avançada no PowerShell. Você pode usar funções, como Start-process, com parâmetros e variáveis para criar seus próprios scripts em lote, executando uma série de tarefas.

4. Get-Help

O PowerShell tem seu próprio cmdlet de solução de problemas auto-aprendizagem, Get-Help, que exibe todas as correções rápidas e artigos de ajuda em uma única janela. Digite o comando no final de qualquer saída para obter ajuda com vários módulos. Você pode precisar pressionar Y para permitir versões atualizadas do conteúdo de ajuda.

PowerShell atualizando ajuda para vários módulos após o comando Get-Help.

Existem várias opções de ajuda através do Get-help. Por exemplo, se você quiser saber o que Get-process faz e qual é sua sintaxe exata, digite o seguinte:

Get-HelpGet-Process

Vários exemplos exibidos na janela do PowerShell para o comando get-help.

Dica: preocupado com keyloggers monitorando sua atividade em seu PC? Aprenda como detectar um keylogger no Windows.

5. Get-Process

Get-Process é um comando essencial do PowerShell que lista todos os processos no seu dispositivo local ou em um computador remoto.

O comando Get-Process no PowerShell lista todos os processos do computador.

Para informações de processo mais detalhadas, você terá que especificar outros parâmetros, como o ID do Processo (PID) ou o nome do processo.

Especificando o nome do processo no comando Get-Process no PowerShell.

Existem muitos parâmetros específicos que você pode incluir ao definir o processo a ser encontrado:

  • Listar processos especificando o tamanho do arquivo em MB
  • Listar processos com base na prioridade
  • Encontrar o proprietário de um processo

6. Get-Service

Seu computador Windows tem muitos programas e processos em execução. Enquanto você pode visualizá-los diretamente no Gerenciador de Tarefas, é mais fácil visualizar uma lista completa usando Get-service, que você pode converter para HTML mais tarde.

O comando Get-service na janela do PowerShell com uma lista completa de serviços.

Não lembra o nome exato do serviço que você precisa? Você pode usar um símbolo curinga (*) junto com as poucas letras que você consegue se lembrar.

Get-service"xyz*"

Get-service com iniciais digitadas na janela do PowerShell.

Algumas flags comuns que funcionam em conjunto com Get-Service incluem -DisplayName, -DependentServices, -InputObject e -RequiredServices.

7. Install-Module ou Install-Script

O PowerShell é uma das opções mais seguras para instalar pacotes de software para o software do Windows, como Microsoft Teams, McAfee Security, Bing Translator, os mais recentes jogos do Xbox, etc. Para obter uma lista completa de softwares suportados no PowerShell para todos os usuários, digite:

Get-AppxPackage -AllUsers

Comando Get AppxPackage para ver toda a lista de pacotes no PowerShell.

Uma maneira melhor é procurar seu pacote desejado na Galeria do PowerShell, um recurso único para os últimos pacotes de software. Assim que você encontrá-lo, digite um comando, como Install-module, Install-Script ou Install-Package. O seguinte mostra a instalação do jogo Campo Minado.

Install-Script -Name Minesweeper

Instalando o jogo Campo Minado a partir do PowerShell no Windows.

Aguarde alguns segundos ou minutos para que o pacote seja instalado através do seu PowerShell. Ele estará disponível mais tarde no Windows.

Instalação do pacote Campo Minado em processo.

Outro comando útil é Find-package, que procura por um pacote de software no seu computador ou na Web.

Dica: você também pode usar o Gerenciador de Pacotes do Windows para instalar e atualizar programas.

8. mkdir, md, rmdir

mkdir não é um comando nativo do PowerShell. No entanto, é um alias amplamente utilizado do new-item para criar diretórios, já que esta sintaxe é muito popular no DOS e no Linux. Quando você usa mkdir com um nome de sua escolha, ele cria uma pasta vazia.

mkdir "nome da sua pasta vazia."

Faça o PowerShell apontar para sua nova pasta criada usando um simples comando cd.

cd"nome da pasta recém-criada."

Criando novo diretório usando o comando mkdir no PowerShell e apontando para esse novo diretório usando cd.

A pasta recém-criada está sempre localizada ao longo do caminho C:\Windows\System32, mas você pode usar cd para apontar para uma pasta diferente.

Nova pasta criada usando comando PowerShell visível no File Explorer System32.

Você pode substituir mkdir por md para o mesmo propósito mencionado acima. Para remover o conteúdo de qualquer diretório, use o comando rmdir (remover diretório):

rmdir"nome da pasta com conteúdo vazio."

Comandos md e rmdir usados na janela do PowerShell para criar e remover pastas vazias.

9. New-Item

Diferente de aliases como mkdir e md, New-item é o cmdlet oficial usado no PowerShell para criar novos itens e definir seus valores. Além de criar arquivos e pastas, você pode usá-lo para fazer chaves e entradas do registro.

  1. Para criar um novo diretório usando o comando New-item, digite:
New-item-Path"Localização do caminho do diretório\"-Name"Nome de sua escolha"-Item Type"diretório"
  1. Assim que um diretório for criado, você pode colocar novos arquivos com New-item dentro dessa pasta.
New-item-path"Localização do caminho do diretório criado\"-Name"Nome do arquivo.txt"-ItemType"arquivo"-Value"insira qualquer texto de sua escolha."

Comando New-item em uso no PowerShell para criar nova pasta e arquivo com texto.

  1. O arquivo recém-criado pode ser encontrado em sua pasta de destino.

Comandos Essenciais do PowerShell Novo Item No Explorador de Arquivos

10. Remove-Item

Você quer remover todos os arquivos com uma extensão, como .TXT, .DOC, .PDF, .WMV, de uma pasta? Primeiro, aponte para o caminho exato da pasta usando cd, depois use o cmdlet Remove-Item como mostrado abaixo:

Remove-Item*-Include*(type de arquivo)-Exclude *(qualquer variável ou número)"

Remover item de uma pasta no PowerShell.

O método acima é muito útil para identificar e remover qualquer arquivo oculto ou somente leitura ou excluir qualquer arquivo com caracteres especiais.

Bom saber: tendo problemas para remover um arquivo do seu PC? Aprenda como excluir forçadamente arquivos indesejados no Windows.

11. Set-ExecutionPolicy

Por razões de segurança, o PowerShell tem sua própria política de execução que afeta arquivos de configuração, scripts e outros parâmetros. Esse recurso de segurança pode ser executado usando o comando Set-executionPolicy, junto com uma flag, como -force, que sobrescreve itens existentes. Segue a sintaxe dada abaixo.

Set-ExecutionPolicy  
[-ExecutionPolicy]  
[[-Scope]]  
[-Force]  
[-WhatIf]  
[-Confirm]  
[]

Por exemplo, usar o comando Set-ExecutionPolicy para instalar o software Chocolatey se parece com o código mostrado abaixo. Uma vez executado, ele fará o download e instalará o software oficial Chocolatey no seu computador.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol =[System.Net.ServicePointManager]::SecurityProtocol -bor3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Instalando Chocolatey no PowerShell usando o comando Set-ExecutionPolicy.

12. Select-Object e Sort-Object

Se sua pasta ou subpasta tiver muitos arquivos e extensões, você pode querer classificá-los ou selecioná-los em ordem ascendente ou descendente com base em uma propriedade predefinida. É aqui que os cmdlets Sort-Object e Select-Object podem ajudá-lo a reorganizar múltiplos objetos de uma só vez.

A classificação e a seleção podem ser aplicadas a quaisquer arquivos em diferentes pastas, bem como aos processos existentes no seu computador. Abaixo está um exemplo de classificação e seleção dos dez processos mais importantes com base no tamanho do conjunto de trabalho (WS) em megabytes.

Get-process|Sort-Object-Property WS |Select-Object- Last "Número de itens"

Selecionar e classificar objetos com base no Get-process predefinido no PowerShell.

Você pode usar a classificação e a seleção em vários outros parâmetros, como informações históricas de vários arquivos, classificando todos os itens da lista contidos em um arquivo do Notepad e classificando vários eventos em seu computador.

13. Start- e Stop-Process

Se você deseja iniciar um novo processo no Windows ou parar um processo existente, pode rapidamente usar cmdlets do PowerShell para alcançar esse objetivo.

Para encerrar rapidamente um processo, use o cmdlet Stop-Process. O seguinte exemplo mostra como fechar um processo para o WordPad.

Stop-process-Name"Nome do Processo ou Aplicação"

Parando o processo WordPad a partir do PowerShell no Windows.

Da mesma forma, para iniciar um novo aplicativo diretamente da janela do PowerShell, digite o cmdlet Start-process e a flag -FilePath.

Start-Process -FilePath"Nome do Aplicativo"

Iniciar processo no PowerShell para abrir o aplicativo WordPad.

Dica: aprenda como parar aplicativos e processos em segundo plano de serem executados no Windows e consumindo seus recursos.

14. Suspend- e Resume-Service

Em vez de iniciar ou parar um serviço em execução, você pode suspender diretamente. O cmdlet Suspend-service é simples de usar e ajuda a reduzir o uso de RAM e CPU dos serviços que você não está usando atualmente.

Nota: você pode usar Get-service para obter o nome do serviço a ser suspenso.

Suspend-service-DisplayName"Nome completo do Serviço"

Comandos Essenciais do PowerShell Suspender Serviço

Qualquer serviço encerrado pode ser reiniciado mais tarde com um simples comando Resume-service. Se você não tiver certeza de quais serviços pode suspender sem afetar negativamente seu sistema, use o seguinte comando:

Get-Service|Where-Object{$_.CanPauseAndContinue -eq"True"}|Suspend-Service-Confirm

Suspender serviços que podem ser suspensos na janela do PowerShell.

15. Test-Path

Se você deseja evitar erros de caminho de arquivo na sua programação, precisa ter certeza de que o caminho do arquivo na sintaxe está correto. Embora você sempre possa verificar com o Explorador de Arquivos, uma maneira mais precisa de confirmar isso é usando o cmdlet Test-path, que simplesmente responde “True” ou “False” se um caminho dado existe.

Test-Path-Path"Nome do caminho"

Comandos Essenciais do PowerShell Testpath

Você pode modificar o comando para testar a disponibilidade de um determinado arquivo, verificar se o caminho do registro está correto e determinar se existem outros arquivos além de um tipo específico de arquivo no seu computador.

16. Wait-Process

Quando múltiplos processos estão rodando em conjunto, você pode querer esperar que um ou mais deles sejam encerrados antes de poder usá-los novamente. O cmdlet Wait-Process pode ajudar muito. Você pode especificar um tempo limite para o qual o PowerShell aguardará antes que o processo seja encerrado.

Wait-Process -Name"Nome do processo, -Timeout (em segundos)

Comandos Essenciais do PowerShell Aguardar Processo

Outros Comandos Essenciais do PowerShell

Além dos comandos do PowerShell listados acima, também é útil aprender os seguintes cmdlets e funções:

  • Echo é um cmdlet usado para imprimir qualquer valor no console do PowerShell
  • Get-Host fornece detalhes completos do programa que hospeda o PowerShell no Windows
  • Test-JSON é um cmdlet avançado usado para testar se uma string é um objeto JSO válido
  • Trace-command rastreia toda a expressão ou comando para encontrar os parâmetros e flags que contém
  • Write-output, como o nome sugere, fornece um resultado do último comando na janela do console.

Dica: familiarize-se com esses processos legítimos do Windows que podem parecer malware para evitar removê-los do seu sistema.

Perguntas Frequentes

Como posso resolver o erro “O script do PowerShell não é reconhecido como o nome de um cmdlet”?

Se o PowerShell não está reconhecendo o nome de um cmdlet, pode ser devido à variável de Path não estar definida corretamente. Corrija qualquer erro na variável de caminho corrigindo seu caminho de pasta inválido.

Como capturar a saída de erro como uma variável no PowerShell?

O PowerShell tem um parâmetro variável de erro, $ErrorVariable, que foi projetado para capturar todas as saídas de erro quando você insere os vários cmdlets. Esses podem ser usados para solução de problemas.