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

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

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

Message par pboulanger »

Bonjour

Pour les aficionados de Python, voici une transposition du script PWS dans ce langage...

CODE

Code python commenté :

Code : Tout sélectionner

import subprocess
import ctypes
import sys

# Fonction pour vérifier si le script est exécuté en tant qu'administrateur
def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except:
        return False

# Fonction pour exécuter une commande et capturer sa sortie
def run_command(command):
    result = subprocess.run(command, capture_output=True, text=True, shell=True)
    return result.returncode, result.stdout, result.stderr

# Fonction pour afficher les messages avec couleur
def print_colored(message, color):
    colors = {
        "green": "\033[92m",
        "red": "\033[91m",
        "yellow": "\033[93m",
        "cyan": "\033[96m",
        "reset": "\033[0m"
    }
    print(f"{colors[color]}{message}{colors['reset']}")

# Si le script n'est pas exécuté en tant qu'administrateur, redémarrer en mode administrateur
if not is_admin():
    print("Redémarrage du script en tant qu'administrateur...")
    ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
    exit()

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

# Récupérer la liste de tous les journaux d'événements
retcode, eventLogs, error = run_command("wevtutil el")
if retcode != 0:
    print_colored(f"Erreur lors de la récupération des journaux d'événements : {error}", "red")
    exit(1)

eventLogs = eventLogs.splitlines()

# Initialiser une liste pour stocker les erreurs
errors = []

# Parcourir chaque journal d'événement et le nettoyer
for log in eventLogs:
    retcode, stdout, stderr = run_command(f"wevtutil cl {log}")
    if retcode == 0:
        print_colored(f"Le journal {log} a été nettoyé avec succès.", "green")
    else:
        errorMessage = f"Erreur lors du nettoyage du journal {log} : {stderr}"
        errors.append(errorMessage)
        print_colored(errorMessage, "red")

# Afficher les erreurs après l'exécution
if errors:
    print_colored("Des erreurs ont été rencontrées lors du nettoyage des journaux d'événements :", "yellow")
    for error in errors:
        print_colored(error, "red")
else:
    print_colored("Tous les journaux d'événements ont été nettoyés avec succès sans aucune erreur.", "green")

# Laisser le message de résultat affiché à l'écran
print_colored("Appuyez sur une touche pour fermer...", "cyan")
input()


Instructions pour exécuter le script

Pré-requis :
  • Assurez-vous d'avoir Python installé sur votre système. Vous pouvez télécharger Python depuis python.org.
Créer le script :
  • Ouvrez un éditeur de texte comme Notepad, Notepad++, ou VSCode.
  • Copiez et collez le script ci-dessus dans l'éditeur de texte.
  • Enregistrez le fichier avec une extension .py, par exemple nettoyer_journaux.py.
Exécuter le script :
[*] Ouvrez l'invite de commandes en mode administrateur :
  • Cliquez sur le menu Démarrer.
  • Tapez cmd ou Invite de commandes.
  • Faites un clic droit sur Invite de commandes et sélectionnez Exécuter en tant qu'administrateur.
Dans l'invite de commandes, accédez au répertoire où vous avez enregistré le script :

Code : Tout sélectionner

cd chemin\vers\le\répertoire
Remplacez chemin\vers\le\répertoire par le chemin réel où se trouve votre script.

Lancez le script en tapant :

Code : Tout sélectionner

python nettoyer_journaux.py
Si le script n'est pas déjà en mode administrateur, il redémarrera automatiquement en mode administrateur. Sinon, il commencera à nettoyer les journaux d'événements.

Privilèges administratifs :
  • Le script nécessite des privilèges administratifs pour nettoyer les journaux d'événements. Si vous ne l'exécutez pas en tant qu'administrateur, il tentera de se redémarrer avec les privilèges nécessaires.

Affichage des résultats
  • Le script affichera les journaux nettoyés avec succès en vert et les erreurs en rouge. Après l'exécution, il affichera un message pour appuyer sur une touche pour fermer, permettant de voir tous les messages avant la fermeture.
Amicalement,

Pierre
Répondre