Principais comandos do Windows PowerShell que uso com frequência e seus benefícios

Principais comandos do Windows PowerShell que uso com frequência e seus benefícios

O PowerShell é amplamente reconhecido como uma ferramenta essencial para administradores de TI com foco em scripts e automação. No entanto, seus recursos robustos vão muito além do setor de TI, tornando-o inestimável para quem lida com arquivos e diretórios desorganizados. Pessoalmente, utilizo comandos do PowerShell para analisar códigos desatualizados, estruturar arquivos de clientes e mitigar a desordem acumulada após meses de projetos acelerados e com prazos apertados.

Como um poderoso shell de linha de comando e plataforma de script, o PowerShell simplifica uma variedade de tarefas. Embora versões anteriores do Windows apresentassem um aplicativo PowerShell independente, os usuários agora preferem o Terminal do Windows para executar ambientes de shell — incluindo PowerShell e Prompt de Comando — graças à sua versatilidade e interface moderna.

Todos os comandos podem ser executados tanto no aplicativo PowerShell dedicado quanto no Terminal do Windows. Para começar a usá-los, basta abrir uma aba do PowerShell no Terminal do Windows.

1.Obtenha ajuda

Comando Obter ajuda no PowerShell

Quando explorei o PowerShell pela primeira vez por meio de tutoriais do YouTube, um comando frequentemente destacado pelos usuários era Get-Help. Este comando serve como um recurso introdutório, permitindo acessar informações detalhadas sobre qualquer cmdlet do PowerShell, juntamente com sua sintaxe, parâmetros e exemplos de uso.

Para recuperar informações específicas sobre um comando, digite:

Get-Help Get-Process

Isso exibirá a sinopse do comando, detalhes de sintaxe e parâmetros de entrada. Para mais informações, adicione o parâmetro -Examples :

Get-Help Get-Process -Examples

Além disso, você pode consultar a documentação oficial da Microsoft usando a opção -Online :

Get-Help Get-Process -Online

Este comando direciona você ao site da Microsoft para obter documentação abrangente sobre comandos.

2.Obter-Comando

Comando Obter comando no PowerShell

Enquanto o Get-Help se concentra em fornecer informações sobre cmdlets, o Get-Command é essencial para localizar e listar todos os comandos disponíveis. Se você sabe qual função deseja executar, mas não se lembra do nome do comando, basta utilizar o Get-Command para pesquisar comandos com base em nomes parciais ou padrões.

Por exemplo, para encontrar todos os comandos que contêm a palavra process, digite:

Get-Command *process*

Este comando revela todos os comandos que incluem “process” no nome. Você pode refinar ainda mais sua busca com base nos tipos de comando, como se você quisesse apenas cmdlets:

Get-Command -Name Get* -CommandType Cmdlet

Além disso, para pesquisas específicas de módulos, como aquelas relacionadas à rede:

Get-Command -Module NetTCPIP

Usar Get-Command é significativamente mais eficiente do que pesquisar nomes de comandos na web.

3.Teste-NetConnection

Comando Test-NetConnection PowerShell

Você costuma alternar entre várias ferramentas, como ping, telnet e traceroute? O cmdlet Test-NetConnection consolida essas funcionalidades em uma só. Este cmdlet é crucial para a solução de problemas de rede, pois ajuda a diagnosticar se o problema tem origem na sua rede, no servidor ou em outras fontes.

Para determinar se um site é acessível, execute:

Test-NetConnection makeuseof.com

Este comando fornece resultados de ping e informações básicas de conectividade. Para testar uma porta específica, incorpore o número da porta ao comando:

Test-NetConnection server.company.com -Port 443

Para rastreamento detalhado do caminho da rede, use o parâmetro -TraceRoute :

Test-NetConnection 8.8.8.8 -TraceRoute

Este comando envia pacotes de teste para 8.8.8.8 enquanto rastreia os saltos entre seu computador e o destino, ajudando você a identificar quaisquer problemas de conexão.

4.Obter-ItemFilho

Comando Get-ChildItem do PowerShell

O cmdlet Get-ChildItem permite visualizar arquivos e pastas em qualquer diretório especificado. Por exemplo, para listar o conteúdo da pasta Documentos, basta inserir:

Get-ChildItem C:\Users\Username\Documents

Para identificar arquivos PDF modificados na última semana, use o seguinte comando:

Get-ChildItem C:\Users\YourName\Documents -Filter *.pdf | Where-Object {$_. LastWriteTime -gt (Get-Date).AddDays(-7)}

O parâmetro -Recurse permite pesquisar em todas as subpastas. Se você quiser localizar todos os arquivos de log na sua pasta Projetos e seus subdiretórios:

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

Se houver pouco espaço em disco, você poderá identificar arquivos grandes que excedam 1 GB:

Get-ChildItem C:\ -Recurse -File | Where-Object {$_. Length -gt 1GB} | Select-Object FullName, @{Name="SizeGB";Expression={$_. Length/1GB}}

O cmdlet Get-ChildItem é um poderoso aliado para automatizar tarefas em lote, organização de arquivos e auditorias.

5.Objeto Onde

Comando Where-Object no PowerShell

No exemplo anterior, o uso de Where-Object destaca sua funcionalidade na filtragem de dados com base em critérios de propriedade específicos — operando de forma comparável a instruções condicionais em programação. A sintaxe entre chaves permite a representação de cada item em avaliação.

Para visualizar todos os serviços em execução, insira o seguinte:

