Volver a la página principal
lunes 7 octubre 2024
107

Cómo obtener información del sistema con Get-WmiObject en PowerShell

El comando Get-WmiObject en PowerShell se utiliza para acceder a información detallada sobre el sistema operativo, hardware y servicios en un equipo local o remoto mediante WMI (Windows Management Instrumentation). Es ideal para recuperar datos del sistema, como detalles de CPU, memoria, discos duros y controladores, así como para gestionar configuraciones y monitorear el rendimiento.

¿Qué es y cómo usar Get-WmiObject en PowerShell?

Get-WmiObject permite interactuar con las clases WMI (Windows Management Instrumentation) para consultar información del sistema, como procesos, discos, hardware y configuraciones de red. Este comando es comúnmente utilizado para tareas de administración del sistema, monitoreo y automatización, proporcionando acceso a una amplia variedad de datos del sistema.

Sintaxis básica de Get-WmiObject

Get-WmiObject -Class <NombreDeLaClase> -Namespace <EspacioDeNombres> -ComputerName <NombreEquipo>
  • -Class: Define la clase WMI que se desea consultar (por ejemplo, Win32_Process para procesos).
  • -Namespace: Especifica el espacio de nombres de WMI donde se encuentra la clase (por defecto, root\cimv2).
  • -ComputerName: Indica el nombre del equipo remoto. Si se omite, consulta el equipo local.

Ejemplos de uso de Get-WmiObject

1. Obtener información del sistema operativo

Get-WmiObject -Class Win32_OperatingSystem

Este comando muestra detalles del sistema operativo, como la versión, arquitectura, nombre del equipo, directorio de Windows y más.

2. Consultar la información de la CPU

Get-WmiObject -Class Win32_Processor

Devuelve detalles del procesador, como el nombre, la velocidad de reloj, el número de núcleos y la carga actual de la CPU.

3. Listar los discos duros conectados

Get-WmiObject -Class Win32_LogicalDisk

Muestra información de los discos lógicos conectados, incluyendo el tipo de sistema de archivos, el espacio libre disponible y el tamaño total.

4. Obtener la lista de servicios en ejecución

Get-WmiObject -Class Win32_Service | Where-Object { $_.State -eq "Running" }

Filtra y devuelve solo los servicios que están en estado "Running", con detalles como el nombre del servicio, el estado y la ruta de ejecución.

5. Consultar información de adaptadores de red

Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled -eq $true }

Muestra detalles de los adaptadores de red habilitados, como dirección IP, máscara de subred y estado DHCP.

6. Monitorear procesos en ejecución

Get-WmiObject -Class Win32_Process

Devuelve información detallada de todos los procesos en ejecución, como el nombre, ID de proceso (PID), ruta de ejecución y uso de CPU.

7. Consultar información de un equipo remoto

Get-WmiObject -Class Win32_OperatingSystem -ComputerName "ServidorRemoto"

Obtiene los detalles del sistema operativo de un equipo llamado ServidorRemoto. Se debe tener acceso administrativo y permisos en el equipo remoto para ejecutar este comando.

Clases WMI más utilizadas

Algunas de las clases WMI más comunes que se utilizan con Get-WmiObject son:

  • Win32_OperatingSystem: Información del sistema operativo.
  • Win32_Processor: Detalles del procesador.
  • Win32_BIOS: Información del BIOS.
  • Win32_LogicalDisk: Detalles de los discos lógicos.
  • Win32_NetworkAdapterConfiguration: Configuración de adaptadores de red.
  • Win32_Service: Información sobre los servicios del sistema.
  • Win32_ComputerSystem: Información general del equipo (nombre, fabricante, modelo).

Alternativa: Get-CimInstance

En versiones modernas de PowerShell, se recomienda usar Get-CimInstance en lugar de Get-WmiObject, ya que es más rápido, seguro y utiliza el protocolo estándar DCOM/WMI.

Ejemplo con Get-CimInstance:

Get-CimInstance -ClassName Win32_OperatingSystem

Este comando realiza la misma operación que Get-WmiObject, pero con un enfoque más moderno y optimizado.

Referencia oficial

Puedes obtener más detalles sobre Get-WmiObject en la documentación oficial de Microsoft.

Etiquetas:
powershell
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer