Descubrimiento y ayuda integrada

Abstract

Esta lección introduce las herramientas de autodescubrimiento de PowerShell: cómo usar Get-Command para explorar el entorno y Get-Help para aprender directamente desde la terminal. Con estos comandos podrás encontrar cmdlets, entender sus parámetros y acceder a ejemplos sin depender de documentación externa.

También aprenderás a reconocer patrones en la convención Verbo-Sustantivo y a consultar temas conceptuales about_*, que explican conceptos clave del lenguaje y del entorno. Estas prácticas te permitirán navegar y ampliar el ecosistema de PowerShell con autonomía, adoptando una mentalidad exploratoria centrada en descubrir antes que memorizar.

Buscar y explorar comandos con Get-Command

Get-Command sirve para descubrir qué existe en tu entorno PowerShell: cmdlets, funciones, scripts o alias. Puedes filtrar por nombre, verbo o sustantivo, usar comodines y explorar las acciones disponibles sin recordar nombres exactos. Devuelve objetos [CommandInfo] (y derivados como [CmdletInfo] , [FunctionInfo] o [ApplicationInfo] ) que puedes inspeccionar.

Desde la terminal
$cmd = Get-Command -Name Get-Command
Get-Member -InputObject $cmd
Get-Command -Verb Push
Get-Command -Noun *Item

# Cuando no recuerdes el nombre exacto
Get-Command -Name *location*  # Buscar comandos relacionados con "location"
Explorar comandos disponibles
Ejemplos rápidos
# Filtrar por tipo y módulo
Get-Command -CommandType Cmdlet -Module Microsoft.PowerShell.Management

# Ver sintaxis de un comando específico
Get-Command -Name Copy-Item -Syntax

# Buscar por parámetro (¿qué cmdlets tienen -Force?)
Get-Command -ParameterName Force

# Si sólo recuerdas el tipo de un parámetro
Get-Command -ParameterType [switch]
Filtrado por tipo, módulo, parámetros y sintaxis

¿Qué acabamos de hacer?

  • Get-Command -Name Get-Command devuelve un objeto [CommandInfo] , que puedes inspeccionar para conocer sus propiedades. Por ejemplo, (Get-Command -Name Get-Command).Parameters.Keys lista sus parámetros.
  • Get-Member muestra los miembros (propiedades y métodos) del objeto devuelto. Si haces Get-Member -InputObject $cmd , verás a qué tipo pertenece ( [FunctionInfo] o [CmdletInfo] ) y propiedades como Name , ModuleName o Definition .
  • Filtrado por verbo y sustantivo ( -Verb / -Noun ). PowerShell nombra cmdlets como Verbo-Sustantivo ( Get-Item , Push-Location , etc.). -Verb lista acciones (“qué hace”) y -Noun el “sobre qué”. Ejemplos: Get-Command -Verb Push o Get-Command -Noun *Item . Además, usa -CommandType (Cmdlet/Function/Alias/Application/ExternalScript) y -Module para acotar por origen o tipo.
  • Comodines: usa * para buscar sin recordar el nombre exacto. Get-Command *location* encuentra Get-Location , Set-Location , Push-Location , etc. Es insensible a mayúsculas y puedes combinar filtros, por ejemplo: Get-Command *item* -CommandType Cmdlet -Module Microsoft.PowerShell.Management . Combínalo con -CommandType / -Module y usa búsquedas explícitas con -Name y combina -CommandType / -Module para salidas más legibles.
  • Buscar por parámetros — cuando recuerdas un parámetro pero no el cmdlet, prueba -ParameterName o -ParameterType (por ejemplo, [switch] o SwitchParameter ) para localizar candidatos.
  • Ver uso rápido -Syntax muestra las firmas del comando sin abrir la ayuda completa; útil para recordar parámetros posicionales y combinaciones rápidas.

Adopta la convención Verbo-Sustantivo

Nombra tus funciones y scripts como Verbo-Sustantivo. Así Get-Command y la ayuda integrada podrán descubrir tus comandos fácilmente.

Consultar documentación y ejemplos con Get-Help

Get-Help muestra la documentación integrada de cualquier comando. Es la herramienta principal para entender cómo usar un cmdlet, con sus parámetros, ejemplos y vínculos a la documentación en línea. También incluye capítulos conceptuales llamados about_*, que explican temas generales del lenguaje y del entorno de PowerShell (por ejemplo, about_Arrays, about_Operators o about_Execution_Policies).

Antes de comenzar

Si es la primera vez que usas PowerShell, puede que necesites descargar o actualizar la ayuda local con Update-Help . Esto permite usar Get-Help sin conexión.

Desde la terminal
Update-Help -UICulture en-US
Actualizar ayuda local en inglés (en-US)

Idiomas disponibles

Usamos en-US porque es el idioma por defecto de PowerShell. Puedes cambiarlo a otro idioma (por ejemplo, es-ES), pero ten en cuenta que no todos los módulos ofrecen traducción. Si intentas actualizar toda la ayuda en español, es común que algunos módulos fallen o queden en inglés.