Get-Service | Where-Object {$_. Status -eq "Running"}

Se você estiver interessado em processos que consomem mais de 100 MB de memória, tente:

Get-Process | Where-Object {$_. WorkingSet -gt 100MB}

Também é possível combinar várias condições. Por exemplo, para localizar documentos grandes do Word modificados no último mês:

Get-ChildItem -Filter *.docx | Where-Object {$_. Length -gt 5MB -and $_. LastWriteTime -gt (Get-Date).AddMonths(-1)}

Organize condições complexas em várias linhas para melhorar a legibilidade do script:

Get-ChildItem | Where-Object { $_. Length -gt 1MB -and $_. Extension -eq ".log"}

6.Selecionar-Objeto

Comando Select-Object no PowerShell

Frequentemente, a saída dos comandos é mais extensa do que o necessário. O cmdlet Select-Object permite filtrar apenas os dados pertinentes, que podem ser exportados para um arquivo CSV usando o cmdlet Export-Csv. Por exemplo, se você deseja ver apenas os nomes e status dos serviços:

Get-Service | Select-Object Name, Status

Se seu objetivo é identificar os cinco principais processos que consomem mais CPU, execute:

Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU

Além disso, você pode criar propriedades calculadas. Para exibir tamanhos de arquivo em megabytes em vez de bytes:

Get-ChildItem | Select-Object Name, @{Name="SizeMB";Expression={$_. Length/1MB}}

Para extrair um único valor de propriedade, utilize o parâmetro -ExpandProperty :

Get-Process notepad | Select-Object -ExpandProperty Id

Este comando produz apenas o ID do processo, o que pode ser particularmente útil ao direcionar para comandos adicionais que exigem um único valor.

7.Obter membro

Comando Get-Member no PowerShell

O PowerShell opera principalmente por meio de objetos, e o cmdlet Get-Member revela suas propriedades e métodos associados. Por exemplo, ao recuperar informações sobre um processo, você pode verificar seu tamanho, data de criação e outras métricas. Use o seguinte comando para visualizar os atributos dentro de um objeto de processo:

Get-Process | Get-Member

Isso listará propriedades como CPU, Id e WorkingSet, além de métodos como Kill() e Refresh().Se desejar ver apenas as propriedades, você pode especificar:

Get-Process | Get-Member -MemberType Property

Para operações relacionadas a arquivos:

Get-ChildItem C:\temp\test.txt | Get-Member

Isso exibe detalhes como Length e LastWriteTime, juntamente com métodos como Delete() e MoveTo().Você pode filtrar arquivos por tamanho usando Length ou identificar arquivos modificados recentemente com base em LastWriteTime.

8.Definir-Área de Transferência e Obter-Área de Transferência

Comando Set-Clipboard no PowerShell

Se você se deparar com uma saída enorme do PowerShell que exija cópia, selecionar manualmente pode ser trabalhoso. No entanto, Set-Clipboard e Get-Clipboard simplificam significativamente esse processo.

Para copiar os resultados do comando para sua área de transferência, insira:

Get-Process | Select-Object Name, CPU | Set-Clipboard

Isso permite que você cole os resultados no Excel ou em qualquer editor de texto com facilidade. Por outro lado, para recuperar o conteúdo da área de transferência no PowerShell, basta executar:

$text = Get-Clipboard

Este recurso é particularmente útil ao processar listas. Por exemplo, você pode copiar um intervalo de nomes de computadores do Excel e, em seguida, executar:

Get-Clipboard | ForEach-Object { Test-NetConnection $_ }

Este comando testa a conectividade com cada nome de computador listado. A integração perfeita entre o PowerShell e outros aplicativos acelera consideravelmente as tarefas repetitivas.

9.Fora da Grade

Comando Out-GridView no PowerShell

Há momentos em que a classificação e a filtragem interativas dos resultados são necessárias. O cmdlet Out-GridView abre uma janela separada com um formato de tabela classificável e pesquisável.

Get-Process | Out-GridView

Esta ação abre uma nova janela exibindo uma lista de processos atuais em uma interface de grade. Clique nos cabeçalhos das colunas para classificar ou filtre por palavra-chave no campo de busca. Para selecionar itens da grade e passá-los para outro comando, utilize:

Get-Service | Out-GridView -PassThru | Restart-Service

Com o parâmetro -PassThru, você pode selecionar várias linhas e executar ações, como reiniciar apenas os serviços escolhidos.

Para análise de log, você também pode aplicar:

Get-EventLog -LogName Application -Newest 1000 | Out-GridView

Isso permite uma filtragem rápida de eventos por entrada de palavra-chave, classificação por tempo e revelação de padrões dentro do conjunto de dados.

10.Obter-Processo

Comando Get-Process explorer PowerShell

O cmdlet Get-Process exibe todos os aplicativos em execução no seu computador, fornecendo insights sobre o uso de memória, tempo de CPU e IDs de processo.

Para listar todos os processos ativos no momento, execute:

Get-Process

Se você estiver procurando por um aplicativo específico, como o Google Chrome, basta especificar:

Get-Process chrome

Se você precisar encerrar um programa que não responde, você pode encadear comandos da seguinte forma:

Get-Process notepad | Stop-Process

Para identificar processos que consomem recursos de memória substanciais, implemente:

Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

Este comando oferece uma visão geral rápida de programas que consomem muita memória quando o desempenho do sistema fica lento.

Fonte e Imagens

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *