Situation Pro : Journalisation des connexions utilisateurs – Script CMD & Planificateur de tâches

1. Contexte et Objectifs

Mise en place d'un système automatisé de journalisation des connexions utilisateurs sur Windows. À chaque ouverture de session, un script batch enregistre l'heure, le nom du poste, l'utilisateur et son adresse IP dans un fichier journal quotidien.

2. Besoins identifiés

Tracer automatiquement chaque connexion sans intervention manuelle. Générer un fichier journal par jour au format conn_yyyymmdd.txt. Rendre le répertoire de stockage paramétrable à l'appel du script. Déclencher le script automatiquement à chaque ouverture de session.

3. Solution technique retenue

Script batch .bat utilisant les variables d'environnement Windows (%USERNAME%, %COMPUTERNAME%, %DATE%, %TIME%) et ipconfig | findstr "IPv4" pour récupérer l'adresse IP. Le répertoire de destination est passé en argument (%1). Le Planificateur de tâches Windows déclenche le script à chaque connexion utilisateur. En bonus, le script est ajouté à la variable PATH système pour un appel simplifié.

4. Réalisation

Création du script tp_loggedin.bat avec gestion du paramètre %1. Construction du nom de fichier au format conn_yyyymmdd.txt via les variables de date. Récupération de l'adresse IPv4 et écriture en mode ajout (>>) dans le journal. Test manuel en console et vérification du fichier généré. (Bonus) Déplacement dans C:\scripts_exos\ et ajout au PATH système. Création de la tâche dans le Planificateur : déclencheur ouverture de session, action pointant vers le script avec C:\tp_loggedin en argument. Vérification après déconnexion/reconnexion.

5. Preuves de réalisation finale

Capture de la tâche Capture Script

Script .bat Capture Script 2