O PowerShell possui um sistema de ajuda integrado que é uma das suas ferramentas mais poderosas para aprendizado e produtividade. Em vez de depender de pesquisas externas, você pode acessar documentação detalhada, exemplos e parâmetros de qualquer cmdlet diretamente no console. Nesta aula, vamos explorar os principais cmdlets relacionados à ajuda: Get-Help, Update-Help e Get-Command. Dominar esses comandos é essencial para se tornar proficiente em PowerShell, pois permite descobrir e entender rapidamente como usar qualquer funcionalidade.

O sistema de ajuda do PowerShell é baseado em arquivos de ajuda instalados localmente ou disponíveis online. Por padrão, a ajuda pode não estar totalmente instalada, mas você pode baixá-la com um comando simples. Vamos começar com o cmdlet mais importante: Get-Help.

Get-Help

O cmdlet Get-Help exibe informações de ajuda sobre cmdlets, funções, scripts e outros conceitos do PowerShell. É o equivalente ao man do Linux ou help do CMD, mas muito mais rico. Você pode usá-lo de várias formas:

  • Básico: Get-Help Get-Process mostra a sinopse, sintaxe e descrição.
  • Detalhado: Get-Help Get-Process -Detailed adiciona descrições de parâmetros e exemplos.
  • Completo: Get-Help Get-Process -Full inclui informações técnicas, como tipos de entrada e saída.
  • Exemplos: Get-Help Get-Process -Examples mostra apenas exemplos práticos.
  • Parâmetros: Get-Help Get-Process -Parameter Name foca em um parâmetro específico.
  • Online: Get-Help Get-Process -Online abre a documentação mais recente no navegador.

Se a ajuda não estiver instalada localmente, o PowerShell pode exibir uma mensagem sugerindo usar Update-Help. Você também pode usar curingas: Get-Help *process* lista todos os tópicos que contêm "process".

Exemplo prático:

# Obter ajuda básica sobre Get-Service
Get-Help Get-Service

# Exibir ajuda detalhada
Get-Help Get-Service -Detailed

# Mostrar apenas exemplos
Get-Help Get-Service -Examples

Update-Help

O cmdlet Update-Help baixa e instala os arquivos de ajuda mais recentes do PowerShell do módulo Microsoft.PowerShell.Core e de outros módulos. Sem a ajuda local atualizada, Get-Help pode mostrar apenas informações básicas ou sugerir o uso de -Online. Para garantir que você tenha a documentação completa offline, execute:

# Atualizar ajuda para todos os módulos
Update-Help

Você pode especificar módulos individuais com o parâmetro -Module:

# Atualizar apenas o módulo ActiveDirectory (se instalado)
Update-Help -Module ActiveDirectory

Para forçar a atualização mesmo que os arquivos estejam atualizados, use -Force. Se a sua máquina não tiver acesso à internet, você pode usar Save-Help em uma máquina com internet e depois Update-Help -SourcePath para instalar a partir de um caminho local.

Observação: A primeira execução do Update-Help pode demorar um pouco, pois baixa toda a documentação. Execute como administrador se houver restrições de permissão.

# Exemplo: Atualizar ajuda com força
Update-Help -Force

Exemplos (-Examples)

O parâmetro -Examples do Get-Help é uma das maneiras mais rápidas de aprender como usar um cmdlet. Ele exibe apenas os exemplos práticos, sem a teoria. Cada exemplo mostra o comando, uma descrição e a saída esperada.

Por exemplo, para ver como usar Get-ChildItem (equivalente ao dir):

Get-Help Get-ChildItem -Examples

Isso exibirá exemplos como:

-------------------------- Exemplo 1: Obter itens do diretório atual --------------------------
PS C:\> Get-ChildItem

    Diretório: C:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        01/01/2023     10:00                Pasta1
-a----        01/01/2023     10:00           1234 arquivo.txt

Use -Examples sempre que quiser ver rapidamente como aplicar um cmdlet. É um recurso didático excelente para iniciantes e especialistas.

Get-Command

O cmdlet Get-Command descobre todos os comandos disponíveis no PowerShell: cmdlets, funções, aliases, scripts e aplicativos. Ele é fundamental para explorar o que você pode fazer. Exemplos de uso:

  • Listar todos os comandos: Get-Command (pode ser extenso).
  • Filtrar por nome: Get-Command *service* encontra comandos com "service" no nome.
  • Filtrar por tipo: Get-Command -CommandType Cmdlet mostra apenas cmdlets.
  • Filtrar por módulo: Get-Command -Module Microsoft.PowerShell.Management.
  • Obter sintaxe detalhada: Get-Command Get-Process -Syntax exibe a sintaxe completa.
  • Encontrar um comando por verbo: Get-Command -Verb Get lista todos os comandos que começam com "Get-".

Exemplo prático:

# Listar todos os cmdlets que começam com "Set"
Get-Command -Verb Set -CommandType Cmdlet

# Mostrar a sintaxe de um comando específico
Get-Command Set-ExecutionPolicy -Syntax

Combine Get-Command com Get-Help para aprender rapidamente qualquer comando. Por exemplo, Get-Command *process* | Get-Help exibe ajuda para todos os comandos relacionados a processo.

Boas práticas

  • Sempre mantenha a ajuda atualizada com Update-Help periódico.
  • Use -Examples para ver exemplos antes de ler a documentação completa.
  • Use Get-Command com filtros para descobrir comandos relevantes.
  • Prefira Get-Help -Online quando precisar da documentação mais recente.
  • Considere criar aliases para comandos de ajuda frequentes, como Set-Alias gh Get-Help.

Referências

Exercícios

  1. Use Get-Help para exibir a ajuda detalhada do cmdlet Get-ChildItem. Qual é a descrição do parâmetro -Recurse?
  2. ✓ Resposta: Execute Get-Help Get-ChildItem -Detailed e procure a descrição do parâmetro -Recurse. A descrição é: "Obtém os itens no local especificado e em todos os itens filhos dos contêineres." (ou similar em português).
  3. Atualize a ajuda local do PowerShell usando Update-Help. Se já estiver atualizada, use -Force. Qual foi a saída do comando?
  4. ✓ Resposta: Execute Update-Help -Force. A saída típica mostra uma lista de módulos sendo atualizados, com informações de versão e status. Exemplo: "Atualizando ajuda para o módulo Microsoft.PowerShell.Core".
  5. Use Get-Help com o parâmetro -Examples para o cmdlet Select-Object. Quantos exemplos são exibidos?
  6. ✓ Resposta: Execute Get-Help Select-Object -Examples. Normalmente são exibidos 6 exemplos (dependendo da versão). O número exato pode variar, mas geralmente entre 5 e 7.
  7. Encontre todos os cmdlets que possuem o verbo Invoke usando Get-Command. Liste três deles.
  8. ✓ Resposta: Execute Get-Command -Verb Invoke. Exemplos comuns: Invoke-Command, Invoke-Expression, Invoke-WebRequest.
  9. Use Get-Help para abrir a ajuda online do cmdlet Get-Process. Qual URL é aberta no navegador?
  10. ✓ Resposta: Execute Get-Help Get-Process -Online. A URL típica é: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-process.