Get-Command
Obtiene todos los comandos.
Sintaxis
Get-Command
[-Verb <String[]>]
[-Noun <String[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[[-ArgumentList] <Object[]>]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command
[[-Name] <String[]>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>]
[-TotalCount <Int32>]
[-Syntax]
[-ShowCommandInfo]
[[-ArgumentList] <Object[]>]
[-All]
[-ListImported]
[-ParameterName <String[]>]
[-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Description
El cmdlet Get-Command
obtiene todos los comandos instalados en el equipo, incluidos cmdlets, alias, funciones, filtros, scripts y aplicaciones.
Get-Command
obtiene los comandos de los módulos y comandos de PowerShell que se importaron desde otras sesiones. Para obtener solo los comandos que se han importado en la sesión actual, use el parámetro ListImported.
Sin parámetros, Get-Command
obtiene todos los cmdlets, funciones y alias instalados en el equipo.
Get-Command *
obtiene todos los tipos de comandos, incluidos todos los archivos que no son de PowerShell en la variable de entorno Path ($env:Path
), que se muestra en el tipo de comando Application.
Get-Command
que usa el nombre exacto del comando, sin caracteres comodín, importa automáticamente el módulo que contiene el comando para que pueda usar el comando inmediatamente. Para habilitar, deshabilitar y configurar la importación automática de módulos, use la variable de preferencia $PSModuleAutoLoadingPreference
. Para obtener más información, vea about_Preference_Variables.
Get-Command
obtiene sus datos directamente desde el código de comando, a diferencia de Get-Help
, que obtiene su información de temas de ayuda.
A partir de Windows PowerShell 5.0, los resultados del cmdlet Get-Command
muestran una columna Versión de forma predeterminada. Se ha agregado una nueva propiedad Version
Ejemplos
Ejemplo 1: Obtener cmdlets, funciones y alias
Este comando obtiene los cmdlets, funciones y alias de PowerShell instalados en el equipo.
Get-Command
Ejemplo 2: Obtener comandos en la sesión actual
Este comando usa el parámetro ListImported para obtener solo los comandos de la sesión actual.
Get-Command -ListImported
Ejemplo 3: Obtener cmdlets y mostrarlos en orden
Este comando obtiene todos los cmdlets, los ordena alfabéticamente por el nombre del cmdlet en el nombre del cmdlet y, a continuación, los muestra en grupos basados en nombres. Esta pantalla puede ayudarle a encontrar los cmdlets de una tarea.
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
Ejemplo 4: Obtener comandos en un módulo
Este comando usa el parámetro module
Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility
Ejemplo 5: Obtener información sobre un cmdlet
Este comando obtiene información sobre el cmdlet Get-AppLockerPolicy
. También importa el módulo
Get-Command Get-AppLockerPolicy
Cuando se importa automáticamente un módulo, el efecto es el mismo que el uso del cmdlet Import-Module.
El módulo puede agregar comandos, tipos y archivos de formato y ejecutar scripts en la sesión. Para habilitar, deshabilitar y configurar la importación automática de módulos, use la variable de preferencia $PSModuleAutoLoadingPreference
. Para obtener más información, vea about_Preference_Variables.
Ejemplo 6: Obtención de la sintaxis de un cmdlet
Este comando usa los parámetros
Get-Command Get-Childitem -Args Cert: -Syntax
Al comparar la sintaxis mostrada en la salida con la sintaxis que se muestra al omitir el parámetro Args (ArgumentList), verá que el proveedor de certificados de agrega un parámetro dinámico, CodeSigningCert, al cmdlet Get-ChildItem
.
Para obtener más información sobre el proveedor de certificados, vea about_Certificate_Provider.
Ejemplo 7: Obtener parámetros dinámicos
El comando del ejemplo usa la función Get-DynamicParameters
para obtener los parámetros dinámicos que el proveedor de certificados agrega al cmdlet Get-ChildItem
cuando se usa en la unidad 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
La función Get-DynamicParameters
de este ejemplo obtiene los parámetros dinámicos de un cmdlet. Se trata de una alternativa al método usado en el ejemplo anterior. Otro cmdlet o proveedor pueden agregar parámetros dinámicos a un cmdlet.
Ejemplo 8: Obtener todos los comandos de todos los tipos
Este comando obtiene todos los comandos de todos los tipos del equipo local, incluidos los archivos ejecutables en las rutas de acceso de la ruta de acceso variable de entorno ($env:path
).
Get-Command *
Devuelve un objeto ApplicationInfo (System.Management.Automation.ApplicationInfo) para cada archivo, no un objeto FileInfo (System.IO.FileInfo).
Ejemplo 9: Obtener cmdlets mediante un nombre
Este comando obtiene cmdlets que tienen un parámetro cuyo nombre incluye Auth y cuyo tipo es AuthenticationMechanism.
Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
Puede usar un comando como este para buscar cmdlets que le permitan especificar el método que se usa para autenticar al usuario.
El parámetro
Ejemplo 10: Obtener un alias
En este ejemplo se muestra cómo usar el cmdlet Get-Command
con un alias.
Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
Aunque normalmente se usa en cmdlets y funciones, Get-Command
también obtiene scripts, funciones, alias y archivos ejecutables.
La salida del comando muestra la vista especial del Nombre valor de propiedad para alias. La vista muestra el alias y el nombre completo del comando.
Ejemplo 11: Obtener todas las instancias del comando Bloc de notas
En este ejemplo se usa el parámetro All del cmdlet Get-Command
para mostrar todas las instancias del comando "Bloc de notas" en el equipo 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
El parámetro All es útil cuando hay más de un comando con el mismo nombre en la sesión.
A partir de Windows PowerShell 3.0, de forma predeterminada, cuando la sesión incluye varios comandos con el mismo nombre, Get-Command
obtiene solo el comando que se ejecuta al escribir el nombre del comando. Con el parámetro All, Get-Command
obtiene todos los comandos con el nombre especificado y los devuelve en orden de precedencia de ejecución. Para ejecutar un comando distinto del primero de la lista, escriba la ruta de acceso completa al comando.
Para obtener más información sobre la precedencia de comandos, consulte about_Command_Precedence.
Ejemplo 12: Obtención del nombre de un módulo que contiene un cmdlet
Este comando obtiene el nombre del módulo en el que se originó el cmdlet Get-Date
.
El comando usa la propiedad ModuleName de todos los comandos.
(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
Este formato de comando funciona en los comandos de los módulos de PowerShell, incluso si no se importan en la sesión.
Ejemplo 13: Obtener cmdlets y funciones que tienen un tipo de salida
Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
Este comando obtiene los cmdlets y funciones que tienen un tipo de salida y el tipo de objetos que devuelven.
La primera parte del comando obtiene todos los cmdlets.
Un operador de canalización (|) envía los cmdlets al cmdlet Where-Object
, que selecciona solo los que se rellenan en la propiedad OutputType.
Otro operador de canalización envía los objetos de cmdlet seleccionados al cmdlet Format-List
, que muestra el nombre y el tipo de salida de cada cmdlet de una lista.
La propiedad OutputType
Ejemplo 14: Obtener cmdlets que toman un 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 busca cmdlets que toman objetos de adaptador de net como entrada. Puede usar este formato de comando para buscar los cmdlets que aceptan el tipo de objetos que devuelve cualquier comando.
El comando usa el PSTypeNames propiedad intrínseca de todos los objetos, que obtiene los tipos que describen el objeto. Para obtener la propiedad PSTypeNames de de un adaptador net y no la propiedad PSTypeNames de de una colección de adaptadores net, el comando usa la notación de matriz para obtener el primer adaptador net que devuelve el cmdlet. Para obtener la propiedad PSTypeNames de de un adaptador net y no la propiedad PSTypeNames de de una colección de adaptadores net, el comando usa la notación de matriz para obtener el primer adaptador net que devuelve el cmdlet.
Parámetros
-All
Indica que este cmdlet obtiene todos los comandos, incluidos los comandos del mismo tipo que tienen el mismo nombre. De forma predeterminada, Get-Command
obtiene solo los comandos que se ejecutan al escribir el nombre del comando.
Para obtener más información sobre el método que usa PowerShell para seleccionar el comando que se va a ejecutar cuando varios comandos tienen el mismo nombre, consulte about_Command_Precedence. Para obtener información sobre los nombres de comandos calificados para módulos y los comandos en ejecución que no se ejecutan de forma predeterminada debido a un conflicto de nombres, vea about_Modules.
Este parámetro se introdujo en Windows PowerShell 3.0.
En Windows PowerShell 2.0, Get-Command
obtiene todos los comandos de forma predeterminada.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-ArgumentList
Especifica una matriz de argumentos. Este cmdlet obtiene información sobre un cmdlet o una función cuando se usa con los parámetros especificados ("argumentos"). El alias de argumentList es Args.
Para detectar parámetros dinámicos que solo están disponibles cuando se usan determinados otros parámetros, establezca el valor de ArgumentList en los parámetros que desencadenan los parámetros dinámicos.
Para detectar los parámetros dinámicos que un proveedor agrega a un cmdlet, establezca el valor del parámetro ArgumentList en una ruta de acceso de la unidad del proveedor, como WSMan:, HKLM:o Cert:. Cuando el comando es un cmdlet de proveedor de PowerShell, escriba solo una ruta de acceso en cada comando. Los cmdlets del proveedor devuelven solo los parámetros dinámicos para la primera ruta de acceso el valor de ArgumentList. Para obtener información sobre los cmdlets del proveedor, consulte about_Providers.
Tipo: | Object[] |
Alias: | Args |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CommandType
Especifica los tipos de comandos que obtiene este cmdlet. Escriba uno o varios tipos de comandos. Use CommandType o su alias, Type. De forma predeterminada, Get-Command
obtiene todos los cmdlets, funciones y alias.
Los valores aceptables para este parámetro son:
- Alias. Obtiene los alias de todos los comandos de PowerShell. Para obtener más información, vea about_Aliases.
- Todo. Obtiene todos los tipos de comandos. Este valor de parámetro es el equivalente de
Get-Command *
. - Aplicación. Obtiene archivos que no son de PowerShell en rutas de acceso enumeradas en la variable de entorno path path de
($env:path), incluidos los archivos .txt, .exey .dll. Para obtener más información sobre la variable de entorno path de, consulte about_Environment_Variables. - Cmdlet. Obtiene todos los cmdlets.
- ExternalScript. Obtiene todos los archivos de .ps1 de las rutas de acceso enumeradas en la variable de entorno path path de
($env:path). - Filtro y función. Obtiene todas las funciones y filtros avanzados y simples de PowerShell.
- Guión. Obtiene todos los bloques de script. Para obtener scripts de PowerShell (.ps1 archivos), use el valor de ExternalScript.
- Flujo de trabajo. Obtiene todos los flujos de trabajo. Para obtener más información sobre los flujos de trabajo, consulte Introducción al flujo de trabajo de Windows PowerShell.
Tipo: | CommandTypes |
Alias: | Type |
Valores aceptados: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-FullyQualifiedModule
Especifica módulos con nombres especificados en forma de objetos ModuleSpecification
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
ModuleName y moduleVersion son necesarios, pero guid es opcional.
No se puede especificar el parámetro
Tipo: | ModuleSpecification[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-ListImported
Indica que este cmdlet solo obtiene comandos en la sesión actual.
A partir de PowerShell 3.0, de forma predeterminada, Get-Command
obtiene todos los comandos instalados, incluidos, entre otros, los comandos de la sesión actual. En PowerShell 2.0, solo obtiene comandos en la sesión actual.
Este parámetro se introdujo en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Module
Especifica una matriz de módulos. Este cmdlet obtiene los comandos procedentes de los módulos o complementos especificados. Escriba los nombres de módulos o complementos.
Este parámetro toma valores de cadena, pero el valor de este parámetro también puede ser un PSModuleInfo o objeto PSSnapinInfo, como los objetos que devuelven los cmdlets de Get-Module
, Get-PSSnapin
y Import-PSSession
.
Puede hacer referencia a este parámetro por su nombre, Moduleo por su alias, PSSnapin. El nombre del parámetro que elija no tiene ningún efecto en la salida del comando.
Tipo: | String[] |
Alias: | PSSnapin |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-Name
Especifica una matriz de nombres. Este cmdlet obtiene solo los comandos que tienen el nombre especificado. Escriba un nombre o patrón de nombre. Se permiten caracteres comodín.
Para obtener comandos con el mismo nombre, use el parámetro All. Cuando dos comandos tienen el mismo nombre, de forma predeterminada, Get-Command
obtiene el comando que se ejecuta al escribir el nombre del comando.
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-Noun
Especifica una matriz de nombres de comando. Este cmdlet obtiene comandos, que incluyen cmdlets, funciones y alias, que tienen nombres que incluyen el nombre especificado. Escriba uno o varios nombres o patrones de nombre. Se permiten caracteres comodín.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-ParameterName
Especifica una matriz de nombres de parámetros. Este cmdlet obtiene comandos en la sesión que tienen los parámetros especificados. Escriba los nombres de parámetro o los alias de parámetro. Se admiten caracteres comodín.
Los parámetros ParameterName
Este parámetro se introdujo en Windows PowerShell 3.0.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-ParameterType
Especifica una matriz de nombres de parámetros. Este cmdlet obtiene comandos en la sesión que tienen parámetros del tipo especificado. Escriba el nombre completo o el nombre parcial de un tipo de parámetro. Se admiten caracteres comodín.
Los parámetros ParameterName
Este parámetro se introdujo en Windows PowerShell 3.0.
Tipo: | PSTypeName[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-ShowCommandInfo
Indica que este cmdlet muestra información de comandos.
Este parámetro se introdujo en Windows PowerShell 5.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Syntax
Indica que este cmdlet obtiene solo los siguientes datos especificados sobre el comando:
- Alias. Obtiene el nombre estándar.
- Cmdlets. Obtiene la sintaxis.
- Funciones y filtros. Obtiene la definición de la función.
- Scripts y aplicaciones o archivos. Obtiene la ruta de acceso y el nombre de archivo.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-TotalCount
Especifica el número de comandos que se van a obtener. Puede usar este parámetro para limitar la salida de un comando.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Verb
Especifica una matriz de verbos de comando. Este cmdlet obtiene comandos, que incluyen cmdlets, funciones y alias, que tienen nombres que incluyen el verbo especificado. Escriba uno o varios verbos o patrones de verbo. Se permiten caracteres comodín.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
Entradas
Puede canalizar los nombres de comandos a este cmdlet.
Salidas
Este cmdlet devuelve objetos derivados de la clase commandInfo de Get-Command
obtiene.
Representa alias.
Representa aplicaciones y archivos.
Representa cmdlets.
Representa funciones y filtros.
Representa flujos de trabajo.
Notas
- Cuando hay más de un comando que tiene el mismo nombre disponible para la sesión,
Get-Command
devuelve el comando que se ejecuta al escribir el nombre del comando. Para obtener comandos con el mismo nombre, enumerados en orden de ejecución, use el parámetro All. Para obtener más información, vea about_Command_Precedence. - Cuando se importa automáticamente un módulo, el efecto es el mismo que el uso del cmdlet
Import-Module
. El módulo puede agregar comandos, tipos y archivos de formato y ejecutar scripts en la sesión. Para habilitar, deshabilitar y configurar la importación automática de módulos, use la variable de preferencia$PSModuleAutoLoadingPreference
. Para obtener más información, vea about_Preference_Variables.