Desde la terminal
# Ayuda rápida (resumen, parámetros o ejemplos)
Get-Help -Name Get-Help
Get-Help -Name Get-ChildItem -Examples
Get-Help -Name Get-Command -Full

# Abrir documentación en el navegador (si está disponible)
Get-Help -Name Get-ChildItem -Online

# Explorar temas conceptuales ("about_*")
Get-Help -Name about_Comparison_Operators
Get-Help -Name about_*    # Listar todos los temas conceptuales disponibles

Get-Culture -?  # Ayuda rápida para cmdlets individuales
Get-Help -Name Out-String -Parameter Stream  # Ayuda para un parámetro específico
Consultar ayuda y documentación

¿Qué acabamos de hacer?

  • Get-Help -Name Get-Help — Muestra la ayuda del propio cmdlet Get-Help : estructura de la salida, parámetros disponibles y cómo profundizar (por ejemplo, con -Examples o -Full ).
    • -Examples - Presenta solo los ejemplos prácticos del comando. Es la forma más rápida de ver usos reales sin tener que leer toda la documentación.
    • -Full — Muestra la documentación completa: descripción, sintaxis, parámetros (con tipos y validaciones), entradas/salidas y notas adicionales.
    • -Online - Abre el artículo correspondiente en Microsoft Learn o Docs en el navegador, útil cuando quieres ver formato enriquecido o notas actualizadas.
  • about_* — Temas conceptuales del lenguaje y la plataforma (pipeline, operadores, alias, etc.).
  • Comodines - Cuando no recuerdes el nombre exacto, usa * para buscar candidatos.
  • <Comando> -? - Muestra la ayuda rápida de cualquier comando (parámetros y sintaxis principales).
  • Get-Help <Comando> -Parameter <Nombre> - Para ir directo a parámetros específicos.

Nota

En este apunte no documentaremos formalmente los scripts: priorizaremos explicaciones en línea y ejemplos prácticos. Si quieres aprender a incluir documentación interna en tus propios scripts, revisa la sección Comment-Based Help más abajo.

Ayuda basada en comentarios (Comment-Based Help)

Plantilla para ayuda basada en comentarios
path/to/script.ps1
<#
.SYNOPSIS
    Breve descripción del script.
.DESCRIPTION
    Explicación más detallada del script.
.PARAMETER Path
    Descripción del parámetro.
.EXAMPLE
    Ejemplo de uso del script.
#>
param($Path)
Documentación oficial: about_Comment_Based_Help
Desde la terminal
# Mostrar ayuda integrada en un script
Get-Help .\path\to\script.ps1 -Full
Leer ayuda integrada en un script

Tip

Añadir ayuda a tus scripts no solo facilita su uso futuro, también permite a otras personas usar Get-Help directamente sobre tus archivos sin abrir el código.

Piensa rápido

Encuentra tres cmdlets que empiecen con Get- y tengan Noun Item. Usa Get-Help para ver sus ejemplos de uso.

Piensa rápido

Encuentra comandos que acepten -LiteralPath con Get-Command -ParameterName LiteralPath . Elige uno y revisa Get-Help <Comando> -Parameter LiteralPath .

Conclusiones

En esta lección aprendiste a autodescubrir PowerShell desde la terminal. Comprendiste cómo Get-Command te permite explorar los cmdlets disponibles, filtrar por verbo o sustantivo e inspeccionar sus propiedades. También viste cómo Get-Help ofrece documentación integrada, ejemplos y temas conceptuales about_* para profundizar sin salir del entorno.

Puntos clave

  • Get-Command descubre qué comandos existen y te permite filtrarlos por nombre, verbo o sustantivo.
  • Get-Help explica cómo usar cada comando, muestra ejemplos y puede abrir documentación en línea.
  • Los temas about_* contienen guías conceptuales sobre operadores, alias, pipeline y otros fundamentos.

¿Qué nos llevamos?

PowerShell está diseñado para el descubrimiento progresivo: cada herramienta revela pistas sobre la siguiente. Conocer y usar Get-Command y Get-Help no solo te hace más independiente, sino que te enseña a aprender desde la propia terminal. En lugar de memorizar comandos, adoptas una mentalidad exploratoria, apoyada en documentación viva y accesible. A partir de aquí, puedes seguir usando estas herramientas para explorar nuevos módulos y comandos que vayas encontrando en tu entorno.

¿Con ganas de más?

Referencias adicionales

  • Chapter 2 — The Help system en Microsoft Learn / PowerShell

    Capítulo introductorio que defiende que dominar el sistema de ayuda es clave en PowerShell: las personas expertas no memorizan, descubren y aprenden en el momento. Presenta los tres cmdlets nucleares para el descubrimiento: Get-Help , Get-Command y Get-Member .

    Resume cómo usar Get-Help ( -Full , -Examples , -Online , -Parameter ) y la descarga inicial con Update-Help ; cómo interpretar la sintaxis y los parameter sets (posicionalidad y switches).