Get-Command
Obtém todos os comandos.
Sintaxe
CmdletSet (Predefinição)
Get-Command
[[-ArgumentList] <Object[]>]
[-Verb <String[]>]
[-Noun <String[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
AllCommandSet
Get-Command
[[-Name] <String[]>]
[[-ArgumentList] <Object[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Description
O cmdlet Get-Command obtém todos os comandos instalados no computador, incluindo cmdlets, aliases, funções, filtros, scripts e aplicativos.
Get-Command obtém os comandos dos módulos do PowerShell e comandos que foram importados de outras sessões. Para obter apenas comandos que foram importados para a sessão atual, use o parâmetro ListImported.
Sem parâmetros, Get-Command obtém todos os cmdlets, funções e aliases instalados no computador.
Get-Command * obtém todos os tipos de comandos, incluindo todos os arquivos que não são do PowerShell na variável de ambiente Path ($env:Path), que ele lista no tipo de comando Aplicativo.
Get-Command que usa o nome exato do comando, sem caracteres curinga, importa automaticamente o módulo que contém o comando para que você possa usá-lo imediatamente. Para habilitar, desabilitar e configurar a importação automática de módulos, use a variável de preferência $PSModuleAutoLoadingPreference. Para obter mais informações, consulte sobre_Variáveis_de_Preferência.
Get-Command obtém seus dados diretamente do código de comando, ao contrário do Get-Help, que obtém suas informações de tópicos de ajuda.
A partir do Windows PowerShell 5.0, os resultados do cmdlet Get-Command exibem uma coluna Versão por padrão. Uma nova propriedade
Exemplos
Exemplo 1: Obter cmdlets, funções e aliases
Este comando obtém os cmdlets, funções e aliases do PowerShell instalados no computador.
Get-Command
Exemplo 2: Obter comandos na sessão atual
Este comando usa o parâmetro ListImported para obter apenas os comandos na sessão atual.
Get-Command -ListImported
Exemplo 3: Obter cmdlets e exibi-los em ordem
Este comando obtém todos os cmdlets, classifica-os alfabeticamente pelo substantivo no nome do cmdlet e, em seguida, exibe-os em grupos baseados em substantivos. Essa exibição pode ajudá-lo a encontrar os cmdlets para uma tarefa.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Exemplo 4: Obter comandos em um módulo
Este comando usa o parâmetro Module para obter os comandos nos módulos Microsoft.PowerShell.Security e Microsoft.PowerShell.Utility.
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Exemplo 5: Obter informações sobre um cmdlet
Este comando obtém informações sobre o cmdlet Get-AppLockerPolicy. Ele também importa o módulo
Get-Command Get-AppLockerPolicy
Quando um módulo é importado automaticamente, o efeito é o mesmo que usar o cmdlet Import-Module.
O módulo pode adicionar comandos, tipos e arquivos de formatação e executar scripts na sessão. Para ativar, desativar e configurar a importação automática de módulos, use a variável de preferência $PSModuleAutoLoadingPreference. Para obter mais informações, consulte sobre_Variáveis_de_Preferência.
Exemplo 6: Obter a sintaxe de um cmdlet
Este comando usa a ArgumentList
Get-Command Get-Childitem -Args Cert: -Syntax
Ao comparar a sintaxe exibida na saída com a sintaxe exibida quando você omite o parâmetro Args (ArgumentList), você verá que o provedor de certificado adiciona um parâmetro dinâmico, CodeSigningCert, ao cmdlet Get-ChildItem.
Para obter mais informações sobre o provedor de certificado, consulte about_Certificate_Provider.
Exemplo 7: Obter parâmetros dinâmicos
O comando no exemplo usa a função Get-DynamicParameters para obter os parâmetros dinâmicos que o provedor de certificado adiciona ao cmdlet Get-ChildItem quando ele é usado na unidade Cert:.
function Get-DynamicParameters
{
param ($Cmdlet, $PSDrive)
(Get-Command $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique
}
Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:
Name
----
CodeSigningCert
A função Get-DynamicParameters neste exemplo obtém os parâmetros dinâmicos de um cmdlet. Esta é uma alternativa ao método usado no exemplo anterior. O parâmetro dynamic pode ser adicionado a um cmdlet por outro cmdlet ou um provedor.
Exemplo 8: Obter todos os comandos de todos os tipos
Este comando obtém todos os comandos de todos os tipos no computador local, incluindo arquivos executáveis nos caminhos da variável de ambiente Path ($env:path).
Get-Command *
Ele retorna um objeto
Exemplo 9: Obter cmdlets usando um nome
Este comando obtém cmdlets que têm um parâmetro cujo nome inclui Auth e cujo tipo é AuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Você pode usar um comando como este para localizar cmdlets que permitem especificar o método usado para autenticar o usuário.
O parâmetro
Exemplo 10: Obter um alias
Este exemplo mostra como usar o cmdlet Get-Command com um alias.
Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Embora normalmente seja usado em cmdlets e funções, Get-Command também obtém scripts, funções, aliases e arquivos executáveis.
A saída do comando mostra a exibição especial do valor da propriedade Nome
Exemplo 11: Obter todas as instâncias do comando Bloco de Notas
Este exemplo usa o parâmetro All do cmdlet Get-Command para mostrar todas as instâncias do comando "Notepad" no computador local.
Get-Command Notepad -All | Format-Table CommandType, Name, Definition
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE
O parâmetro All é útil quando há mais de um comando com o mesmo nome na sessão.
A partir do Windows PowerShell 3.0, por padrão, quando a sessão inclui vários comandos com o mesmo nome, Get-Command obtém apenas o comando que é executado quando você digita o nome do comando. Com o parâmetro All, Get-Command obtém todos os comandos com o nome especificado e os retorna em ordem de precedência de execução. Para executar um comando diferente do primeiro da lista, digite o caminho totalmente qualificado para o comando.
Para obter mais informações sobre precedência de comando, consulte about_Command_Precedence.
Exemplo 12: Obter o nome de um módulo que contém um cmdlet
Este comando obtém o nome do módulo no qual o cmdlet Get-Date se originou.
O comando usa a propriedade ModuleName de todos os comandos.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Esse formato de comando funciona em comandos em módulos do PowerShell, mesmo que eles não sejam importados para a sessão.
Exemplo 13: Obter cmdlets e funções que têm um tipo de saída
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Este comando obtém os cmdlets e funções que têm um tipo de saída e o tipo de objetos que eles retornam.
A primeira parte do comando obtém todos os cmdlets.
Um operador de pipeline (|) envia os cmdlets para o cmdlet Format-List, que exibe o nome e o tipo de saída de cada cmdlet em uma lista.
A propriedade OutputType de um objeto CommandInfo tem um valor não nulo somente quando o código do cmdlet define o atributo OutputType para o cmdlet.
Exemplo 14: Obter cmdlets que usam um tipo de objeto específico como entrada
Get-Command -ParameterType (((Get-NetAdapter)[0]).PSTypeNames)
CommandType Name ModuleName
----------- ---- ----------
Function Disable-NetAdapter NetAdapter
Function Enable-NetAdapter NetAdapter
Function Rename-NetAdapter NetAdapter
Function Restart-NetAdapter NetAdapter
Function Set-NetAdapter NetAdapter
Este comando localiza cmdlets que usam objetos do adaptador de rede como entrada. Você pode usar esse formato de comando para localizar os cmdlets que aceitam o tipo de objetos retornados por qualquer comando.
O comando usa o PSTypeNames propriedade intrínseca de todos os objetos, que obtém os tipos que descrevem o objeto. Para obter a propriedade
Parâmetros
-All
Indica que esse cmdlet obtém todos os comandos, incluindo comandos do mesmo tipo que têm o mesmo nome. Por padrão, Get-Command obtém apenas os comandos que são executados quando você digita o nome do comando.
Para obter mais informações sobre o método que o PowerShell usa para selecionar o comando a ser executado quando vários comandos têm o mesmo nome, consulte about_Command_Precedence. Para obter informações sobre nomes de comandos qualificados por módulo e comandos em execução que não são executados por padrão devido a um conflito de nomes, consulte about_Modules.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
No Windows PowerShell 2.0, Get-Command recebe todos os comandos por padrão.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-ArgumentList
Especifica uma matriz de argumentos. Este cmdlet obtém informações sobre um cmdlet ou função quando é usado com os parâmetros especificados ("argumentos"). O alias para ArgumentList é Args.
Para detetar parâmetros dinâmicos que estão disponíveis somente quando determinados outros parâmetros são usados, defina o valor de ArgumentList para os parâmetros que acionam os parâmetros dinâmicos.
Para detetar os parâmetros dinâmicos que um provedor adiciona a um cmdlet, defina o valor do parâmetro ArgumentList como um caminho na unidade do provedor, como WSMan:, HKLM:, ou Cert:. Quando o comando for um cmdlet do provedor do PowerShell, insira apenas um caminho em cada comando. Os cmdlets do provedor retornam apenas os parâmetros dinâmicos para o primeiro caminho o valor de ArgumentList. Para obter informações sobre os cmdlets do provedor, consulte about_Providers.
Propriedades dos parâmetros
| Tipo: | Object[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Argumentos |
Conjuntos de parâmetros
(All)
| Position: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-CommandType
Especifica os tipos de comandos que esse cmdlet recebe. Insira um ou mais tipos de comando. Use CommandType ou seu alias, Type. Por padrão, Get-Command obtém todos os cmdlets, funções e aliases.
Os valores aceitáveis para este parâmetro são:
- Pseudônimo. Obtém os aliases de todos os comandos do PowerShell. Para obter mais informações, consulte about_Aliases.
- Todos. Obtém todos os tipos de comando. Este valor de parâmetro é o equivalente a
Get-Command *. - Aplicação. Obtém arquivos que não são do PowerShell em caminhos listados na variável de ambiente Path ($env:path), incluindo arquivos .txt, .exee .dll. Para obter mais informações sobre a variável de ambiente Path, consulte about_Environment_Variables.
- Cmdlet. Obtém todos os cmdlets.
- ExternalScript. Obtém todos os arquivos .ps1 nos caminhos listados na variável de ambiente
Path ($env:path). - Filtro e Função. Obtém todas as funções e filtros avançados e simples do PowerShell.
- Roteiro. Obtém todos os blocos de script. Para obter scripts do PowerShell (.ps1 arquivos), use o valor ExternalScript.
- Fluxo de trabalho. Obtém todos os fluxos de trabalho. Para obter mais informações sobre fluxos de trabalho, consulte Introdução ao fluxo de trabalho do Windows PowerShell.
Propriedades dos parâmetros
| Tipo: | CommandTypes |
| Default value: | None |
| Valores aceites: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Tipo |
Conjuntos de parâmetros
AllCommandSet
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-FullyQualifiedModule
Especifica módulos com nomes especificados na forma de
@{ModuleName = "modulename"; ModuleVersion = "version_number"}@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
ModuleName e ModuleVersion são necessários, mas Guid é opcional.
Não é possível especificar o parâmetro FullyQualifiedModule no mesmo comando que um parâmetro Module. Os dois parâmetros excluem-se mutuamente.
Propriedades dos parâmetros
| Tipo: | ModuleSpecification[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-ListImported
Indica que esse cmdlet recebe apenas comandos na sessão atual.
A partir do PowerShell 3.0, por padrão, Get-Command obtém todos os comandos instalados, incluindo, entre outros, os comandos na sessão atual. No PowerShell 2.0, ele obtém apenas comandos na sessão atual.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Module
Especifica uma matriz de módulos. Este cmdlet obtém os comandos que vieram dos módulos ou snap-ins especificados. Insira os nomes dos módulos ou snap-ins.
Esse parâmetro usa valores de cadeia de caracteres, mas o valor desse parâmetro também pode ser um objeto PSModuleInfo ou objeto de PSSnapinInfo, como os objetos que os cmdlets Get-Module, Get-PSSnapine Import-PSSession retornam.
Você pode se referir a esse parâmetro por seu nome, Module, ou por seu alias, PSSnapin. O nome do parâmetro escolhido não tem efeito na saída do comando.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
| Aliases: | PSSnapin |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Name
Especifica uma matriz de nomes. Este cmdlet obtém apenas comandos que têm o nome especificado. Insira um nome ou padrão de nome. Caracteres coringa são permitidos.
Para obter comandos com o mesmo nome, use o parâmetro All. Quando dois comandos têm o mesmo nome, por padrão, Get-Command obtém o comando que é executado quando você digita o nome do comando.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
AllCommandSet
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Noun
Especifica uma matriz de substantivos de comando. Este cmdlet obtém comandos, que incluem cmdlets, funções e aliases, que têm nomes que incluem o substantivo especificado. Insira um ou mais substantivos ou padrões de substantivos. Caracteres coringa são permitidos.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
CmdletSet
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-ParameterName
Especifica uma matriz de nomes de parâmetros. Este cmdlet obtém comandos na sessão que têm os parâmetros especificados. Insira nomes de parâmetros ou aliases de parâmetros. Caracteres curinga são suportados.
O ParameterName e parâmetros ParameterType comandos de pesquisa somente na sessão atual.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ParameterType
Especifica uma matriz de nomes de parâmetros. Este cmdlet obtém comandos na sessão que têm parâmetros do tipo especificado. Insira o nome completo ou o nome parcial de um tipo de parâmetro. Caracteres curinga são suportados.
O ParameterName e parâmetros ParameterType comandos de pesquisa somente na sessão atual.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades dos parâmetros
| Tipo: | PSTypeName[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ShowCommandInfo
Indica que esse cmdlet exibe informações de comando.
Esse parâmetro foi introduzido no Windows PowerShell 5.0.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Syntax
Indica que esse cmdlet obtém apenas os seguintes dados especificados sobre o comando:
- Pseudónimos. Obtém o nome padrão.
- Cmdlets. Obtém a sintaxe.
- Funções e filtros. Obtém a definição da função.
- Scripts e aplicações ou ficheiros. Obtém o caminho e o nome do arquivo.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-TotalCount
Especifica o número de comandos a obter. Você pode usar esse parâmetro para limitar a saída de um comando.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Verb
Especifica uma matriz de verbos de comando. Este cmdlet obtém comandos, que incluem cmdlets, funções e aliases, que têm nomes que incluem o verbo especificado. Insira um ou mais verbos ou padrões verbais. Caracteres coringa são permitidos.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
CmdletSet
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Você pode canalizar nomes de comando para este cmdlet.
Saídas
CommandInfo
Este cmdlet retorna objetos derivados da classe Get-Command obtém.
AliasInfo
Representa aliases.
ApplicationInfo
Representa aplicativos e arquivos.
CmdletInfo
Representa cmdlets.
FunctionInfo
Representa funções e filtros.
WorkflowInfo
Representa fluxos de trabalho.
Notas
- Quando mais de um comando com o mesmo nome está disponível para a sessão,
Get-Commandretorna o comando que é executado quando você digita o nome do comando. Para obter comandos com o mesmo nome, listados em ordem de execução, use o parâmetro All. Para obter mais informações, consulte about_Command_Precedence. - Quando um módulo é importado automaticamente, o efeito é o mesmo que usar o cmdlet
Import-Module. O módulo pode adicionar comandos, tipos e arquivos de formatação e executar scripts na sessão. Para ativar, desativar e configurar a importação automática de módulos, use a variável de preferência$PSModuleAutoLoadingPreference. Para obter mais informações, consulte sobre_Variáveis_de_Preferência.