O cmdlet Get-Command do Windows PowerShell recupera os nomes de todos os comandos disponíveis. Quando você digita Get-Command em um prompt do Windows PowerShell, vê uma saída semelhante a esta:

PS> Get-Command
CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Add-Content                     Add-Content [-Path] <String[...
Cmdlet          Add-History                     Add-History [[-InputObject] ...
Cmdlet          Add-Member                      Add-Member [-MemberType] <PS...
... 

Essa saída se parece muito com a saída da Ajuda do Cmd.exe: uma tabela de resumo dos comandos internos. No trecho da saída do comando Get-Command mostrado acima, todos os comandos mostrados têm um CommandType igual a Cmdlet. Um Cmdlet é um tipo de comando intrínseco do Windows PowerShell que corresponde aproximadamente aos comandos dir e cd do Cmd.exe e a comandos internos de shells do UNIX, como BASH.

Na saída do comando Get-Command, todas as definições terminam com reticências (...) para indicar que o PowerShell não consegue exibir todo o conteúdo no espaço disponível. Quando o Windows PowerShell exibe uma saída, ele a formata como texto e a organiza para que os dados caibam na janela. Falaremos sobre isso mais adiante, na seção sobre formatadores.

O cmdlet Get-Command tem um parâmetro Syntax que permite recuperar apenas a sintaxe de cada cmdlet. Digite o comando Get-Command -Syntax para exibir a saída completa:

PS> Get-Command -Syntax
Add-Content [-Path] <String[]> [-Value] <Object[]> [-PassThru] [-Filter <String>] [-Include <String[]>] [-Exclude <String[]>] [-Force] [Credential <PSCredential>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm] [-Encoding <FileSystemCmdletProviderEncoding>]

Add-History [[-InputObject] <PSObject[]>] [-Passthru] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>][-OutBuffer <Int32>]...

Exibindo os tipos de comando disponíveis

O comando Get-Command não lista todos os comandos disponíveis no Windows PowerShell. Em vez disso, o comando Get-Command lista somente os cmdlets no shell atual. Na verdade, o Windows PowerShell oferece suporte a vários outros tipos de comandos. Aliases, funções e scripts também são comandos do Windows PowerShell, embora não sejam discutidos em detalhes no Guia do Usuário do Windows PowerShell. Os arquivos externos que são executáveis ou que possuem um manipulador de tipo de arquivo registrado também são classificados como comandos.

Você pode retornar uma lista de todos os itens que podem ser chamados ao digitar o seguinte comando:

PS> Get-Command *

Como essa lista inclui arquivos externos em seu caminho de busca, ela poderá conter milhares de itens. Será mais útil examinar um conjunto reduzido de comandos. Para encontrar comandos nativos de outros tipos, você pode usar o parâmetro CommandType do cmdlet Get-Command. Embora ainda não tenhamos mencionado esses outros tipos de comando, você poderá exibi-los se souber o nome do CommandType de uma classe de comandos.

Observação:

Ainda não discutimos este assunto, mas o asterisco (*) é utilizado na correspondência de curingas nos argumentos de comando do Windows PowerShell. O * significa "ocorrência de um ou mais caracteres". Você pode digitar Get-Command a* para localizar todos os comandos que começam com a letra "a". Ao contrário da correspondência de curingas no Cmd.exe, o curinga do Windows PowerShell também encontrará um ponto.

Para exibir os aliases especiais de categoria de comando (são os apelidos usados como alternativa aos nomes de comando padrão), digite o seguinte comando:

PS> Get-Command -CommandType Alias

Para exibir todas as funções do Windows PowerShell, digite o seguinte comando:

PS> Get-Command -CommandType Function

Para exibir scripts externos no caminho de busca do Windows PowerShell, digite o seguinte comando:

PS> Get-Command -CommandType ExternalScript




Sumário