# 📋 Script de Synchronisation vers C:\MDT ## 📝 Description Ce script automatise la synchronisation des dossiers `Control` et `Scripts` du projet MDT vers `C:\MDT`. **Fonctionnalités:** - ✅ Détecte les fichiers modifiés via hash MD5 - ✅ Copie les fichiers manquants - ✅ Crée automatiquement la structure de dossiers - ✅ Mode DRY-RUN pour prévisualiser les changements - ✅ Résumé détaillé des opérations ## 🚀 Utilisation ### Option 1: Interface Interactive (Recommandé) Double-cliquez sur `Sync-ToMDT.bat` pour lancer l'interface de menu: ``` 1. Mode DRY-RUN (afficher ce qui serait fait) 2. Synchroniser MAINTENANT (vrai changement) 3. Quitter ``` ### Option 2: Direct PowerShell **Mode DRY-RUN (test):** ```powershell .\Sync-ToMDT.ps1 -DryRun ``` **Mode RÉEL (synchronisation):** ```powershell .\Sync-ToMDT.ps1 ``` **Avec chemins personnalisés:** ```powershell .\Sync-ToMDT.ps1 -SourceBase "C:\Dev\Infra-LAB\projects\MDT" -DestinationBase "C:\MDT" ``` ## 📊 Exemple de Sortie ``` ╔════════════════════════════════════════════════════════╗ ║ Script de Synchronisation vers C:\MDT ║ ╚════════════════════════════════════════════════════════╝ Source: C:\Dev\Infra-LAB\projects\MDT Destination: C:\MDT === Synchronisation du dossier: Control === [NOUVEAU] CustomSettings.ini [MODIFIÉ] Settings.xml [NOUVEAU] Medias.xml Résumé - Control: • Fichiers ajoutés: 2 • Fichiers mis à jour: 1 • Fichiers inchangés: 1 === Synchronisation du dossier: Scripts === [NOUVEAU] BDD_Autorun.wsf ... Résumé - Scripts: • Fichiers ajoutés: 5 • Fichiers mis à jour: 3 • Fichiers inchangés: 42 ╔════════════════════════════════════════════════════════╗ ║ ✓ Synchronisation terminée avec succès ║ ╚════════════════════════════════════════════════════════╝ ``` ## 🔍 Détails Technique ### Ce que le script fait: 1. Parcourt tous les fichiers des dossiers source `Control` et `Scripts` 2. Pour chaque fichier: - S'il n'existe pas en destination → **COPIE** ✅ - S'il existe mais est différent (hash MD5) → **MET À JOUR** 🔄 - S'il existe et est identique → **IGNORE** ⏭️ 3. Crée automatiquement les dossiers nécessaires 4. Affiche un rapport détaillé ### Algorithme de comparaison: - Utilise MD5 pour détecter les modifications - Rapide et fiable pour les fichiers texte et binaires - Ignore la date de modification (plus précis) ## ⚠️ Important - **DRY-RUN mode**: Affiche ce qui serait fait SANS rien modifier - **À toujours tester d'abord en DRY-RUN avant synchronisation réelle** - Assurez-vous d'avoir les permissions d'accès sur C:\MDT - Le script ne **supprime jamais** les fichiers en destination ## 📌 Cas d'usage ✓ Mise à jour automatique des configurations MDT ✓ Synchronisation après modification des fichiers source ✓ Automatisation avec Task Scheduler ✓ Intégration dans des scripts de déploiement ## 🛠️ Troubleshooting ### Erreur: "Le script n'a pas pu être chargé" Exécutez en PowerShell: ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ``` ### Erreur: "Accès refusé à C:\MDT" - Vérifiez les permissions sur C:\MDT - Exécutez PowerShell en administrateur (clic droit → "Exécuter en tant qu'administrateur") ### Le script va lentement - Normal pour de grandes structures (centaines de fichiers) - La vérification MD5 prend du temps, c'est l'échange qualité/vitesse