Get-Command
Obtém informações básicas sobre os cmdlets e outros elementos de comandos do Windows PowerShell.
Sintaxe
Get-Command [[-Name] <string[]>] [-CommandType {<Alias> | <Function> | <Filter> | <Cmdlet> | <ExternalScript> | <Application> | <Script> | <All>}] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Sintaxe] [-TotalCount <int>] [<CommonParameters>]
Get-Command [-Noun <string[]>] [-Verb <string[]>] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Sintaxe] [-TotalCount <int>] [<CommonParameters>]
Descrição
O cmdlet Get-Command obtém informações básicas sobre cmdlets e outros elementos de comandos do Windows PowerShell na sessão, como alias, funções, filtros, scripts a aplicativos.
Get-Command obtém seus dados diretamente do código de um cmdlet, função, script ou alias, diferentemente de Get-Help, que obtém suas informações de arquivos de tópico de ajuda.
Sem parâmetros, "Get-Command" obtém todos os cmdlets e funções na sessão atual. "Get-Command *" obtém todos os elementos do Windows PowerShell e todos os arquivos que não são do Windows PowerShell na variável de ambiente Path ($env:path). Ele agrupa os arquivos no tipo de comando "Application".
Você pode usar o parâmetro Module de Get-Command para localizar os comandos que foram adicionados à sessão, adicionando um snap-in do Windows PowerShell ou importando um módulo.
Parâmetros
-ArgumentList <Object[]>
Obtém informações sobre um cmdlet ou função quando ele é usado com os parâmetros especificados ("argumentos"), como um caminho. O alias para ArgumentList é Args.
Para detectar parâmetros que são adicionados a um cmdlet quando ele é usado com um provedor específico, defina o valor de ArgumentList como um caminho na unidade do provedor, como "HKML\Software" ou "cert:\my".
Necessário? |
false |
Posição? |
2 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-CommandType <CommandTypes>
Obtém apenas os tipos especificados de comandos. Use "CommandType" ou seu alias, "Type". Por padrão, Get-Command obtém cmdlets e funções.
Os valores válidos são:
-- Alias: todos os aliases do Windows PowerShell da sessão atual.
-- All: todos os tipos de comandos. Equivale a "get-command *".
-- Application: todos os arquivos que não pertencem ao Windows PowerShell em caminhos listados na variável de ambiente Path ($env:path), incluindo arquivos .txt, .exe. e .dll.
-- Cmdlet: cmdlets da sessão atual. "Cmdlet" é o padrão.
-- ExternalScript: todos os arquivos .ps1 nos caminhos listados na variável de ambiente Path ($env:path).
-- Filter e Function: todas as funções do Windows PowerShell.
-- Script: bloqueios de script na sessão atual.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Module <string[]>
Obtém os comandos que vieram dos módulos ou snap-ins especificados. Insira os nomes dos módulos ou snap-ins ou insira os objetos de snap-in ou módulo.
Você pode referir-se a esse parâmetro por seu nome, Module, ou seu alias, PSSnapin. O nome de parâmetro escolhido não tem efeito sobre o comando ou sua saída.
Esse parâmetro assume valores da cadeia de caracteres, mas você também pode fornecer um objeto PSModuleInfo ou PSSnapinInfo, como os objetos retornados por Get-Module, Get-PSSnapin e Import-PSSession.
Necessário? |
false |
Posição? |
named |
Valor padrão |
Nenhum |
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Name <string[]>
Obtém informações somente sobre os cmdlets ou elementos de comando com o nome especificado. <String> representa o nome do cmdlet ou do elemento de comando no todo ou em parte. Os caracteres curinga são permitidos.
Para listar comandos com o mesmo nome em ordem de execução, digite o nome do comando sem caracteres curinga. Para obter mais informações, consulte a seção Observações.
Necessário? |
false |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue, ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Noun <string[]>
Obtém cmdlets e funções com nomes que incluem o substantivo especificado. <String> representa um ou mais substantivos ou padrões de substantivos, como "process" ou "*item*". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Sintaxe
Obtém apenas dados especificados sobre o elemento de comando.
* Para aliases, recupera o nome padrão.
* Para cmdlets, recupera a sintaxe.
* Para funções e filtros, recupera a definição da função.
* Para scripts e aplicativos (arquivos), recupera o caminho e o nome do arquivo.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-TotalCount <int>
Obtém apenas o número especificado de elementos de comando. Você pode usar esse parâmetro para limitar a saída de um comando.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Verb <string[]>
Obtém informações sobre cmdlets e funções com nomes que incluem o verbo especificado. <String> representa um ou mais verbos ou padrões de verbos, como "remove" ou *et". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.String Você pode canalizar uma propriedade nominal "Name", "Command" e "Verb" especificada ou um objeto de cadeia de caracteres para Get-Command. |
Saídas |
Object O tipo de objeto retornado depende do tipo de elemento de comando recuperado. Por exemplo, Get-Command em um cmdlet recupera um objeto CmdletInfo, enquanto Get-Command em uma DLL recupera um objeto ApplicationInfo. |
Observações
Sem parâmetros, "Get-Command" obtém informações sobre os cmdlets e funções do Windows PowerShell. Utilize os parâmetros para qualificar os elementos recuperados.
Diferentemente de Get-Help, que exibe o conteúdo de arquivos de tópicos de ajuda baseados em XML, Get-Command obtém informações de cmdlet diretamente do código de cmdlet no sistema.
Por padrão, Get-Command retorna os comandos em ordem alfabética. Quando a sessão contiver mais de um comando com o mesmo nome, Get-Command retornará os comandos em ordem de execução. O primeiro comando listado é aquele executado quando você digita o nome do comando sem qualificação. Para obter mais informações, consulte about_Command_Precedence.
Exemplo 1
C:\PS>get-command
Descrição
-----------
Esse comando obtém informações sobre todos os cmdlets e funções do Windows PowerShell.
A exibição padrão lista o tipo de comando ("Cmdlet" ou "Function" ou "Filter"), o nome do cmdlet ou a função e a sintaxe ou definição de função.
Exemplo 2
C:\PS>get-command -verb set | format-list
Descrição
-----------
Esse comando obtém informações sobre todos os cmdlets e funções com o verbo "set" e exibe algumas dessas informações em uma lista.
O formato da lista inclui campos que são omitidos da exibição da tabela, incluindo a sintaxe completa. Para exibir todos os campos (todas as propriedades do objeto), digite "get-command -verb set | format-list *".
Exemplo 3
C:\PS>get-command -type cmdlet | sort-object noun | format-table -group noun
Descrição
-----------
Esse comando recupera todos os cmdlets, classifica-os em ordem alfabética pelo substantivo no nome do cmdlet e, em seguida, exibe-os em grupos baseados no
substantivo. Essa exibição pode ajudar a localizar os cmdlets de uma tarefa.
Por padrão, Get-Command exibe itens na ordem em que o sistema os descobre, que é também a ordem em que eles são selecionados para execução quando um comando run é ambíguo.
Exemplo 4
C:\PS>get-command -module Microsoft.PowerShell.Security, TestModule
Descrição
-----------
Esse comando obtém os comandos no snap-in Microsoft.PowerShell.Security e no módulo Test-Module.
O parâmetro Module obtém comandos que foram adicionados por meio da importação de módulos ou inclusão de snap-ins do Windows PowerShell.
Exemplo 5
C:\PS>get-command get-childitem -args cert: -syntax
Descrição
-----------
Esse comando recupera informações sobre o cmdlet Get-ChildItem quando Get-ChildItem é utilizado com o provedor Certificate do Windows PowerShell.
Ao comparar a sintaxe exibida na saída com a sintaxe exibida quando se omite o parâmetro Args (ArgumentList), você vê que o provedor Certificate adiciona dinamicamente um parâmetro, CodeSigningCert, ao cmdlet Get-ChildItem.
Exemplo 6
C:\PS>(get-command get-childitem -ArgumentList cert:).parametersets[0].parameters | where-object { $_.IsDynamic }
Descrição
-----------
Esse comando recupera apenas parâmetros que são adicionados ao cmdlet Get-ChildItem dinamicamente quando ele é utilizado com o provedor Certificate do Windows PowerShell. Esta é uma alternativa para o método utilizado no exemplo anterior.
Nesse comando, o "get-command get-childitem -ArgumentList cert:" é processado primeiro. Ele solicita informações de Get-Command sobre o cmdlet Get-ChildItem quando ele é utilizado com o provedor Certificate. O ".parametersets[0]" seleciona o primeiro conjunto de parâmetros (set 0) de "get-childitem -argumentList cert:" e ".parameters" seleciona os parâmetros contidos nesse conjunto de parâmetros. Os parâmetros resultantes são canalizados para o cmdlet Where-Object para testar cada parâmetro ("$_.") utilizando a propriedade IsDynamic. Para localizar as propriedades dos objetos em um comando, use Get-Member.
Exemplo 7
C:\PS>get-command *
Descrição
-----------
Esse comando obtém informações sobre os cmdlets, as funções, os filtros, os scripts e os aliases do Windows PowerShell no console atual.
Ele também obtém informações sobre todos os arquivos nos caminhos da variável de ambiente Path ($env:path). Ele retorna um objeto ApplicationInfo (System.Management.Automation.ApplicationInfo) para cada arquivo, não um objeto FileInfo (System.IO.FileInfo).
Exemplo 8
C:\PS>get-command | where-object {$_.definition -like "*first*"}
CommandType Name Definition
----------- ---- ---------
Cmdlet Select-Object Select-Object [[-Property]
Descrição
-----------
Esse comando localiza um cmdlet ou uma funciona com base no nome de um de seus parâmetros. Você pode usar esse comando para identificar um cmdlet ou uma função quando tudo o que é possível recuperar é o nome de um de seus parâmetros.
Nesse caso, você recupera a informação de que um dos cmdlets ou funções tem um parâmetro First que obtém os primeiros "n" objetos em uma lista, mas não consegue se lembrar de qual é o cmdlet.
Esse comando usa o cmdlet Get-Command para obter um objeto CmdletInfo que representa cada um dos cmdlets e funções na sessão. O objeto CmdletInfo tem uma propriedade Definition que contém a sintaxe do cmdlet ou da função, que inclui seus parâmetros.
O comando usa um operador de pipeline (|) para transmitir o objeto CmdletInfo para o cmdlet Where-Object, que examina a definição (sintaxe) de cada objeto ($_) para um valor que inclui "first".
O resultado mostra que o parâmetro First pertence ao cmdlet Select-Object.
Exemplo 9
C:\PS>get-command dir | format-list
Name : dir
CommandType : Alias
Definition : Get-ChildItem
ReferencedCommand : Get-ChildItem
ResolvedCommand : Get-ChildItem
Descrição
-----------
Esse exemplo mostra como usar o cmdlet Get-Command com um alias. Embora seja normalmente usado em cmdlets, Get-Command também exibe informações sobre o código em scripts, funções, aliases e arquivos executáveis.
Esse comando exibe o alias "dir" no console atual. O comando canaliza o resultado para os cmdlets Format-List.
Exemplo 10
C:\PS>get-command notepad
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE
Descrição
-----------
Esse exemplo mostra como usar Get-Command para determinar que comando o Windows PowerShell executa quando tem acesso a vários comandos com o mesmo nome. Quando você usa o parâmetro Name sem caracteres curinga, Get-Command lista os comandos com esse nome em ordem de precedência de execução.
Esse comando mostra qual programa Notepad o Windows PowerShell executa quando você digita "Notepad" sem um caminho totalmente qualificado. O comando usa o parâmetro Name sem caracteres curinga.
A saída de exemplo mostra os comandos do Bloco de Notas no console atual. Ele indica que o Windows PowerShell executará a instância do Notepad.exe no diretório C:\Windows\System32.
Exemplo 11
C:\PS>(get-command get-date).pssnapin
C:\PS> (get-command remove-gpo).module
Descrição
-----------
Esses comandos mostram como localizar o snap-in ou módulo no qual um cmdlet específico teve origem.
O primeiro comando usa a propriedade PSSnapin do objeto CmdletInfo para localizar o snap-in que adicionou o cmdlet Get-Date.
O segundo comando usa a propriedade Module do objeto CmdletInfo para localizar o módulo que adicionou o cmdlet Remove-GPO.
Consulte também
Conceitos
about_Command_Precedence
Get-Help
Get-PSDrive
Get-Member
Import-PSSession
Export-PSSession