Série de fonctions à effectuer sur les logs et évènements
# 0000000062
ajouté le 17/11/2004 19:55:40 et modifié le 17/11/2004
consulté 8211 fois
Niveau
expert
Version(s) Foxpro : VFP 7.0
Description
Voici quelques fonctions pour utliser avec les logs et événements sur un ordinateur. Normallement on peut trouver les enregistrements dans ControlPanel->Admistrative Tools->Event Viewer.
Code source :
&& Ajouter un entré dans le Event log, pour enristrer un erreur.
#define EVENT_FAILED 2
loShell = CreateObject("Wscript.Shell")
loNetwork = CreateObject("Wscript.Network")
lcComputer = "."
loWMIService = GetObject("winmgmts:" ;
+ "{impersonationLevel=impersonate}!\\" + lcComputer + "\root\cimv2")
colDiskDrives = loWMIService.ExecQuery ;
("Select * from win32_perfformatteddata_perfdisk_logicaldisk") Foreach loDisk in colDiskDrives
lcDriveSpace = loDisk.Name + " " + TRANSFORM(loDisk.FreeMegabytes) ;
+ chr(13)+chr(10) Next
lcEventDescription = "L'application Visual FoxPro n'a pu etre installée sur" ;
+ loNetwork.UserDomain + "\" + loNetwork.ComputerName ;
+ " by user " + loNetwork.UserName + ; ". l'espace libre est seulement de: " + lcDriveSpace
loShell.LogEvent(EVENT_FAILED, lcEventDescription)
&& Comment faire un copie du log 'Application' et supprimer toutes les entrées dans le log.
lcComputer = "."
loWMIService = Getobject("winmgmts:" ;
+ "{impersonationLevel=impersonate,(Backup)}!\\" + ;
lcComputer + "\root\cimv2")
colLogFiles = loWMIService.ExecQuery ;
("Select * from Win32_NTEventLogFile where LogFileName='Application'") ForEach loLogfile In colLogFiles
errBackupLog = loLogfile.BackupEventLog("c:\scripts\application.evt") If errBackupLog <> 0
?"The Application event log could not be backed up." Else
loLogfile.ClearEventLog() Endif Next
&& Comment faire un copie d'un des trois log (Application,System,Security) seulement si il atteint un certaine grosseure et supprimer toutes les entrées dans le log.