Cómo mostrar todas las propiedades de un objeto PowerShell

  1. Use Get-WmiObject para mostrar todas las propiedades de un objeto de PowerShell
  2. Recuperar la información de instancia/clase de objeto
  3. Use el cmdlet Format-List para mostrar propiedades
  4. Conclusión
Cómo mostrar todas las propiedades de un objeto PowerShell

Existen requisitos para encontrar información sobre la máquina con Windows y sus componentes, como la red, las aplicaciones y los servicios. El Modelo de Información Común (CIM) es un estándar de código abierto para manipular estos componentes y su información.

Microsoft ha implementado su estándar sobre CIM llamado Instrumentación de Administración de Windows (WMI) para consultar y manipular la información de la computadora, los servicios y la red.

Use Get-WmiObject para mostrar todas las propiedades de un objeto de PowerShell

El cmdlet Get-WmiObject es una herramienta poderosa, particularmente para tareas de administración y gestión de sistemas. Permite acceder a los datos de la Instrumentación de Administración de Windows (WMI), que incluye una gran cantidad de información sobre el sistema, como detalles sobre hardware, software instalado, configuración de red y más.

Una de las capacidades menos conocidas pero potentes de Get-WmiObject es el uso del parámetro -List. Esta opción permite a los usuarios recuperar una lista de todas las clases WMI dentro de un espacio de nombres específico.

La sintaxis básica de Get-WmiObject -List es:

Get-WmiObject -List [-Namespace <String>] [-ComputerName <String>]

Los parámetros clave incluyen:

  • -Namespace <String>: Especifica el espacio de nombres del repositorio WMI. El valor predeterminado es root\cimv2, que contiene la mayoría de las clases WMI comúnmente utilizadas.
  • -ComputerName <String>: Apunta a una computadora remota. Sin este parámetro, el cmdlet opera en la máquina local.

Por lo tanto, el proceso de gestión del sistema Windows se vuelve mucho más fácil. Verifiquemos las clases disponibles usando el cmdlet Get-WmiObject.

Get-WmiObject -List

Este comando mostrará todas las clases disponibles en el espacio de nombres predeterminado de su máquina local. El espacio de nombres predeterminado es ROOT\cimv2 en la computadora con Windows.

Salida:

Obtener-ObjetoWmi

Es posible especificar un espacio de nombres diferente al predeterminado (ROOT\cimv2). Podemos utilizar el parámetro -Namespace para cambiar el espacio de nombres predeterminado.

Get-WmiObject -Namespace <custom_namespace>

Recuperar la información de instancia/clase de objeto

El uso de Get-WmiObject -Class es principalmente para recuperar información detallada sobre un aspecto particular del sistema. Por ejemplo, consultar la clase Win32_Processor proporciona información sobre el procesador, mientras que Win32_OperatingSystem revela detalles sobre el sistema operativo.

El parámetro -Class de este cmdlet permite a los usuarios consultar clases específicas dentro del repositorio WMI, que son esencialmente plantillas para los objetos que representan información del sistema. Estas clases cubren una amplia gama de datos, desde detalles de hardware hasta configuraciones.

Sintaxis:

Get-WmiObject -Class <String> [-Namespace <String>] [-ComputerName <String>]

Los parámetros clave incluyen:

  • -Class <String>: Especifica la clase WMI para la cual se requiere información.
  • -Namespace <String>: Opcional. Especifica el espacio de nombres del repositorio WMI (el valor predeterminado es root\cimv2).
  • -ComputerName <String>: Opcional. Dirige el comando a una computadora remota.

Hay cientos de clases WMI disponibles para usar. Podemos recuperar la información para una clase dada, como se muestra a continuación.

Get-WmiObject -Class Win32_computersystem

Aquí, estamos recuperando información para la clase Win32_computersystem. Devuelve el objeto Win32_computersystem con sus propiedades, que contiene toda la información sobre el sistema informático, como se muestra a continuación.

Get-WmiObject -Class

Hay un número limitado de propiedades mostradas en la salida. El objeto Win32_computersystem contiene más propiedades que estas.

Podemos usar el cmdlet Format-List para mostrar todas las propiedades de un objeto recuperado.

Use el cmdlet Format-List para mostrar propiedades

El Format-List se puede encadenar con la salida de otro comando para formatear los resultados. Este cmdlet puede mostrar las propiedades especificadas o todas las propiedades de un objeto WMI recuperado en un formato legible.

Sintaxis:

Get-WmiObject -Class Win32_computersystem | Format-List -Property Name, Model, Manufacturer

Especificamos algunas propiedades para la instancia Win32_computersystem.

  • Format-List [-Property <PropertyName[]>]: Formatea la salida como una lista.
  • -Property <PropertyName[]>: (Opcional) Especifica las propiedades a mostrar. Si se omite, se muestran todas las propiedades.

Salida:

Formato-Lista

El Get-WmiObject devuelve las propiedades predeterminadas para el objeto Win32_computersystem. Entonces, la salida se enviará a través del operador de tubería (|) al comando Format-List.

Podemos pasar el parámetro -Property al cmdlet Format-List. Eso filtrará la salida final con las tres propiedades dadas.

A veces, es importante verificar todas las propiedades y valores disponibles para un objeto WMI específico. En ese caso, debe usar -Property * para recuperar todas las propiedades disponibles y sus valores.

El * indica todas las propiedades.

Get-WmiObject -Class Win32_computersystem | Format-List -Property *

Salida:

Formato-Lista -Propiedad

La salida contiene todas las propiedades y los valores disponibles para el objeto Win32_computersystem. Podemos omitir el parámetro -Property en el comando anterior y escribirlo.

Get-WmiObject -Class Win32_computersystem | Format-List *

El comando anterior debería mostrar la misma salida que la anterior.

Conclusión

En esta exploración del Get-WmiObject de PowerShell, hemos descubierto su papel fundamental en la gestión del sistema Windows. El parámetro -List empodera a los usuarios para enumerar todas las clases WMI, ayudando en la identificación de fuentes de datos relevantes.

Centrado en -Class, demostramos su precisión en la recuperación de información detallada del sistema, ejemplificada con Win32_ComputerSystem. La adición de Format-List mejora la legibilidad de la salida, que es crucial al tratar con listas de propiedades extensas.

Para profundizar su conocimiento, explore diversas clases WMI como Win32_Processor o Win32_OperatingSystem. Incorporar Get-WmiObject en scripts puede agilizar las tareas de gestión del sistema.

Como herramienta versátil, Get-WmiObject satisface tanto a principiantes como a usuarios experimentados, epitomizando su importancia en PowerShell para diversas tareas de TI y automatización.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Artículo relacionado - PowerShell Object