Comment enregistrer les heures de démarrage et d'arrêt dans Windows 7?


18

Je voudrais enregistrer les heures auxquelles mon ordinateur démarre et s'arrête. Je n'ai besoin d'aucune information de diagnostic ou quoi que ce soit, juste une simple note de la date et de l'heure, par exemple quelque chose comme:

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

Comment puis je faire ça?

Jusqu'à présent, mes recherches sur Google ont amené de nombreuses personnes à se poser des questions sur la réduction des temps de démarrage de Windows, mais rien d'intéressant pour la tâche à accomplir.

Réponses:


26

Windows utilise des journaux d'événements avec l'Observateur d'événements pour enregistrer ce genre de chose:

L'ID d'événement # 6005 indique le démarrage du système

L'ID d'événement # 6006 indique l'arrêt du système

Vous devez créer une vue personnalisée dans l'Observateur d'événements qui filtrera ces deux ID d'événement, la source étant le journal des événements.

C'est le moyen le plus simple.

Vous pouvez également utiliser l' applet de commande Get-WinEvent de PowerShell pour créer un filtre personnalisé et diriger ces éléments vers un fichier texte.

Ou ... vous pouvez utiliser le Get-EventLog pour diriger un journal des événements personnalisé (que vous créez avec les vues personnalisées ...) vers un fichier texte.


Existe-t-il un moyen de connaître les heures de connexion au système \ sommeil?
Viktor Sehr

Je ne sais pas comment créer ces vues, même après avoir lu ces pages. Mais, il existe un moyen plus simple. Ouvrez Event Viewer, cliquez sur Windows Logs-> System. Du côté droit , il y a Filter Current Log..., cliquez dessus et lorsque la nouvelle fenêtre apparaît insertion 6006sur All Event ID'set cliquez sur Ok. Cela affichera uniquement les événements d'arrêt du système. Faites de même pour le démarrage du système.
machineaddict

trucs utiles ...
Fernando Espinosa

1

6005 montre le début des événements de journalisation, mais je suppose qu'il apparaîtra également en cas de redémarrage, c'est-à-dire que Windows ne fait pas de différence entre un «démarrage complet» ou un redémarrage à chaud.

Si le but est de rechercher le premier démarrage et la dernière fermeture uniquement, il faut supprimer les doubles entrées 6005.

Avec moi, l'ID d'événement 12 est le tout premier et l'ID d'événement 13 est le dernier.

12: La description de l'ID d'événement (12) dans la source (Microsoft-Windows-Kernel-General) est introuvable. Soit le composant qui déclenche cet événement n'est pas installé sur l'ordinateur, soit l'installation est corrompue. Vous pouvez installer ou réparer le composant ou essayer de changer le serveur de description.

13: La description de l'ID d'événement (13) dans la source (Microsoft-Windows-Kernel-General) est introuvable. Soit le composant qui déclenche cet événement n'est pas installé sur l'ordinateur, soit l'installation est corrompue. Vous pouvez installer ou réparer le composant ou essayer de changer le serveur de description.

Les informations suivantes ont été incluses avec l'événement (chaînes d'insertion): 2012-12-25T18: 23: 26.070181000Z

PS: Cela mis à part, j'ai un certain nombre d'exemples où quelques 6005 ont été enregistrés, mais aucun 6006 qui suit. Il faut ajouter manuellement la fermeture de session réelle sur la base, par exemple, de la dernière entrée du journal des événements ce jour-là.


1

En utilisant Get-EventLog de PowerShell, le (long) one-liner suivant produira la sortie demandée dans un fichier texte:

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

Remarques

  • Le répertoire C:\temp2doit exister pour que cela fonctionne. S'il n'existe pas, créez-le ou modifiez le one-liner pour utiliser un autre répertoire (existant).
  • Pour obtenir la sortie au format ISO 8601 , remplacez " TimeGenerated.ToString()" par " TimeGenerated.ToString("s")".
  • Il y a un filtre de temps intégré dans le monocylindre (incluant uniquement les démarrages et les arrêts après le 01/05/2017). Remplacez «2017-05-01» par autre chose si un démarrage et des arrêts plus anciens sont nécessaires.
  • Si la sortie est requise dans l'ordre chronologique inverse, remplacez " Sort-Object" par " Sort-Object -Descending".
  • Comme il utilise Get-EventLog, il fonctionnera également sur les anciennes versions de Windows.

Instruction

Le one-liner peut être mis dans un script, mais les autorisations doivent ensuite être prises en compte avant de fonctionner. Au lieu de cela, le moyen le plus simple consiste à:

  1. Ouvrez une invite de commande Windows: Window+ R, tapez CMDet appuyez sur Enter.
  2. Tapez powershellet appuyez sur Enter. (Sous Windows 10, PowerShell peut être ouvert directement par Window+ Xet en choisissant "Windows PowerShell" )
  3. Copiez le one-liner dans le presse-papiers.
  4. Collez dans le one-liner: Alt+ SpaceÉditionColler (sur les versions plus récentes de Windows, le Ctrl+ normal fonctionneV réellement dans les fenêtres CMD et PowerShell (les deux s'exécutent maintenant sous conhost.exe)).
  5. presse Enter
  6. Attendez qu'il se termine (cela peut prendre un certain temps, surtout s'il s'agit d'une ancienne installation de Windows).
  7. Le résultat peut être trouvé dans le fichier C:\temp2\_ComputerStartsAndStops.log.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.