Você já tentou escrever algum código PowerShell e ficou preso? Não se preocupe mais! Uma das melhores maneiras de se destacar no PowerShell é entender os fundamentos. Conhecer alguns comandos básicos do PowerShell pode torná-lo um profissional, e você automatizará tarefas administrativas de forma mais eficiente.
Neste tutorial, você aprenderá os cmdlets básicos do PowerShell que precisa conhecer para tornar sua experiência com o PowerShell mais interessante.
Pré-requisitos
Este tutorial será uma demonstração prática, mas não possui muitos pré-requisitos. Se desejar acompanhar, qualquer sistema (Windows ou Linux) com PowerShell 5.1 ou superior funcionará. Embora os comandos sejam mostrados usando o Windows PowerShell, os exemplos abaixo funcionam no PowerShell 7+ multiplataforma.
Obtendo Informações de Ajuda sobre Comandos com Get-Help
Você já escreveu código como um especialista sem obter ajuda? Bem, sempre haverá a necessidade de ajuda ao escrever código. Seja executando código ou comandos em um ambiente de linha de comando, o cmdlet Get-Help
é muito útil.
Vamos começar este tutorial aprendendo como o cmdlet Get-Help
funciona.
O cmdlet Get-Help
oferece os guias necessários para utilizar qualquer comando de forma eficaz, sem erros. Veja-o como documentação para cada um dos comandos do PowerShell.
Abra o PowerShell como administrador e execute o comando Get-Help
abaixo para visualizar informações detalhadas (-Detailed
) sobre um comando, como o cmdlet Get-ExecutionPolicy
.

Em vez de apenas informações detalhadas, talvez você queira visualizar informações completas sobre um cmdlet. Se for o caso, adicione o parâmetro -Full
no comando Get-Help
em vez disso.
Execute o código abaixo para obter informações completas (-Full
) sobre o próprio cmdlet Get-Help
.

Talvez você ainda precise de mais exemplos para evitar erros ao executar o comando. Nesse caso, adicione o parâmetro -Examples
para ver exemplos de como escrever um comando.
Execute o comando Get-Help
abaixo para obter exemplos (-Examples
) de como você pode usar o cmdlet Get-Process
.

Recuperando Processos do Computador com Get-Process
Você se lembra do Gerenciador de Tarefas do Windows que exibe todos os seus processos, serviços, aplicativos e tudo mais? Legal! O cmdlet Get-Process
é um cmdlet básico, porém essencial, que lhe dá acesso a todos os processos do seu computador em poucos passos, sem precisar abrir o Gerenciador de Tarefas.
Execute o seguinte comando para obter uma lista de todos os processos do sistema em formato de tabela.

Quando um processo trava e faz com que seu computador funcione lentamente, pare o processo encadeando o cmdlet
Get-Process
com o cmdletStop-Process
. Por exemplo: executeGet-Process -Id 1252 | Stop-Process
, onde-Id 1252
especifica o ID do processo que você deseja parar.
Obtendo o Histórico da Sessão do PowerShell com Get-History
Pode haver uma necessidade de verificar seus comandos recentes, como verificar se o comando recentemente executado está correto ou se você realmente executou um comando. Mas o PowerShell tem um histórico de comandos? Sim! O cmdlet Get-History
retorna um objeto de todos os seus comandos recentes em sua sessão atual do PowerShell.
Execute o comando abaixo para obter uma lista de todos os comandos recentemente executados em sua sessão atual.

Se preferir visualizar comandos específicos do histórico, adicione o parâmetro
-Id
seguido pelo número de ID do comando no histórico. Por exemplo, executeGet-History -Id 2
para ver o segundo comando no histórico.
Exibindo os Serviços do Sistema com Get-Service
Assim como o cmdlet Get-Process
, o PowerShell também permite visualizar todos os serviços em execução em seu sistema. O cmdlet Get-Service
permite visualizar todos os serviços, que podem ser um servidor de banco de dados ou um aplicativo que controla automaticamente o brilho da tela do seu computador.
Execute o comando abaixo para obter uma lista de todos os serviços em seu sistema em formato de tabela. Com este comando, você pode visualizar até mesmo os serviços parados.

Talvez você esteja procurando por serviços que comecem com um caractere específico. Se for o caso, adicionar um caractere curinga (*) fará o truque.
Execute o comando Get-Service
abaixo, passando a primeira letra e o asterisco (A*
) dos serviços que deseja visualizar. Adicionar o caractere curinga permite filtrar todos os serviços que não começam com a letra ‘A’.

Executando Tarefas em Segundo Plano com Start-Job
Escrever códigos pode ser irritante se ainda houver muito para escrever, mas um único comando demora para ser escrito. Sem problemas! O PowerShell fornece um cmdlet para executar tarefas em segundo plano em sua sessão. O cmdlet Start-Job
oferece um ambiente do PowerShell para executar código ou comandos como uma tarefa em segundo plano sem interação do usuário.
Execute o comando Start-Job
abaixo para iniciar uma tarefa em segundo plano para o cmdlet Get-Command
. Iniciar uma tarefa em segundo plano executa o cmdlet Get-Command
sem exibir a saída na linha de comando.

