Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[RESOLU] probleme pour log d'arret systeme
Auteur Message
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
Bonjour,

En rapport avec ce projet

J'ai tenté de coder une fonction permettant de configurer le registre pour exécuter un fichier qui ajoute un simple log (date et heure d’arrêt du système) mais mes tests n’ont pas été concluent.
Mon but est simplement de pouvoir loguer l'heure d’arrêt du système, donc si vous avez une idée différente de la mienne et qui marche je suis preneur. de plus cela doit fonctionner à partir d'xp (nt 5.1)



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:10; édité 2 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
je n'ai pas compris Darkbatcher...




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
Bonjour
je n'ai pas compris ce que tu cherchais à faire.

tu souhaites programmer la fermeture de ton pc en enregistrant l'heure dans un fichier log c'est ça ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
dsl de ne pas avoir été clair Embarassed

je cite :"Mon but est simplement de pouvoir loguer l'heure d’arrêt du système"

Exemple avec la commande systeminfo:

donc pour l'heure de démarrage c'est ok, c'est pour récupérer l'heure d’arrêt que je coince.

Voila Smile

ps: j'ai cherché du coté de la commande wmic, j'ai cherché à faire un code qui s’exécute à l’arrêt du système pour récupérer l'heure à ce moment précis, j'ai spammé google mais rien de concluant... je regarde actuellement du coté de l'observateur d'évènement.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
bon.. j'ai une piste sérieuse Cool

voici le vbscript que j'ai réussi à pondre en exécutant une requête dans la table de l'observateur d’événement et en affichant le temps de l'évenement:
Code:

Set obj1 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") _
.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='13'")

For Each obj2 In obj1
   wscript.echo mid(obj2.TimeGenerated,1,14)
Next


il me reste plus qu'a trouver comment faire pour que sa n'affiche que le première temps d’arrêt. sa doit être simple sauf que je suis loin d’être un expert en vbscript ^^




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
Lut ça ne correspond pas à ce que tu veux ?
Code:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent " _
& "Where Logfile = 'System'" _
& "And SourceName = 'eventlog'" _
& "And EventCode = '6005'")
For Each objEvent in colLoggedEvents
dateTime.Value = objEvent.TimeWritten
Wscript.Echo "System Started At: " & dateTime.GetVarDate & VBNewLine
Exit For
Next
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent " _
& "Where Logfile = 'System'" _
& "And SourceName = 'eventlog'" _
& "And EventCode = '6006'")
For Each objEvent in colLoggedEvents
dateTime.Value = objEvent.TimeWritten
Wscript.Echo "System Stopped At: " & dateTime.GetVarDate & VBNewLine
Exit For
Next





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
Génial!, ton script apporte toutes les réponses à mes lacunes en vbscript Smile
Ton script correspond parfaitement à ce que je recherche, et je m'en suis servi pour adapter le mien (ce qui donne un script plus compact même si il peut paraitre moins propre):
Code:

Set obj1 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set tps = CreateObject("WbemScripting.SWbemDateTime")
set obj2 = obj1.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='12'")
For Each obj3 In obj2
   tps.Value = obj3.TimeGenerated
   wscript.echo "Start_" & tps.GetVarDate
Exit For
Next
set obj2 = obj1.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='13'")
For Each obj3 In obj2
   tps.Value = obj3.TimeGenerated
   wscript.echo "Stop_" & tps.GetVarDate
Exit For
Next


Merci Lady Okay




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
Quand je teste ton script il ne fonctionne pas, ça se trouve il n'est pas complet




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
il marche très bien chez moi (W7x64). après je l'ai testé sur un os virtuel xp mode et il n'affichait pas les dates de démarrage et d’arrêt parce qu'il n'y avait aucun EventCode 12 et 13 sur ce système. Y sont-il sur le tien? as-tu essayé avec les EventCode 6006 et 6005 comme dans ton script ? sinon il affiche un message d'erreur sur ton poste ?




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU] probleme pour log d'arret systeme 
Ouep tu vas devoir faire une vérification de l'OS parce que le code fonctionnait bien sous XP PRO..

Ce code fonctionne sous XP pro - vérifié.
Code:

Set obj1 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set tps = CreateObject("WbemScripting.SWbemDateTime")
set obj2 = obj1.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='6005'")
For Each obj3 In obj2
   tps.Value = obj3.TimeGenerated
   wscript.echo "Start_" & tps.GetVarDate
Exit For
Next
set obj2 = obj1.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='6006'")
For Each obj3 In obj2
   tps.Value = obj3.TimeGenerated
   wscript.echo "Stop_" & tps.GetVarDate
Exit For
Next





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [RESOLU] probleme pour log d'arret systeme 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch