Essayez WEvtUtil.exe
Il n'y a aucun moyen via l'interface graphique d'effacer tous les journaux à la fois. Du moins pas que j'aie jamais trouvé. :)
Boucle et suppression avec un fichier intermédiaire
Voici un fichier de commandes qui utilise WEVTUTIL.exe pour répertorier les journaux dans un fichier texte, puis utilisez ce fichier texte pour supprimer chacun des journaux.
WEVTUTIL EL > .\LOGLIST.TXT
for /f %%a in ( .\LOGLIST.TXT ) do WEVTUTIL CL "%%a"
del .\LOGLIST.TXT
timeout 30
Si vous ne vous sentez pas en sécurité de disposer de tout cela dans un fichier de commandes, vous pouvez l'enregistrer dans deux fichiers distincts, puis l'exécuter l'un après l'autre:
(Le lot "Nuke" ne fera qu'une erreur s'il ne trouve pas de "loglist.txt" "dans son répertoire actuel.)
Populate-LogList.cmd
@ECHO OFF
REM Source: /superuser//a/655185/389368
WEvtUtil.exe enum-logs > .\LOGLIST.TXT
Nuke-LogList.cmd
@ECHO OFF
REM Source: /superuser//a/655185/389368
for /f %%a in ( .\LOGLIST.TXT ) do WEvtUtil.exe clear-log "%%a"
del .\LOGLIST.TXT
timeout 30
Boucle et supprime directement
Comme Logman l'a souligné dans sa réponse , cela peut être encore raccourci (et éliminer la nécessité du fichier texte intermédiaire) en utilisant quelque chose comme (% double pour le fichier de commandes):
for /f %%a in ('WEVTUTIL EL') do WEVTUTIL CL "%%a"
timeout 30
Exécuter en tant qu'administrateur!
Quelle que soit la manière que vous choisissez, assurez-vous de "Exécuter en tant qu'administrateur".
La solution la plus simple que j'ai trouvée. Je l'utilise depuis Vista. :)
wevtutil
dans le système.Ouvrez l'invite cmd ou créez un script de commandes et "exécutez en tant qu'administrateur":
Code Powershell pour effacer tous les journaux d'événements:
ou choisissez dans un script:
etc...
Vous pouvez obtenir une liste complète de tous les noms de catégories d'événements en tapant ce qui suit dans une invite cmd ou un PowerShell:
Plus d'informations peuvent être trouvées sur MS TechNet . Exemples:
Exportez les événements du journal système vers C: \ backup \ system0506.evtx:
Effacez tous les événements du journal des applications après les avoir enregistrés dans C: \ admin \ backups \ a10306.evtx:
la source
wevtutil est assez lent, spécialement lorsque vous effacez tous les journaux (y compris les journaux vides)
la solution la plus rapide que j'ai trouvée:
ForEach ( $l in ( Get-WinEvent * ).LogName | sort | get-unique ) {[System.Diagnostics.Eventing.Reader.EventLogSession]::GlobalSession.ClearLog("$l")}
Résultat: "Effacé 16 événements dans 4 journaux: 0,3684785 secondes"
Chaque partie:
obtient uniquement les journaux contenant des événements (il y aura des noms de journaux en double)
ForEach ($ l in (Get-WinEvent *) .LogName | sort | get-unique)
effacer chacun
System.Diagnostics.Eventing.Reader.EventLogSession] :: GlobalSession.ClearLog ("$ l")
Fonction complète:
Si vous voyez "Get-WinEvent: les données ne sont pas valides", vous avez atteint la limite stricte non documentée de 256 journaux. Il peut être nécessaire de filtrer les journaux en premier. Les éléments suivants sélectionneront uniquement les journaux contenant des événements (crédit à http://www.powershellish.com/blog/2015/01/19/get-winevent-max-logs/ pour le diagnostic):
la source
Il est important d'utiliser l'option delim si vous avez des espaces dans les noms:
Vous pouvez également désactiver facilement tous les journaux d'événements sans arrêter le service de journal des événements:
Bien sûr, cela ne désactivera que les événements logiciels réellement installés, si vous installez un nouveau logiciel, la journalisation sera activée par défaut. Mais heureusement, vous pouvez laisser le Planificateur de tâches fonctionner, alors faites-le tous les mois ;-)
la source
WEVTUTIL sl /?
sur une ligne de commande.BTW, cela efface tous les fichiers journaux, ce qui peut (en fonction des paramètres précédents) libérer assez d'espace
la source
J'ai utilisé des fichiers .bat pour faciliter un peu l'effacement des fichiers journaux. Je viens de choisir le script simple ici
http://winaero.com/blog/how-to-clear-the-windows-event-log-from-the-command-line/
Copié à partir de ce lien.
Ouvrez le Bloc-notes et copiez-collez-y le texte.
Enregistrez-le en tant que fichier de commandes et donnez-lui le nom que vous souhaitez, par exemple: ClEvtLog.bat ou ClEvtLog.cmd.
Exécutez-le avec les droits d'administrateur.
la source