Puntos clave
- Define las métricas de rendimiento: identifica y documenta las métricas de la línea base, como el uso de CPU, memoria, disco y red, agrupadas por tipo de dispositivo, función o nivel de hardware.
Recopila los datos de la línea base con PowerShell: usa PowerShell para capturar métricas de rendimiento en tiempo real y exportar los resultados para hacer comparaciones repetibles del antes y el después. - Verifica las métricas con CMD: ejecuta las herramientas nativas del símbolo del sistema para validar rápidamente los datos de la línea base y confirmar el estado del sistema en comprobaciones puntuales.
- Guarda los valores de la línea base en local: almacena los indicadores clave en el Registro de Windows para facilitar la validación local, las auditorías sin conexión y los flujos de automatización.
- Automatiza la recopilación continua: programa capturas periódicas de la línea base con el Programador de tareas o directivas de grupo para monitorizar a escala empresarial.
En la supervisión del rendimiento de los endpoints, una línea base muestra cómo es el comportamiento «normal» y sirve de referencia frente al estado actual. Ayuda a los equipos de TI a detectar señales tempranas de degradación, problemas de capacidad o uso indebido de recursos. Las herramientas nativas de Windows permiten crear esa línea base con un coste mínimo y en cualquier entorno Windows.
Esta guía te explica paso a paso cómo crear una línea base de rendimiento de endpoints con las herramientas integradas de Windows y PowerShell.
🎥 Mira la versión en vídeo de Cómo crear una línea base de rendimiento de endpoints con las herramientas integradas de Windows y PowerShell.
Consigue visibilidad y control totales sobre tus endpoints Windows con NinjaOne.
Descubre las funciones de gestión de endpoints Windows de NinjaOne.
Pasos para crear una línea base de rendimiento de endpoints con las herramientas integradas de Windows y PowerShell
Antes de empezar, comprueba que cumples estos requisitos:
📌 Requisitos generales:
- PowerShell 5.1 o posterior
- Permisos de administrador local para ejecutar consultas de rendimiento y exportar los resultados
- Opcional: una plataforma RMM o de scripting (por ejemplo, NinjaOne) para la automatización
- Una definición clara del comportamiento normal del sistema para cada cliente o entorno
Paso 1: define las métricas de rendimiento clave de la línea base
Para empezar, define las métricas de rendimiento clave que servirán de base a tu línea base. Una vez identificadas todas las métricas, podrás recopilar los datos adecuados para crear una línea base precisa.
📌 Casos de uso: útil para segmentar líneas base, planificar la capacidad, establecer umbrales basados en SLA o crear una referencia fiable para la resolución de problemas.
Paso a paso:
- Agrupa los endpoints en cohortes o por características comunes:
- Tipo de dispositivo: portátil, máquina virtual o equipo de sobremesa
- Función del endpoint: ventas, desarrollo, servidores
- Nivel de hardware: cantidad de RAM, tipo de almacenamiento, modelo de CPU
- Versión del SO: Windows 10 22H2, Windows 11 23H2
- Selecciona las métricas principales que vas a monitorizar. Estas son las recomendadas:
- Uso de CPU (medio y máximo)
- Uso de memoria (utilizada frente al total)
- E/S de disco (longitud de cola, latencia)
- Actividad de red (bytes enviados/recibidos)
- Tiempo de arranque y tiempo de actividad
- Tiempo de inicio y carga de los servicios
- Número medio de procesos y procesos que más consumen
- Define umbrales adecuados para cada cliente, función del dispositivo (estación de trabajo frente a servidor) o SLA.
- Documenta las métricas creando una plantilla de línea base que incluya los valores definidos, la frecuencia de muestreo y las herramientas de medición utilizadas.
Paso 2: usa PowerShell para recopilar y almacenar datos de rendimiento
Una vez establecidas las métricas de rendimiento clave, llega el momento de recopilar los datos detallados y en tiempo real que necesitas. PowerShell es una herramienta nativa de Windows muy potente para este fin, porque permite crear scripts y repetir el proceso tantas veces como quieras.
📌 Casos de uso: ideal para crear referencias de resolución de problemas y comparar instantáneas de rendimiento antes y después de un cambio.
📌 Requisitos previos:
- PowerShell 5.1 o posterior
- Privilegios de administrador
- Opcional: una plataforma RMM o de scripting (por ejemplo, NinjaOne) para la automatización
Paso a paso:
- Pulsa Win + S, busca PowerShell, haz clic con el botón derecho y selecciona Ejecutar como administrador. (Consulta el punto 1 de ⚠️ Aspectos a tener en cuenta).
- Captura una instantánea básica de CPU y memoria:
Get-CimInstance Win32_Processor | Select-Object LoadPercentageGet-CimInstance Win32_OperatingSystem | Select-Object FreePhysicalMemory, TotalVisibleMemorySize
(Consulta también Get-CimInstance en CimCmdlets de Microsoft Learn.)
- Comprueba el tiempo de arranque y el tiempo de actividad:
$boot = (Get-CimInstance Win32_OperatingSystem).LastBootUpTime$uptime = (Get-Date) - $boot
- Mide la E/S de disco con contadores de rendimiento:
Get-Counter -Counter "\PhysicalDisk(_Total)\Avg. Disk Queue Length"
(Consulta también Get-Counter en el módulo Microsoft.PowerShell.Diagnostics de Microsoft Learn).
- Exporta los resultados a CSV para llevar un seguimiento histórico:
$report | Export-Csv -Path "C:\Performance\Baseline.csv" -NoTypeInformation
Paso 3: usa CMD para comprobaciones rápidas y verificación
Para validar las lecturas de la línea base obtenidas con PowerShell, este método utiliza el símbolo del sistema (CMD) y sus comandos nativos para verificar el estado y los indicadores de rendimiento del sistema. (Consulta el punto 2 de ⚠️ Aspectos a tener en cuenta).
📌 Casos de uso: úsalo para verificaciones manuales rápidas o para resolver problemas sobre la marcha sin ejecutar scripts completos.
Paso a paso:
- Pulsa Win + R, escribe cmd y pulsa Intro para abrir el símbolo del sistema.
- Comprueba el uso de CPU y memoria:
tasklist /fo csv | findstr /i "chrome.exe"
- Consulta el tiempo de arranque y el tiempo de actividad del sistema:
systeminfo | findstr /B /C:"System Boot Time"
- Enumera todos los servicios en ejecución:
sc query type= service state= all | findstr /C:"RUNNING"
💡 Consejo: puedes redirigir estos resultados a archivos de registro para consultarlos más adelante al crear la línea base o al resolver problemas.
Paso 4: guarda los indicadores de la línea base en el registro
Este método te permite guardar manualmente los indicadores clave de rendimiento de tu línea base en el Registro de Windows. Es una forma eficaz de mantener un registro local y comparar rápidamente las lecturas actuales con la línea base establecida.
📌 Casos de uso: ideal para validar la línea base, hacer seguimiento de cambios, auditar sin conexión e integrarlo con un RMM.
📌 Requisito previo: permisos de administrador para escribir en HKEY_LOCAL_MACHINE
⚠️ Advertencia: editar el registro puede provocar problemas en el sistema. Crea una copia de seguridad antes de continuar.
Paso a paso:
- Elige la ruta del registro: (consulta el punto 3 de ⚠️ Aspectos a tener en cuenta).
HKEY_LOCAL_MACHINE\SOFTWARE\Org\PerformanceBaseline
- Pulsa Win + S, busca PowerShell, haz clic con el botón derecho y selecciona Ejecutar como administrador.
- Crea la clave del registro:
New-Item -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Force
- Escribe los valores de la línea base (sustituye los números de ejemplo por los resultados reales de tu línea base):
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "LastCPULoad" -Value 18 -Type DWordSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "LastFreeMemoryMB" -Value 4023 -Type DWordSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "LastUptimeHours" -Value 72 -Type DWordSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "BaselineCaptured" -Value "2025-07-01T10:00Z" -Type String
- Usa scripts de PowerShell o herramientas RMM para rellenar y verificar estos valores con regularidad, de modo que tu línea base esté siempre actualizada.
Paso 5: programa la recopilación periódica con el Programador de tareas o un RMM
Para mantener actualizados los datos de tu línea base, este método recurre al Programador de tareas de Windows o a una plataforma RMM como NinjaOne para configurar una recopilación de datos automática y recurrente.
📌 Casos de uso: úsalo para líneas base continuas, automatización de todo el parque de dispositivos y supervisión proactiva.
📌 Requisitos previos:
- Un script de PowerShell operativo para capturar la línea base
- Permisos de administrador en el endpoint o en el dominio
Instrucciones:
- Crea una tarea programada con CMD.
Ejemplo: programar una captura diaria de la línea base a las 10:00.
schtasks /create /tn "CapturePerformanceBaseline" /tr "powershell.exe -File C:\Scripts\Capture-Baseline.ps1" /sc daily /st 10:00
Puedes personalizar los parámetros:
/tn– Nombre de la tarea/tr– Programa o script que se ejecuta/sc– Programación (usa/sc weeklypara ejecuciones semanales)/st– Hora de inicio
(Consulta también los comandos schtasks en los comandos de Windows de Microsoft Learn).
- Usa el motor de scripting y directivas de NinjaOne para:
- Programar la ejecución del script a diario o semanalmente
- Subir los resultados al repositorio central o adjuntarlos a un ticket
- Lanzar alertas si el rendimiento se desvía de la línea base definida
Con esta configuración, puedes capturar automáticamente instantáneas de rendimiento de cada dispositivo a diario, semanalmente o con la periodicidad que prefieras.
Paso 6: aplica directivas de grupo para habilitar el registro de rendimiento
Este método utiliza objetos de directiva de grupo (GPO) para habilitar y estandarizar el registro del rendimiento del sistema en los dispositivos Windows unidos al dominio.
📌 Casos de uso: ideal para lograr coherencia en toda la organización, centralizar el análisis de rendimiento y aplicar directivas de forma estricta. Este método encaja especialmente en entornos empresariales.
📌 Requisitos previos:
- Un dominio de Active Directory con la Consola de administración de directivas de grupo (GPMC) instalada
- Permisos de administrador para crear o modificar GPO
- Plantillas predefinidas del Monitor de rendimiento (PerfMon)
Paso a paso:
- Pulsa Win + R, escribe gpmc.msc y pulsa Intro para abrir la Consola de administración de directivas de grupo (GPMC).
- Crea una GPO nueva o edita una existente vinculada a la unidad organizativa (OU) de destino. (Consulta el punto 4 de ⚠️ Aspectos a tener en cuenta).
- Ve a:
Configuración del equipo > Plantillas administrativas > Sistema > Registros y alertas de rendimiento
- Activa las directivas necesarias para la recopilación de datos de rendimiento.
- Usa las plantillas del Monitor de rendimiento (PerfMon) para definir:
- Conjuntos de recopiladores de datos de CPU, disco y memoria
- Retención de registros y límites de tamaño de archivo
- Salida a una carpeta compartida o al disco local
- Los datos de rendimiento se guardan en archivos .blg (registro binario). Estos archivos se pueden importar en el Monitor de rendimiento para revisarlos o usarse en Power BI para visualizarlos y analizar tendencias.
Así te aseguras de que los registros de rendimiento se recopilan siempre, aunque ningún usuario inicie una recopilación manual.
⚠️ Aspectos a tener en cuenta
| Riesgos | Posibles consecuencias | Soluciones |
| 1. Ejecutar scripts de PowerShell sin permisos de administrador | El script puede fallar o la recopilación de datos puede quedar incompleta | Vuelve a abrir PowerShell como administrador y ejecuta de nuevo el script de recopilación |
| 2. Hacer comprobaciones con CMD durante picos de carga o tareas de mantenimiento | Los resultados pueden estar distorsionados y no reflejar el rendimiento normal | Repite las comprobaciones con CMD en periodos de inactividad o en franjas de carga habitual |
| 3. Ruta del registro incorrecta o permisos insuficientes al guardar los valores | Los datos de la línea base no se escriben, lo que impide hacer comparaciones futuras | Verifica la ruta del registro y ejecuta el script con permisos elevados |
| 4. Aplicar la directiva de grupo a la OU equivocada o sin un ámbito adecuado | Puede que las directivas no se apliquen a los dispositivos previstos o que se apliquen a otros que no corresponden | Corrige la OU de destino, comprueba el ámbito de la GPO y fuerza la actualización con gpupdate /force |
Otras consideraciones
Estos son algunos factores adicionales que pueden influir en la precisión y fiabilidad de tu línea base de rendimiento de endpoints:
Coherencia del hardware
La línea base de un portátil de gama alta no será igual que la de un equipo de sobremesa básico o una máquina virtual. Incluso dentro de la misma gama, los dispositivos más antiguos pueden mostrar un rendimiento degradado. Mezclar hardware distinto distorsiona los umbrales y puede generar falsas alertas.
Agrupa los endpoints por clase y antigüedad del dispositivo, tal y como se explica en el paso 1. Mantén líneas base separadas para cada clase y registra siempre los detalles del hardware en la documentación de la línea base.
Validación tras las actualizaciones
Las actualizaciones importantes de Windows o de controladores pueden afectar a los tiempos de arranque, al uso de recursos y a la actividad en segundo plano. Recoge una nueva línea base después de esas actualizaciones y compárala con la anterior para asegurarte de que el rendimiento no ha empeorado.
Impacto del comportamiento del usuario
El momento en que se toma la línea base también importa. Los resultados serán distintos si la captura se hace mientras el usuario está en una videollamada o tiene 30 pestañas del navegador abiertas. Programa la línea base en periodos de inactividad conocidos o en franjas de carga de trabajo habitual.
Compatibilidad con varias sesiones
En entornos de Servicios de Escritorio remoto (RDS) o infraestructura de escritorio virtual (VDI), donde varios usuarios comparten un mismo host, analiza el rendimiento por sesión y por host. Así te aseguras de que las líneas base reflejan los patrones de uso reales y el impacto de los usuarios simultáneos.
Guía de inicio rápido
NinjaOne ofrece varias formas de crear y supervisar líneas base de rendimiento de endpoints:
1. Script de comprobación del rendimiento del sistema
Script: Cómo hacer una comprobación del rendimiento del sistema con PowerShell, que:
- Recopila datos de rendimiento del sistema: reúne métricas de CPU, memoria, disco y red.
- Supervisa los registros de eventos: busca errores en los registros de aplicación, seguridad, instalación y sistema.
- Muestra las puntuaciones de WinSAT: presenta las puntuaciones de la Herramienta de evaluación del sistema de Windows.
- Informa del último arranque: indica la última vez que se inició el dispositivo.
- Guarda los resultados: opcionalmente, guarda todos los datos recopilados en un campo personalizado WYSIWYG para revisarlos más adelante.
2. Supervisión del rendimiento integrada
El uso de CPU y memoria se supervisa y se muestra en el panel del dispositivo
- Ofrece datos de estado y rendimiento del endpoint en tiempo real
- Genera alertas con contexto
- Permite crear Alertas Personalizadas para problemas de rendimiento
3. Condiciones relacionadas con el rendimiento
- Puedes crear condiciones personalizadas, como la condición de CPU por proceso
- Permite lanzar alertas según umbrales de rendimiento concretos
Resolución de problemas
Estos son los problemas más habituales al crear una línea base de rendimiento de endpoints y cómo resolverlos:
Errores de PowerShell
El script puede fallar si no se ejecuta con los privilegios necesarios. Comprueba los permisos y asegúrate de ejecutar PowerShell como administrador.
Otra causa posible es que el servicio Instrumental de administración de Windows (WMI) esté deshabilitado o dañado, ya que muchas métricas de rendimiento dependen de él. Ejecuta este comando para comprobar si está en marcha:
Get-Service winmgmt
Faltan contadores de rendimiento
Los contadores de rendimiento de Windows pueden desaparecer o dañarse, sobre todo tras actualizaciones o cambios en el sistema. Para reconstruirlos, ejecuta:
lodctr /r
Uso elevado de CPU durante el registro
Capturar demasiados contadores a intervalos muy cortos puede sobrecargar el sistema. Reduce el número de contadores que registras, amplía el intervalo de muestreo o haz ambas cosas para bajar el consumo de CPU durante la recopilación.
Las claves del registro no se actualizan
Las actualizaciones del registro pueden fallar si el script no se ejecuta con permisos elevados o si la ruta del registro es incorrecta. Ejecuta el script como administrador y confirma que la ruta es correcta:
HKLM:\SOFTWARE\Org\PerformanceBaseline
Servicios de NinjaOne
NinjaOne mejora la creación de líneas base de rendimiento de endpoints gracias a:
| Capacidad | Qué permite hacer NinjaOne |
| Despliegue programado de scripts | Desplegar scripts de recopilación de la línea base de forma programada en todos los dispositivos. |
| Almacenamiento centralizado de datos de rendimiento | Guardar los datos de rendimiento como campos personalizados o registros para los informes. |
| Etiquetado del estado de los endpoints | Etiquetar los endpoints según su estado de rendimiento (por ejemplo, CPU alta, RAM baja). |
| Alertas por desviación de umbrales | Avisar cuando se superan los umbrales por desviaciones respecto a la línea base. |
| Integración con QBR y auditorías | Integrar los datos en los informes de QBR y auditoría para los clientes. |
Con NinjaOne, los MSP pueden crear, mantener y supervisar líneas base de rendimiento en todos los clientes que gestionan.
Supervisa el rendimiento de tus endpoints de forma continua tras crear la línea base.
Líneas base para una supervisión del rendimiento de endpoints eficaz
Crear una línea base de rendimiento con las herramientas nativas y PowerShell permite a los MSP detectar problemas de forma proactiva, reducir el ruido en el soporte y validar el estado de los sistemas.
En esta guía has aprendido a definir las métricas clave de la línea base en los endpoints de los clientes, a recopilar y registrar datos de rendimiento con PowerShell y comandos de CMD, y a aplicar un seguimiento persistente mediante el registro y las GPO. Por último, has visto cómo NinjaOne ayuda a automatizar y escalar el seguimiento de líneas base en todos los clientes para reforzar la supervisión del rendimiento de los endpoints.
Temas relacionados:
