¿Cómo registro los tiempos de inicio y apagado en Windows 7?

18

Me gustaría registrar los momentos en que mi computadora se inicia y se apaga. No necesito ninguna información de diagnóstico ni nada, solo una simple nota de la fecha y la hora, por ejemplo, algo como:

2011/04/29 08:17:34 AM Startup
2011/04/29 05:26:52 PM Shutdown

¿Cómo puedo hacer eso?

Hasta ahora, mis búsquedas en Google han generado que muchas personas pregunten sobre la reducción de los tiempos de inicio de Windows, pero nada de interés para la tarea en cuestión.

Will Martin
fuente

Respuestas:

26

Windows usa registros de eventos con el Visor de eventos para registrar este tipo de cosas:

El Id. De evento # 6005 indica el inicio del sistema

El Id. De evento # 6006 indica el apagado del sistema

Debe crear una vista personalizada en el Visor de eventos que filtre esos dos ID de eventos con el origen como el registro de eventos.

Esta es la forma más simple.

Alternativamente, puede usar el cmdlet Get-WinEvent de PowerShell para crear un filtro personalizado y canalizar esos elementos a un archivo de texto.

O ... puede usar Get-EventLog para canalizar un registro de eventos personalizado (que crea con las vistas personalizadas ...) a un archivo de texto.

yeedl
fuente
¿Hay alguna forma de conocer el inicio de sesión del sistema \ tiempos de suspensión?
Viktor Sehr
No tengo idea de cómo crear esas vistas, incluso después de haber leído esas páginas. Pero hay una manera más fácil. Abre Event Viewer, haz clic en Windows Logs-> System. En el lado derecho existe Filter Current Log..., haga clic en él y cuando la nueva ventana aparece inserto 6006en All Event ID'sy haga clic Ok. Esto mostrará solo eventos de apagado del sistema. Haga lo mismo para el inicio del sistema.
Machineaddict
cosas útiles ...
Fernando Espinosa
1

6005 muestra el inicio de los eventos de registro, pero supongo que también aparecerá en caso de reinicios, es decir, Windows no hace una diferencia entre un "inicio completo" o un reinicio en caliente.

Si el propósito es buscar solo el primer inicio y el último cierre, uno tiene que eliminar cualquier entrada doble 6005.

Conmigo, la identificación del evento 12 es la primera y la identificación del evento 13 es la última.

12: No se pudo encontrar la descripción del Id. De evento (12) en Origen (Microsoft-Windows-Kernel-General). El componente que provoca este evento no está instalado en la computadora o la instalación está dañada. Puede instalar o reparar el componente o intentar cambiar el Servidor de descripción.

13: No se pudo encontrar la descripción del Id. De suceso (13) en Origen (Microsoft-Windows-Kernel-General). El componente que provoca este evento no está instalado en la computadora o la instalación está dañada. Puede instalar o reparar el componente o intentar cambiar el Servidor de descripción.

La siguiente información se incluyó con el evento (cadenas de inserción): 2012-12-25T18: 23: 26.070181000Z

PD: Aparte de eso, tengo una serie de casos en los que se registraron unos 6005, pero no 6006 a continuación. Uno tiene que agregar manualmente el cierre de sesión real basado en, por ejemplo, la última entrada del registro de eventos de ese día.

Mike994
fuente
1

Usando Get-EventLog de PowerShell, el siguiente (largo) one-liner generará la salida solicitada en un archivo de texto:

Get-EventLog -LogName System | Where-Object {(($_.EventID -eq 6005) -or ($_.EventID -eq 6006)) -and ($_.TimeGenerated -gt [DateTime] "2017-05-01")} | Select-Object EventID, TimeGenerated, Message | Sort-Object -Property TimeGenerated | Foreach { if ($_.EventID -eq 6005) { $out = "Startup"  } else { $out = "Shutdown" + "`r`n"}  ($_.TimeGenerated.ToString() + '  ' + $out); } > C:\temp2\_ComputerStartsAndStops.log

Notas

  • El directorio C:\temp2debe existir para que esto funcione. Si no existe, créelo o cambie la línea para usar otro directorio (existente).
  • Para obtener la salida en formato ISO 8601 , reemplace " TimeGenerated.ToString()" con " TimeGenerated.ToString("s")".
  • Hay un filtro de tiempo incorporado en el one-liner (solo incluye inicio y apagado después del 2017-05-01). Cambie "2017-05-01" a otra cosa si se necesitan arranques y paradas anteriores.
  • Si la salida se requiere en orden cronológico inverso, reemplace " Sort-Object" con " Sort-Object -Descending".
  • Como utiliza Get-EventLog, también funcionará en versiones anteriores de Windows.

Instrucción

El one-liner se puede poner en un script, pero luego los permisos deben ser atendidos antes de que funcione. En cambio, la forma más fácil es:

  1. Abra un símbolo del sistema de Windows: Window+ R, escriba CMDy presione Enter.
  2. Escribe powershelly presiona Enter. (En Windows 10, PowerShell se puede abrir directamente con Window+ Xy seleccionando "Windows PowerShell" )
  3. Copie el one-liner en el portapapeles.
  4. Pegue en el one-liner: Alt+ SpaceEditarPegar (en las versiones más nuevas de Windows, el normal Ctrl+ Vrealmente funciona en las ventanas CMD y PowerShell (ambas ahora se ejecutan con conhost.exe)).
  5. prensa Enter
  6. Espere hasta que termine (puede llevar bastante tiempo, especialmente si se trata de una instalación antigua de Windows).
  7. El resultado se puede encontrar en el archivo C:\temp2\_ComputerStartsAndStops.log.
Peter Mortensen
fuente