Get-Command
Obtiene información básica acerca de los cmdlets y otros elementos de comandos de Windows PowerShell.
Sintaxis
Get-Command [[-Name] <string[]>] [-CommandType {<Alias> | <Function> | <Filter> | <Cmdlet> | <ExternalScript> | <Application> | <Script> | <All>}] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Sintaxis] [-TotalCount <int>] [<CommonParameters>]
Get-Command [-Noun <string[]>] [-Verb <string[]>] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-Sintaxis] [-TotalCount <int>] [<CommonParameters>]
Descripción
El cmdlet Get-Command obtiene información básica sobre cmdlets y otros elementos de comandos de Windows PowerShell en la sesión, como alias, funciones, filtros, scripts y aplicaciones.
Get-Command obtiene sus datos directamente del código de un cmdlet, función, script o alias, a diferencia de Get-Help que obtiene su información de los archivos de temas de Ayuda.
Sin parámetros, "Get-Command" obtiene todos los cmdlets y funciones de la sesión actual. "Get-Command *" obtiene todos los elementos de Windows PowerShell y todos los archivos que no son de Windows PowerShell en la variable de entorno Path ($env:path). Agrupa los archivos en el tipo de comando "Application".
Puede utilizar el parámetro Module de Get-Command para buscar los comandos que se agregaron a la sesión agregando un complemento de Windows PowerShell o importando un módulo.
Parámetros
-ArgumentList <Object[]>
Obtiene información acerca de un cmdlet o función cuando se usa con los parámetros ("arguments") especificados, como una ruta de acceso. El alias de ArgumentList es Args.
Para detectar parámetros que se agregan a un cmdlet cuando este se utiliza con un proveedor determinado, debe establecerse el valor de ArgumentList en una ruta de acceso en la unidad del proveedor, como "HKML\Software" o "cert:\my".
¿Requerido? |
false |
¿Posición? |
2 |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-CommandType <CommandTypes>
Obtiene únicamente los tipos de comandos especificados. Use "CommandType" o su alias, "Type". De forma predeterminada, Get-Command obtiene cmdlets y funciones.
Los valores válidos son:
-- Alias: todos los alias de Windows PowerShell en la sesión actual.
-- All: todos los tipos de comandos. Es el equivalente de "get-command *".
-- Application: todos los archivos que no son de Windows-PowerShell en las rutas de acceso enumeradas en la variable de entorno Path ($env:path), incluidos los archivos .txt, .exe y .dll.
-- Cmdlet: los cmdlets de la sesión actual. "Cmdlet" es el valor predeterminado.
-- ExternalScript: todos los archivos .ps1 en las rutas de acceso enumeradas en la variable de entorno Path ($env:path).
-- Filter y Function: todas las funciones de Windows PowerShell.
-- Script: bloques de script en la sesión actual.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Module <string[]>
Obtiene los comandos procedentes de los módulos o complementos especificados. Deben especificarse los nombres de los módulos o complementos, o bien objetos de complemento o módulo.
Puede hacerse referencia a este parámetro por su nombre, Module, o por su alias, PSSnapin. El nombre de parámetro que se elija no tendrá efecto en el comando ni en su resultado.
Este parámetro toma valores de cadena, pero también se puede proporcionar el objeto PSSnapinInfo o PSModuleInfo, como los objetos que devuelven los cmdlets Get-Module, Get-PSSnapin e Import-PSSession.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Name <string[]>
Solo obtiene información acerca de los cmdlets o elementos de comando con el nombre especificado. <String> representa la totalidad o una parte del nombre del cmdlet o elemento de comando. Se permite el uso de caracteres comodín.
Para mostrar comandos con el mismo nombre en orden de ejecución, se escribe el nombre del comando sin caracteres comodín. Para obtener más información, vea la sección Notas.
¿Requerido? |
false |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue, ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Noun <string[]>
Obtiene cmdlets y funciones con nombres que incluyen el sustantivo especificado. <String> representa uno o más sustantivos o patrones de sustantivo, como "process" o "*item*". Se permite el uso de caracteres comodín.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Sintaxis
Obtiene únicamente los datos especificados acerca del elemento de comando.
* Respecto a alias, recupera el nombre estándar.
* Respecto a cmdlets, recupera la sintaxis.
* En cuanto a funciones y filtros, recupera la definición de función.
* En cuanto a scripts y aplicaciones (archivos), recupera la ruta de acceso y el nombre de archivo.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-TotalCount <int>
Obtiene únicamente el número especificado de elementos de comando. Se puede utilizar este parámetro para limitar el resultado de un comando.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Verb <string[]>
Obtiene información acerca de los cmdlets y funciones con nombres que incluyen el verbo especificado. <String> representa uno o más verbos o patrones de verbo, como "remove" o *et". Se permite el uso de caracteres comodín.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String Se puede canalizar a Get-Command una propiedad de sustantivo "Name", "Command" y "Verb" especificada o un objeto de cadena. |
Salidas |
Object El tipo de objeto devuelto depende del tipo de elemento de comando recuperado. Por ejemplo, Get-Command aplicado a un cmdlet recupera un objeto CmdletInfo, mientras que Get-Command aplicado a un archivo DLL recupera un objeto ApplicationInfo. |
Notas
Sin parámetros, "Get-Command" obtiene información acerca de los cmdlets y funciones de Windows PowerShell. Use los parámetros para calificar los elementos recuperados.
A diferencia de Get-Help, que muestra el contenido de los archivos de temas de Ayuda basados en XML, Get-Command obtiene su información de cmdlet directamente del código de cmdlet en el sistema.
Get-Command devuelve los comandos en orden alfabético. Cuando la sesión contiene más de un comando con el mismo nombre, Get-Command devuelve los comandos en orden de ejecución. El primer comando que se muestra en la lista es el que se ejecuta al escribir su nombre sin calificar. Para obtener más información, vea about_Command_Precedence.
Ejemplo 1
C:\PS>get-command
Descripción
-----------
Este comando obtiene información acerca de todos los cmdlets y funciones de Windows PowerShell.
La presentación predeterminada muestra el tipo de comando ("Cmdlet", "Function" o "Filter"), el nombre del cmdlet o función, y la sintaxis o definición de función.
Ejemplo 2
C:\PS>get-command -verb set | format-list
Descripción
-----------
Este comando obtiene información acerca de todos los cmdlets y funciones con el verbo "set" y muestra parte de esta información en una lista.
El formato de lista incluye campos que se omiten en la presentación de tabla, incluida la sintaxis completa. Para mostrar todos los campos (todas las propiedades del objeto), escriba "get-command -verb set | format-list *".
Ejemplo 3
C:\PS>get-command -type cmdlet | sort-object noun | format-table -group noun
Descripción
-----------
Este comando recupera todos los cmdlets, los ordena alfabéticamente por el sustantivo incluido en el nombre del cmdlet y, a continuación, los muestra en grupos
basados en los sustantivos. Esta presentación puede ayudar a buscar los cmdlets para una tarea.
De forma predeterminada, Get-Command muestra los elementos en el orden en que el sistema los detecta, que es también el orden en que se seleccionan para su ejecución cuando un comando de ejecución es ambiguo.
Ejemplo 4
C:\PS>get-command -module Microsoft.PowerShell.Security, TestModule
Descripción
-----------
Este comando obtiene los comandos del complemento Microsoft.PowerShell.Security y del módulo Test-Module.
El parámetro Module obtiene los comandos que se agregaron importando módulos o agregando complementos de Windows PowerShell.
Ejemplo 5
C:\PS>get-command get-childitem -args cert: -syntax
Descripción
-----------
Este comando recupera información acerca del cmdlet Get-ChildItem cuando se usa Get-ChildItem con el proveedor Certificate de Windows PowerShell.
Si compara la sintaxis mostrada en los resultados con la sintaxis mostrada cuando se omite el parámetro Args (ArgumentList), observará que el proveedor de certificados agrega de forma dinámica un parámetro, CodeSigningCert, al cmdlet Get-ChildItem.
Ejemplo 6
C:\PS>(get-command get-childitem -ArgumentList cert:).parametersets[0].parameters | where-object { $_.IsDynamic }
Descripción
-----------
Este comando recupera únicamente los parámetros agregados de forma dinámica al cmdlet Get-ChildItem cuando se usa con el proveedor Certificate de Windows PowerShell. Constituye una alternativa al método usado en el ejemplo anterior.
En este comando, "get-command get-childitem -ArgumentList cert:" se procesa primero. Solicita información de Get-Command acerca del cmdlet Get-ChildItem cuando se usa con el proveedor Certificate. ".parametersets[0]" selecciona el primer conjunto de parámetros (conjunto 0) de "get-childitem -argumentList cert:", mientras que ".parameters" selecciona los parámetros de este conjunto. Los parámetros resultantes se canalizan al cmdlet Where-Object para probar cada parámetro ("$_.") mediante la propiedad IsDynamic. Para buscar las propiedades de los objetos de un comando, se usa Get-Member.
Ejemplo 7
C:\PS>get-command *
Descripción
-----------
Este comando obtiene información sobre los cmdlets, funciones, filtros, scripts y alias de Windows PowerShell en la consola actual.
También obtiene información sobre todos los archivos en las rutas de acceso de la variable de entorno Path ($env:path). Devuelve un objeto ApplicationInfo (System.Management.Automation.ApplicationInfo) para cada archivo, no un objeto FileInfo (System.IO.FileInfo).
Ejemplo 8
C:\PS>get-command | where-object {$_.definition -like "*first*"}
CommandType Name Definition
----------- ---- ---------
Cmdlet Select-Object Select-Object [[-Property]
Descripción
-----------
Este comando busca un cmdlet o función basándose en el nombre de uno de sus parámetros. Puede utilizar este comando para identificar un cmdlet o función cuando lo único que puede recordar es el nombre de uno de sus parámetros.
En este caso, el usuario recuerda que uno de los cmdlets o funciones tiene un parámetro First que obtiene los primeros "n" objetos de una lista, pero no puede recordar qué cmdlet es.
Este comando utiliza el cmdlet Get-Command para obtener un objeto CmdletInfo que representa cada uno de los cmdlets y funciones de la sesión. El objeto CmdletInfo tiene una propiedad Definition que contiene la sintaxis del cmdlet o función, que incluye sus parámetros.
El comando utiliza un operador de canalización (|) para pasar el objeto CmdletInfo al cmdlet Where-Object, que examina la definición (sintaxis) de cada objeto ($_) para un valor que incluye "first".
El resultado muestra que el parámetro First pertenece al cmdlet Select-Object.
Ejemplo 9
C:\PS>get-command dir | format-list
Name : dir
CommandType : Alias
Definition : Get-ChildItem
ReferencedCommand : Get-ChildItem
ResolvedCommand : Get-ChildItem
Descripción
-----------
En este ejemplo se muestra cómo se utiliza el cmdlet Get-Command con un alias. Aunque se utiliza normalmente en cmdlets, Get-Command también muestra información sobre el código en scripts, funciones, alias y archivos ejecutables.
Este comando muestra el alias "dir" en la consola actual. El comando canaliza el resultado a los cmdlets Format-List.
Ejemplo 10
C:\PS>get-command notepad
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE
Descripción
-----------
En este ejemplo se muestra cómo se utiliza Get-Command para determinar qué comando ejecuta Windows PowerShell cuando tiene acceso a varios comandos con el mismo nombre. Cuando se utiliza el parámetro Name sin caracteres comodín, Get-Command muestra los comandos con ese nombre en orden de prioridad de ejecución.
Este comando muestra qué programa Bloc de notas ejecuta Windows PowerShell cuando se escribe "Notepad" sin una ruta de acceso completa. El comando utiliza el parámetro Name sin caracteres comodín.
En el resultado de ejemplo se muestran los comandos Notepad en la consola actual. Indica que Windows PowerShell ejecutará la instancia de Notepad.exe en el directorio C:\Windows\System32.
Ejemplo 11
C:\PS>(get-command get-date).pssnapin
C:\PS> (get-command remove-gpo).module
Descripción
-----------
Estos comandos muestran cómo se busca el complemento o módulo a partir del cual se originó un cmdlet determinado.
El primer comando utiliza la propiedad PSSnapin del objeto CmdletInfo para buscar el complemento que agregó el cmdlet Get-Date.
El segundo comando usa la propiedad Module del objeto CmdletInfo para buscar el módulo que agregó el cmdlet Remove-GPO.
Vea también
Conceptos
about_Command_Precedence
Get-Help
Get-PSDrive
Get-Member
Import-PSSession
Export-PSSession