[Batch] Supprimer tous les logs qui apparaissent dans l'observateur d'éléments V2

Vous trouverez ici des scripts pour faciliter la gestion de votre ordinateur. Ils sont proposés tels quels par le rédacteur du message. La team ne vérifie pas la qualité de ces éléments et n'assure pas le support ni la maintenance. Vous les utilisez sous votre seule responsabilité.
Règles du forum
Pour les créateurs de scripts

Veuillez noter que les scripts que vous partagez ici sont proposés tels quels et la team ne vérifie pas leur qualité.
Nous vous rappelons que nous n'assurons ni le support ni la maintenance des scripts publiés.

Pour faciliter leur utilisation par les autres membres de la communauté, respectez ces consignes :
.
  • Utilisez les préfixes de langage pour taguer les messages.
  • Assurez-vous que vos scripts sont clairs et bien documentés
.
Merci de votre compréhension et de votre contribution.
Répondre
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 1132
Enregistré le : mar. 17 mars 2020 11:49
A remercié : 108 fois
A été remercié : 111 fois
    Windows 10 Firefox

[Batch] Supprimer tous les logs qui apparaissent dans l'observateur d'éléments V2

Message par pboulanger »

Bonjour à tous,

Voici la version V2 du batch de suppression des journaux Microsoft de l'observateur d'évènement.
Elle est validée sur Windows 11 Pro X64 23H2 build 22631.3958.


Le code commenté

Code : Tout sélectionner

@echo off
:: Définit la page de code sur UTF-8
chcp 65001 >nul

:: Vérifier si le script est exécuté en tant qu'administrateur
openfiles >nul 2>&1
if %errorlevel% neq 0 (
    :: Redémarrer le script en mode administrateur
    echo Demande de privilèges d'administrateur...
    powershell -Command "Start-Process cmd -ArgumentList '/c %~s0' -Verb RunAs"
    exit /b
)

:: Script pour nettoyer tous les journaux d'événements sur un système Windows

:: Vider le fichier error.log au début du script
>error.log echo. 

:: Initialiser les compteurs de succès et d'erreurs
set "successCount=0"
set "errorCount=0"

:: Récupérer la liste de tous les journaux d'événements
for /f "tokens=*" %%A in ('wevtutil el') do (
    set "log=%%A"
    :: Nettoyer le journal d'événement
    wevtutil cl "%%A" 2>>error.log
    if %errorlevel% neq 0 (
        echo Erreur lors du nettoyage du journal %%A >> error.log
        set "errors=1"
        set /a errorCount+=1
    ) else (
        echo Le journal %%A a été nettoyé avec succès.
        set /a successCount+=1
    )
)

:: Afficher les résultats après l'exécution
if defined errors (
    echo Des erreurs ont été rencontrées lors du nettoyage des journaux d'événements. Voir error.log pour plus de détails.
) else (
    echo Tous les journaux d'événements ont été nettoyés avec succès sans aucune erreur.
)

:: Afficher le nombre de journaux nettoyés avec succès et le nombre d'erreurs
echo Nombre de journaux nettoyés avec succès : %successCount%
echo Nombre de journaux non effacés : %errorCount%

:: Laisser le message de résultat affiché à l'écran
echo Appuyez sur une touche pour fermer...
pause >nul
Que fait le script ?
  • Vérification des droits administratifs :
    Le script vérifie si les droits administratifs sont présents en utilisant la commande openfiles. Si ce n'est pas le cas, il redémarre le script en mode administrateur en utilisant PowerShell.
     
  • Vérification de la présence du fichier error.log
    Si ce fichier existe, il est supprimé avant l'exécution du script.
     
  • Récupération et nettoyage des journaux d'événements :
    Le script utilise wevtutil el pour obtenir la liste de tous les journaux d'événements et wevtutil cl pour nettoyer chaque journal. Les erreurs rencontrées sont stockées dans une variable.
     
  • Affichage des résultats :
    Les résultats sont affichés après l'exécution de toutes les commandes de nettoyage.
     
  • Affichage de deux compteurs
    Le script affiche deux compteurs, l'un pour le nombre de fichiers effacés, l'autre pour le nombre de fichiers n'ayant pu être effacés, ces derniers sont recensés sous forme de liste dans le fichier Error.log dans le répertoire de lancement du script.
     
  • Pause à la fin du script :
    Le script utilise pause pour attendre que l'utilisateur appuie sur une touche avant de se fermer, permettant ainsi de voir tous les messages avant la fermeture.
Exécuter le script
  • Ouvrez un éditeur de texte comme Notepad.
  • Copiez et collez le script ci-dessus dans l'éditeur.
  • Enregistrez le fichier avec l'extension .bat, par exemple nettoyer_journaux.bat.
  • Double clic pour exécuter le script .
Amicalement,

Pierre
Avatar du membre
MyPOV
Membre VIP
Membre VIP
Messages : 1264
Enregistré le : sam. 11 déc. 2021 14:40
A remercié : 116 fois
A été remercié : 152 fois
    Windows 10 Chrome

Re: [Batch] Supprimer tous les logs qui apparaissent dans l'observateur d'éléments V2

Message par MyPOV »

Bonsoir pboulanger :) ça serait bien d'avoir un petit texte qui précise ce que tu as fait évoluer ou corriger entre les versions V1 et V2, sinon ça oblige à analyser le contenu script ; ce qui est peut-être un choix de ta part :!:
"𝓛𝓮 𝓭𝓸𝓾𝓽𝓮 𝓮𝓼𝓽 𝓵𝓮 𝓬𝓸𝓶𝓶𝓮𝓷𝓬𝓮𝓶𝓮𝓷𝓽 𝓭𝓮 𝓵𝓪 𝓼𝓪𝓰𝓮𝓼𝓼𝓮" 𝖠𝗋𝗂𝗌𝗍𝗈𝗍𝖾, 𝖼𝗈𝗆𝗉𝗅𝗈𝗍𝗂𝗌𝗍𝖾 𝖦𝗋𝖾𝖼
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 1132
Enregistré le : mar. 17 mars 2020 11:49
A remercié : 108 fois
A été remercié : 111 fois
    Windows 10 Firefox

Re: [Batch] Supprimer tous les logs qui apparaissent dans l'observateur d'éléments V2

Message par pboulanger »

Bonjour Bruno,

C'est décrit dans la section "Que fait le script ".

L'objectif est de livrer du code afin que tous se l’approprient...
Fidèle à l'esprit de la TEAM, je suis dans une démarche de partage de connaissance sinon je fournirai des produits compilés.

Pour t'être agréable ...

Ce qui a évolué :
  • Ajout de la création d'un fichier ERROR.LOG
  • Affichage de deux compteurs en fin de script
    • le nombre de fichiers traités
    • le nombre de fichiers non purgés
Passe une belle journée
Amicalement,

Pierre
Répondre