Cómo obtener información del sistema y hardware con PowerShell en Windows

Última actualización:
Autor:
  • PowerShell permite consultar datos del sistema como CPU, RAM, BIOS, discos y red.
  • Cmdlets como Get-CimInstance y Get-WmiObject son clave para obtener esta información.
  • Se puede automatizar el inventario de equipos remotos con scripts personalizados.
  • Existen múltiples clases WMI que exponen detalles técnicos del hardware y sistema operativo.

powershell

Si usas Windows y quieres obtener información técnica de tu ordenador o de otros equipos en red, PowerShell es una herramienta poderosísima que probablemente ya tienes instalada. Con solo unos cuantos comandos puedes acceder a todo tipo de detalles sobre el sistema operativo, el hardware, el BIOS, el procesador, la RAM o las unidades de disco. Y no solo eso, también puedes automatizar esta recolección en varios dispositivos a la vez. Vamos a ver cómo hacerlo desde cero y de forma completa.

PowerShell permite acceder a datos del sistema haciendo uso de WMI (Windows Management Instrumentation) y su evolución más moderna, CIM (Common Information Model). Ambas tecnologías exponen información en forma de clases, algo que PowerShell entiende muy bien gracias a su manejo de objetos. Aquí aprenderás a consultar esas clases con comandos sencillos.

See Hidden System Files in Windows 10
Artículo relacionado:
Cómo ver los datos ocultos del sistema en House home windows 10

Obtener información básica con Get-ComputerInfo

Uno de los cmdlets más sencillos de usar para acceder a datos del sistema es Get-ComputerInfo. Este comando muestra una gran cantidad de propiedades en cuestión de segundos. Incluye la versión de Windows, edición, tipo de instalación, datos de BIOS, arquitectura, nombre de equipo y mucho más.

Ejecuta simplemente:

Get-ComputerInfo

Si necesitas filtrar por propiedades específicas, puedes usar el parámetro -Property seguido de una cadena o comodines:

Get-ComputerInfo -Property "*version"

Esto mostrará solo aquellas propiedades relacionadas con versiones del sistema.

Consultar el hardware con Get-WmiObject y Get-CimInstance

Además de Get-ComputerInfo, los cmdlets Get-WmiObject y Get-CimInstance son los favoritos para obtener información detallada y precisa del hardware.

Datos del procesador

Para ver información completa del procesador, puedes usar:

Get-WmiObject -Class Win32_Processor

Este comando devuelve parámetros como la velocidad máxima, el fabricante, el número de núcleos físicos y lógicos, el nombre del procesador y el identificador del socket.

  ¿Windows 11 no reconoce tu nuevo disco duro interno? Guía definitiva con soluciones actualizadas

También puedes ver solo algunos valores clave:

Get-WmiObject Win32_Processor | Select Name, NumberOfCores, NumberOfLogicalProcessors

O la frecuencia exacta separando el valor de nombre:

((Get-WmiObject Win32_Processor).name).split("@")

Memoria RAM instalada

Consultar la RAM física de tu ordenador es igualmente fácil:

Get-WmiObject CIM_PhysicalMemory | Select BankLabel, Manufacturer, Capacity, Speed

Para conocer la cantidad total instalada en GB:

$ram = Get-WmiObject CIM_PhysicalMemory | Select-Object -ExpandProperty Capacity | Measure-Object -Sum
$ram.Sum / 1GB

Memoria caché y módulos

Para obtener información de los niveles de memoria caché:

Get-WmiObject Win32_CacheMemory | Select DeviceID, MaxCacheSize

Y para detalles más técnicos:

Get-WmiObject Win32_PhysicalMemoryArray

Obtener datos del BIOS y placa base

La clase Win32_BIOS proporciona información clave como el fabricante, la versión y el número de serie:

Get-CimInstance -ClassName Win32_BIOS

Para extraer solo el número de serie:

Get-WmiObject Win32_BIOS | Select-Object -ExpandProperty SerialNumber

Y si necesitas ver la placa base:

Get-WmiObject Win32_BaseBoard

Datos del sistema operativo

Además de Get-ComputerInfo, también puedes usar Win32_OperatingSystem para ver propiedades detalladas como:

  • Build
  • Tipo de sistema
  • Versión
  • Número de usuarios registrados

Por ejemplo:

Get-CimInstance -ClassName Win32_OperatingSystem | Select BuildNumber, BuildType, OSType, ServicePack*

Si solamente quieres saber quién es el usuario registrado:

Get-CimInstance -ClassName Win32_OperatingSystem | Select RegisteredUser
purview
Artículo relacionado:
Cómo usar Microsoft Purview: guía exhaustiva para proteger y gobernar tus datos

Espacio en disco duro

Para ver cuánto espacio ocupado y libre hay en tus discos físicos:

Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"

Para ver el total de espacio libre:

Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | \
Measure-Object -Property FreeSpace,Size -Sum | \
Select-Object Property,Sum

Usuarios, sesiones y red

Con estas consultas verás qué usuarios están activos o han iniciado sesión recientemente:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

También puedes ver las sesiones de logon:

Get-CimInstance -ClassName Win32_LogonSession

Y por supuesto, datos de red:

Get-NetAdapter -Physical | Where-Object { $_.Status -eq 'Up' }

Para ver la dirección IP y estado de las interfaces, además de configuraciones avanzadas, puedes consultar recursos específicos de PowerShell, como cómo configurar límites de datos en Windows.

Monitorizar servicios y TPM

Para ver qué servicios están activos y su estado:

Get-CimInstance -ClassName Win32_Service | Select Status, Name, DisplayName

Y si usas un chip TPM y quieres obtener sus datos:

Get-WmiObject -Namespace root/cimv2/security/microsofttpm -Class Win32_TPM

Automatizar la recolección de datos en varios equipos

También es posible realizar un inventario completo de múltiples equipos en red. Una función como Get-Inventory puede comprobar qué equipos están online con Test-Connection, y luego ejecutar múltiples consultas WMI en cada uno, almacenando los datos en un archivo CSV. Para ello, puede ser útil consultar este recurso sobre cómo integrar datos de Excel con Power BI.

Esto es ideal para administradores de sistemas que gestionan entornos medianos o grandes.

PowerShell combina flexibilidad con una enorme capacidad de inspección del sistema y el hardware. Puedes obtener detalles muy técnicos o valores clave que facilitan la gestión y diagnóstico. Además, la automatización de estos procesos permite mantener inventarios actualizados y realizar auditorías rápidamente, ahorrando mucho tiempo y esfuerzo.

winhance
Artículo relacionado:
Cómo usar Winhance en Windows 11: guía completa para optimizar tu sistema

Deja un comentario