119 lines
3.9 KiB
Markdown
119 lines
3.9 KiB
Markdown
# 📋 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
|