TP fil rouge — Fichiers & automatisation

Cas réel d’exploitation : audit, organisation, rapport, logs et planification.
Contexte professionnel

Vous êtes technicien TSSR. Un dossier partagé contient de nombreux fichiers non organisés. Votre mission est de fournir un script PowerShell capable :

  • d’analyser le contenu (audit),
  • d’organiser les fichiers par type (action),
  • de produire un rapport lisible,
  • d’écrire des logs exploitables,
  • d’être exécutable sans interaction (planification).
Objectifs évalués

Techniques

  • Get-ChildItem, New-Item, Move-Item
  • Out-File, Add-Content
  • param(), Try/Catch

Méthodologiques

  • Mode audit / mode action
  • Robustesse et contrôles
  • Traçabilité (logs)

Exploitation

  • Script planifiable
  • Codes retour
  • Lecture des rapports
Travail demandé

Script attendu

Créer un script audit-organize.ps1 qui :

  1. prend en paramètres :
    • -SourceDir (obligatoire)
    • -Mode : Audit ou Action
  2. vérifie l’existence du dossier
  3. liste les fichiers (hors logs/rapport)
  4. classe les fichiers par extension :
    • TXT, LOG, CSV, etc.
    • SANS_EXTENSION si besoin
  5. produit :
    • un rapport report.txt
    • un log script.log
Contraintes
  • Aucune saisie interactive (Read-Host interdit)
  • Le mode Audit ne modifie rien
  • Les erreurs doivent être loguées
  • Le script doit pouvoir être planifié
Structure conseillée
# 1. Paramètres
# 2. Contrôles
# 3. Préparation rapport & logs
# 4. Traitement de masse
# 5. Fin + code retour
Livrables attendus
  • audit-organize.ps1
  • Capture ou copie du report.txt
  • Capture ou copie du script.log
  • Commande utilisée pour la planification
Évaluation

Fonctionnel (50%)

  • Script exécutable
  • Audit correct
  • Action conforme

Qualité (30%)

  • Lisibilité
  • Commentaires
  • Logs clairs

Exploitation (20%)

  • Planifiable
  • Codes retour
  • Gestion d’erreurs
Option (bonus)
  • Ajout d’un paramètre -LogDir
  • Ajout d’un mode -WhatIf
  • Statistiques dans le rapport (nombre de fichiers par type)
© 2026 — JcMamiah · PowerShell (TSSR)