How do I display reboot Records?

Historial de Reinicios en Windows: Guía Definitiva

04/12/2018

Valoración: 4.83 (4442 votos)

Saber cuándo se reinició un ordenador por última vez es una tarea fundamental para cualquier persona que brinde soporte técnico o simplemente quiera tener un control absoluto sobre su sistema. Aunque Windows ofrece varias formas de obtener esta información, muchas son limitadas, difíciles de usar en múltiples equipos o no proporcionan un historial detallado. En este artículo, desglosaremos desde los métodos más simples hasta cómo utilizar la potencia de PowerShell para convertirte en un detective de los reinicios de tu sistema, descubriendo no solo el cuándo, sino también el porqué.

How do I know if a reboot is normal or unexpected?
The Event log service was started. Event IDs 13, 41, 1074, 6008, and 6009 can help determine if a reboot is normal or unexpected. The typical event IDs that indicate a normal reboot are Event ID 1074 followed by Event ID 13 and Event ID 6009. An unexpected reboot is denoted by Event ID 41 and Event ID 6008.
Índice de Contenido

Métodos Rápidos para Conocer el Último Reinicio

Si solo necesitas una respuesta rápida para un único equipo, Windows tiene algunas herramientas integradas que pueden ayudarte en segundos. Son sencillas, pero como veremos, tienen sus limitaciones.

1. El Administrador de Tareas

La forma más visual y directa de saber cuánto tiempo lleva encendido tu PC es a través del Administrador de Tareas.

  1. Presiona Ctrl + Shift + Esc para abrir el Administrador de Tareas.
  2. Ve a la pestaña Rendimiento.
  3. Selecciona la sección de la CPU.
  4. En la parte inferior, verás un campo llamado "Tiempo de actividad". Este contador te muestra el tiempo exacto que ha transcurrido desde el último arranque del sistema.

Este método es excelente para una consulta instantánea, pero no guarda un historial ni te dice por qué se reinició el equipo.

2. El Símbolo del Sistema (CMD)

Para los amantes de la línea de comandos, una simple instrucción puede revelar la hora exacta del último arranque.

  1. Abre el Símbolo del Sistema (puedes buscar "cmd" en el menú de inicio).
  2. Escribe el siguiente comando y presiona Enter:
systeminfo | find "System Boot Time"

La salida será algo como esto:

System Boot Time: 17/12/2019, 9:46:08 PM

Es rápido y preciso, pero al igual que el Administrador de Tareas, solo te informa sobre el último evento de arranque, no sobre los anteriores.

3. WMIC (Windows Management Instrumentation Command-line)

Otra opción de línea de comandos es usar WMIC. Al ejecutar wmic os get lastbootuptime, obtendrás una cadena de texto como 20191217214608.500331-300. Aunque contiene toda la información (año, mes, día, hora, etc.), su formato no es nada amigable para una lectura rápida.

Estos métodos son útiles para una verificación puntual, pero ¿qué pasa si necesitas investigar reinicios en un servidor remoto? ¿O si quieres ver un historial de todos los reinicios del último mes para diagnosticar un problema de estabilidad? Para eso, necesitamos herramientas más poderosas.

El Visor de Eventos: El Diario Secreto de tu PC

Cada vez que algo importante sucede en Windows, desde el inicio de un servicio hasta un error crítico, se registra una entrada en el Visor de Eventos. Este es el lugar ideal para encontrar un historial detallado de apagados y reinicios. La clave está en saber qué "IDs de evento" buscar.

Where can I find restart information?
These options have limitations and can be difficult to use in scripts or across multiple machines. One overlooked spot for restart information is the Windows Event Logs. Microsoft writes a wealth of information to the system event log about different events related to shut-down and restart operations.

Un ID de evento es un código numérico que Windows asigna a cada tipo de suceso. Para los reinicios, los siguientes son los más importantes:

Tabla de IDs de Evento Relacionados con Reinicios

ID de EventoFuenteDescripción
1074User32Indica un apagado o reinicio iniciado por un usuario o una aplicación. Es el registro de un reinicio planeado. Contiene detalles sobre qué proceso y qué usuario lo inició.
6005EventLog"El servicio de registro de eventos se inició". Básicamente, significa que el sistema ha arrancado.
6006EventLog"El servicio de registro de eventos se detuvo". Indica un apagado limpio y ordenado.
6008EventLogIndica que el apagado anterior del sistema fue inesperado. Este evento es crucial para detectar cuelgues o cortes de energía.
41Kernel-PowerEl sistema se reinició sin apagarse limpiamente primero. Este es el evento principal para investigar reinicios por pantallazos azules (BSOD) o fallos de hardware.
1001WER-SystemErrorReportingEl equipo se ha reiniciado desde una comprobación de errores (bugcheck). Proporciona detalles sobre el error que causó el pantallazo azul.

Puedes filtrar el registro del sistema en el Visor de Eventos por estos IDs para reconstruir la cronología de los reinicios. Sin embargo, hacerlo manualmente puede ser tedioso, especialmente si necesitas revisar múltiples máquinas.

PowerShell: La Herramienta Definitiva para Investigar Reinicios

Aquí es donde PowerShell brilla. Con unas pocas líneas de código, podemos automatizar la búsqueda en los registros de eventos, formatear la salida de manera legible y hasta consultar equipos remotos en nuestra red.

Consulta Básica de Eventos

Para empezar, vamos a buscar todos los reinicios planeados (ID 1074) en el equipo local. Abre PowerShell (preferiblemente como administrador) y ejecuta:

Get-WinEvent -FilterHashtable @{logname = 'System'; id = 1074} | Format-Table -wrap

