16 Comandos Essenciais do PowerShell para Conhecer

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
- Clear-Host ou Cls
- Convert-to-HTML
- Get-Command
- Get-Help
- Get-Process
- Get-Service
- Install-Module ou Install-Script
- mkdir, md, rmdir
- New-Item
- Remove-Item
- Set-ExecutionPolicy
- Select-Object e Sort-Object
- Start- e Stop-Process
- Suspend- e Resume-Service
- Test-Path
- 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.

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.

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.

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
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.

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.

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”).

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
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.

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
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.

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.

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.

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*"
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
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
Aguarde alguns segundos ou minutos para que o pacote seja instalado através do seu PowerShell. Ele estará disponível mais tarde no Windows.

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."
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.

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."
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.
- 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"- Assim que um diretório for criado, você pode colocar novos arquivos com
New-itemdentro 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."
- O arquivo recém-criado pode ser encontrado em sua pasta de destino.

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)"
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'))
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"
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"
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"
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"
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
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"
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)
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 PowerShellGet-Hostfornece detalhes completos do programa que hospeda o PowerShell no WindowsTest-JSONé um cmdlet avançado usado para testar se uma string é um objeto JSO válidoTrace-commandrastreia toda a expressão ou comando para encontrar os parâmetros e flags que contémWrite-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.