Você já tentou escrever algum código PowerShell e ficou preso? Não se preocupe mais! Uma das melhores maneiras de se tornar bom em PowerShell é entendendo o básico. Saber 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 PowerShell mais interessante.
Pré-requisitos
Este tutorial será uma demonstração prática, mas não possui muitos pré-requisitos. Se você quiser 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 chefe sem obter ajuda? Bem, sempre haverá uma necessidade de ajuda ao escrever código. Esteja você executando código ou comandos em um ambiente de linha de comando, o cmdlet Get-Help
é ú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 obter 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
Lembra-se do Windows Task Manager que exibe todos os seus processos, serviços, aplicativos e tudo mais? Bom! O cmdlet Get-Process
é um cmdlet básico, mas essencial, que oferece acesso a todos os processos do seu computador em poucos passos, sem 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 o seu computador funcione lentamente, interrompa 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 interromper.
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 recente que você executou 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 no seu sistema. O cmdlet Get-Service
permite visualizar todos os serviços, que podem ser um servidor de banco de dados ou aplicativo que controla automaticamente o brilho da tela do seu computador.
Execute o comando abaixo para obter uma lista de todos os serviços no 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 começam com um caractere específico. Se for o caso, adicionar um caractere curinga (*) resolverá.
Execute o comando Get-Service
abaixo, passando a primeira letra e asterisco (A*
) dos serviços que você deseja visualizar. Adicionar o caractere curinga permite filtrar todos os serviços que não começam com a letra ‘A’.

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

Dado que você está usando trabalhos em segundo plano, como verificar se um trabalho ainda está em execução ou concluído? Execute o cmdlet
Get-Job
para obter todos os trabalhos na sua sessão.
Alterando Diretórios de Trabalho com Set-Location
Existem momentos em que você precisa alterar diretórios, como ao executar um script ou um programa de uma localização específica. Mas como você muda de diretório? Deixe que o cmdlet Set-Location
te ajude com isso. O cmdlet Set-Location
define o diretório de trabalho atual para o diretório que você especifica em um comando.
Execute o código abaixo para definir o diretório de trabalho atual para C:\Users\hp\Desktop. Troque 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 os Caminhos Existem via Test-Path
O PowerShell pode exibir um erro 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 de NewFolder.
Execute o comando Test-Path
abaixo, seguido pelo caminho que você deseja 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 desde que o caminho exista. Caso contrário, você obterá 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 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
) na memória e converter (ConvertTo-Html
) a lista em um arquivo HTML chamado Command.html
.
O arquivo HTML é salvo na sua Área de Trabalho desde que você tenha alterado o diretório de trabalho anteriormente. Para salvar o arquivo HTML em outro local, especifique o caminho completo. Por exemplo:
Get-Command | ConvertTo-HTML > C:\Temp\Commands.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
) nomeado Commands.csv
.
Assim como no cmdlet ConvertTo-Html, você também pode especificar um caminho de exportação para o arquivo CSV assim:
Get-Command | Export-CSV C:\Temp\Commands.csv
Abra o arquivo Commands.csv e você verá algo parecido com o exemplo abaixo. Não é ruim, certo?

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
basicamente lista todos os comandos do PowerShell disponíveis em um formato de tabela. Mas como você viu nos exemplos anteriores, você sabe que não é tudo o que o Get-Command
pode fazer.
Talvez queira listar seletivamente os cmdlets ou os aliases. 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 cmdlets (-CommandType Cmdlet
) com nomes começando 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 lhe deu um guia completo sobre como executar comandos básicos do PowerShell. Agora, você deve saber como encadear extensivamente e executar comandos e evitar ficar preso na codificação a qualquer momento.
Agora, como você expandiria esse conhecimento recém-adquirido? Talvez aprender como escrever comandos de várias linhas em scripts do PowerShell sem bagunçar as coisas?
Source:
https://adamtheautomator.com/basic-powershell-commands/