Este comando busca en el registro del sistema (logname = 'System') todos los eventos con el ID 1074 y los muestra en una tabla formateada. Si tu PC tiene mucho tiempo, esta lista puede ser muy larga. Puedes limitarla a los eventos más recientes con el parámetro -MaxEvents:

Get-WinEvent -FilterHashtable @{logname = 'System'; id = 1074} -MaxEvents 5 | Format-Table -wrap

Combinando Múltiples IDs y Equipos

La verdadera potencia se desata cuando buscamos varios eventos a la vez para obtener una imagen completa. Vamos a buscar reinicios planeados e inesperados:

Get-WinEvent -FilterHashtable @{logname = 'System'; id = 1074, 6005, 6006, 6008} -MaxEvents 10 | Format-Table -wrap

¿Necesitas hacer esto en varios servidores? ¡Fácil! PowerShell puede iterar sobre una lista de equipos:

$computers = "Servidor1", "Servidor2", "PC-Ventas" $computers | ForEach-Object { Write-Host "--- Registros para $_ ---" Get-WinEvent -ComputerName $_ -FilterHashtable @{logname = 'System'; id = 1074, 6008} -MaxEvents 2 | format-table -wrap }

Creando un Informe Avanzado y Legible

El problema con la salida anterior es que los eventos se agrupan por su origen, lo que dificulta seguir una cronología. Para resolver esto, podemos crear un script que procese los datos y los presente en un orden cronológico claro.

La idea es leer cada evento y extraer solo la información que nos interesa (Fecha, ID, Mensaje, Usuario) a un nuevo objeto personalizado. Esto nos permite ordenar y mostrar los datos como queramos.

El siguiente script es un ejemplo avanzado que busca los eventos clave, extrae los detalles importantes (incluyendo el motivo del reinicio del evento 1074) y los muestra en orden cronológico.

$eventos = Get-WinEvent -FilterHashtable @{LogName='System'; ID=1074, 6008, 41, 1001} $informe = @() foreach ($evento in $eventos) { $datosEvento = [PSCustomObject]@{ Fecha = $evento.TimeCreated ID = $evento.Id Mensaje = $evento.Message.Split([Environment]::NewLine)[0] Usuario = $evento.Properties[6].Value Proceso = $evento.Properties[0].Value Motivo = $evento.Properties[2].Value Comentario = $evento.Properties[5].Value } $informe += $datosEvento } $informe | Sort-Object Fecha | Format-Table

Nota sobre $evento.Properties[X].Value: La información detallada de un evento (como el usuario o el motivo) se almacena en un array. Cada número (índice) corresponde a un campo específico. Esto permite extraer datos que normalmente están ocultos dentro del mensaje principal.

Visualización Mejorada con Out-GridView

Para hacer el análisis aún más fácil, en lugar de mostrar los resultados en la consola, podemos enviarlos a una ventana interactiva con filtros y capacidad de ordenación. Simplemente añade | Out-GridView al final de tu script:

$informe | Sort-Object Fecha | Out-GridView

Esto abrirá una ventana donde podrás hacer clic en las cabeceras para ordenar por fecha, ID o cualquier otro campo, y usar la barra de filtro para buscar eventos específicos. Es una forma increíblemente eficiente de analizar grandes cantidades de datos.

Interpretando los Resultados: ¿Reinicio Normal o Fallo Crítico?

Con toda esta información, puedes reconstruir la historia de tu sistema:

  • Escenario de Reinicio Planeado: Verás un evento 1074 que detalla qué aplicación (por ejemplo, el instalador de actualizaciones de Windows) o qué usuario solicitó el reinicio y por qué. A este le seguirá un evento 6006 (apagado limpio) y, tras el arranque, un 6005 (inicio del servicio de logs).
  • Escenario de Reinicio Inesperado: Notarás la ausencia de un evento 1074. En su lugar, después del arranque (evento 6005), verás un evento 6008 que te alerta de que el apagado anterior no fue normal. A menudo, esto irá acompañado de un evento 41 (Kernel-Power), que es el indicador principal de un fallo de energía, un cuelgue del sistema o un reinicio forzado. Si la causa fue un pantallazo azul, también deberías buscar un evento 1001 para obtener detalles del error.

Preguntas Frecuentes (FAQ)

¿Cómo puedo ver solo el último reinicio rápidamente?
Usa el Administrador de Tareas (pestaña Rendimiento > Tiempo de actividad) o el comando systeminfo | find "System Boot Time" en el Símbolo del Sistema.
¿Qué significa realmente el Event ID 41 (Kernel-Power)?
Es el indicador más claro de que el sistema perdió energía o dejó de responder y tuvo que ser reiniciado sin pasar por el proceso de apagado estándar. Es el punto de partida para investigar fallos de hardware (fuente de alimentación, memoria RAM) o problemas graves de software/drivers.
¿Por qué es importante el Evento 1074?
Porque te dice "quién" y "por qué". Si un servidor se reinicia por la noche, este evento te dirá si fue una actualización automática de Windows, una tarea programada o una acción manual de otro administrador, eliminando las conjeturas.
¿Puedo borrar estos registros?
Sí, los registros de eventos se pueden borrar, pero no es recomendable a menos que sepas lo que estás haciendo. Borrar los registros elimina pruebas vitales para la solución de problemas futuros.

Dominar la lectura del historial de reinicios es una habilidad invaluable. Te permite pasar de la incertidumbre a tener datos concretos para diagnosticar problemas de estabilidad, verificar el cumplimiento de las políticas de mantenimiento o simplemente entender mejor el comportamiento de tu PC. Con PowerShell, tienes una herramienta escalable y potente para obtener todas las respuestas que necesitas, directamente desde la fuente.

Si quieres conocer otros artículos parecidos a Historial de Reinicios en Windows: Guía Definitiva puedes visitar la categoría Juegos.

Subir