Dado que você está usando tarefas em segundo plano, como verificar se uma tarefa ainda está em execução ou concluída? Execute o cmdlet
Get-Job
para obter todas as tarefas em sua sessão.
Alterando Diretórios de Trabalho com Set-Location
Há momentos em que você precisa mudar de diretórios, como quando está executando um script ou um programa de um local específico. Mas como você muda de diretórios? Deixe o cmdlet Set-Location
ajudar você com isso. O cmdlet Set-Location
define o diretório de trabalho atual para o diretório que você especificar em um comando.
Execute o código abaixo para definir o diretório de trabalho atual para C:\Users\hp\Desktop. Mude hp
pelo nome de usuário do seu computador.
Abaixo, você pode ver no prompt que C:\Users\hp\Desktop agora é o diretório de trabalho.

Verificando se Caminhos Existem via Test-Path
O PowerShell pode exibir um bug se você estiver tentando acessar um arquivo que não existe. Como evitar isso? O cmdlet Test-Path
permite que você verifique se um caminho existe ou não, com sua sintaxe intuitiva.
Agora, crie uma pasta na Área de Trabalho, nomeando-a NewFolder.
Execute o comando Test-Path
abaixo, seguido pelo caminho que você preferir testar. Para este exemplo, o comando testa se o caminho C:\Users\hp\Desktop\NewFolder existe.
Abaixo, você pode ver o comando retornou um valor True já que o caminho existe. Caso contrário, você receberá uma saída Falsa.

Convertendo Objeto PowerShell para HTML com ConvertTo-HTML
Se você prefere uma forma organizada para seus dados, converta seus dados para HTML com o ConvertTo-Html
cmdlet. Fundamentalmente, o comando recebe como entrada o arquivo de saída que você deseja converter e o nome do arquivo que deseja salvar.
Execute o comando abaixo para coletar a lista de todos os comandos do PowerShell (Get-Command
) em memória e converter (ConvertTo-Html
) a lista para um arquivo HTML nomeado Command.html
.
O arquivo HTML é salvo em sua Área de Trabalho já que você anteriormente mudou o diretório de trabalho. Para salvar o arquivo HTML em outra localização, especifique o caminho completo. Por exemplo:
Get-Command | ConvertTo-HTML > C:\Temp\Comandos.html
Exportando Objetos PowerShell para CSV com Export-CSV
Se você acha que um relatório em CSV seria melhor em vez de HTML, então use o cmdlet Export-CSV
. Semelhante ao cmdlet ConvertTo-Html
, o cmdlet Export-CSV
permite exportar dados para um arquivo CSV.
Execute o comando abaixo para coletar uma lista de comandos do PowerShell (Get-Command
) e exportar a lista como um arquivo CSV (Export-CSV
) chamado Commands.csv
.
Assim como no cmdlet ConvertTo-Html, você também pode especificar um caminho de exportação para o arquivo CSV desta forma:
Get-Command | Export-CSV C:\Temp\Commands.csv
Abra o arquivo Commands.csv e você verá algo semelhante ao exemplo abaixo. Não é ruim, né?

Visualizando Todos os Comandos Disponíveis do PowerShell com Get-Command
O último comando do PowerShell na lista é o cmdlet Get-Command
. O cmdlet Get-Command
lista basicamente todos os comandos do PowerShell disponíveis em um formato de tabela. Mas como você viu nos exemplos anteriores, você sabe que o Get-Command
pode fazer mais do que isso.
Talvez você queira listar os cmdlets ou os aliases seletivamente. Se for o caso, adicione o parâmetro -CommandType
ao cmdlet Get-Command
para filtrar a saída pelo tipo de comando que você especificar. O valor do parâmetro -CommandType
pode ser Alias
, Cmdlet
ou Function
.
Execute o comando Get-Command
abaixo para listar apenas os cmdlets (-CommandType Cmdlet
) com nomes que começam com ‘G’ (-Name G*
).

Outra maneira de filtrar a saída do Get-Command
é encaminhá-la para o cmdlet Select-Object
. Como você sabe, o objeto retornado pelo cmdlet Get-Command
está em formato de tabela. Nessa tabela, os nomes das colunas representam as propriedades que você pode selecionar do objeto.
Execute o comando Get-Command
abaixo para coletar uma lista de todos os comandos do PowerShell e filtrar a exibição para mostrar a propriedade de definição de cada comando (Select-Object -Property Definition
).

Conclusão
Este tutorial ofereceu a você um guia completo sobre como executar comandos básicos do PowerShell. Neste momento, você deve saber como encadear e executar comandos extensivamente e evitar ficar preso na codificação a qualquer momento.
Agora, como você vai expandir esse conhecimento recém-adquirido? Talvez aprender a escrever comandos em várias linhas em scripts do PowerShell sem bagunçar as coisas?
Source:
https://adamtheautomator.com/basic-powershell-commands/