Outil d'administration et d'export pour Milestone XProtect VMS
Interface graphique moderne (WPF) construite sur le module PowerShell MilestonePSTools — exporte les caméras, le matériel, la rétention et les enregistrements vers Excel / CSV, capture des snapshots, gère les groupes et crée des alarmes en masse.
Milestone XProtect ne propose pas nativement d'export simple et exploitable de la configuration. Milestone Toolkit comble ce manque et fait gagner un temps considérable sur les grosses installations :
- 📊 Export complet des caméras et du matériel vers Excel (snapshots inclus)
- 🕵️ Audit de la rétention et des enregistrements
- 📸 Snapshots en masse (live ou historique)
- 🚨 Création d'alarmes en masse en quelques clics
- 🌍 Interface bilingue (français / anglais), thème sombre
- Télécharger la dernière version depuis la page Releases
- Décompresser l'archive
- Double-cliquer sur
Demarrer Milestone Toolkit.bat
Au premier lancement, l'écran de démarrage vérifie les dépendances et les installe automatiquement si Internet est disponible. Aucune installation manuelle requise.
| Action | Description |
|---|---|
| Snapshot – Sélection | Capture la caméra sélectionnée via le dialogue Milestone |
| Snapshot – Toutes les caméras | Capture chaque caméra du système, avec progression et annulation |
| Snapshot – Presets PTZ | Parcourt les presets PTZ et capture une image à chaque position |
Chaque action supporte deux modes : Live (dernière image) ou Historique (image la plus proche d'une date/heure).
| Action | Description |
|---|---|
| Export Hardware (Excel) | Rapport Excel configurable : sélection des colonnes (matériel, flux vidéo, rétention, snapshots). Les mots de passe sont exclus par défaut. Détection fiable du flux enregistré vs live par caméra. |
| Grouper par Modèle | Crée des groupes de caméras dans Milestone, organisés par modèle |
| 🚨 Créer des alarmes | Création d'alarmes en masse — voir section dédiée ci-dessous |
| Action | Description |
|---|---|
| État des caméras | État temps réel (OK / hors ligne / erreur) via l'Event Server. Caméras désactivées ignorées. Export CSV. |
| Dates d'enregistrement | Premier et dernier enregistrement disponible par caméra, avec durée totale de rétention. Export CSV. |
| Action | Description |
|---|---|
| Stats Enregistrement (7 j) | Statistiques d'enregistrement et de mouvement par caméra sur 7 jours (FPS, bitrate, résolution). Export CSV. |
| Informations Licence | Produits licenciés, dates d'expiration et canaux utilisés |
Le bouton Créer des alarmes ouvre une fenêtre complète et flexible pour générer plusieurs définitions d'alarme d'un coup — idéal pour appliquer une même alarme (ex. « caméra hors ligne ») à tout un parc.
Deux modes :
- Nouvelle alarme — choix du groupe d'événement, du type, de la priorité et de la catégorie. Les listes sont peuplées dynamiquement depuis votre serveur (aucune valeur codée en dur).
- Dupliquer une existante — reprend les réglages d'une alarme déjà configurée.
Portée au choix :
- Toutes les caméras · une sélection · une seule alarme globale ou une alarme par caméra
(nom via un modèle
{camera}).
Sûr par conception : un test préalable valide le type d'événement choisi avant toute
création en masse, et les alarmes restent supprimables (Management Client ou Remove-VmsAlarmDefinition).
- Windows 10 / 11 ou Windows Server 2016+
- PowerShell 5.1 (inclus dans Windows)
- Excel facultatif : s'il est absent, l'export Hardware bascule automatiquement sur le module ImportExcel (aucune installation d'Office requise)
- Accès réseau au Management Server Milestone XProtect
Les modules MilestonePSTools et ImportExcel sont installés automatiquement au premier lancement si Internet est disponible.
Les modules sont téléchargés automatiquement depuis PowerShell Gallery. Aucune action requise.
- Sur une machine avec Internet, cliquer Préparer offline dans l'écran de démarrage
- Copier le projet entier (avec le dossier
Dependencies/) sur la machine cible - Lancer normalement — le mode Offline est détecté automatiquement
- Langues — français et anglais. Le choix est demandé au premier lancement puis mémorisé dans
config.json(clélanguage). - Mise à jour automatique — au démarrage, l'outil vérifie la dernière release GitHub et propose la mise à jour en un clic. L'archive est vérifiée (dépôt GitHub officiel figé + empreinte SHA256 publiée dans les notes de release), et l'ancienne version est sauvegardée avec restauration automatique en cas d'échec.
Fichier config.json :
{
"outputDirectory": "./Output",
"snapshotQuality": 95,
"csvDelimiter": ";",
"csvEncoding": "UTF8",
"language": "fr",
"autoLogin": false,
"autoUpdate": {
"enabled": true,
"repo": "Nothinx-44/XProtect-Export-Tool-to-Excel-MilestonePSTools-GUI-"
}
}| Paramètre | Description | Défaut |
|---|---|---|
outputDirectory |
Dossier de sortie (snapshots, Excel, CSV) | ./Output |
snapshotQuality |
Qualité JPEG des snapshots (1–100) | 95 |
csvDelimiter |
Séparateur des fichiers CSV | ; |
csvEncoding |
Encodage des fichiers CSV | UTF8 |
language |
Langue de l'interface (fr / en), mémorisée au 1ᵉʳ lancement |
— |
autoLogin |
Connexion auto du dialogue Milestone au dernier serveur. Désactivée par défaut (un ancien serveur inaccessible ferait planter le démarrage) | false |
autoUpdate.enabled |
Vérification de mise à jour au démarrage | true |
autoUpdate.repo |
Informatif : le dépôt de mise à jour est figé dans le code par sécurité | — |
Le dossier de sortie peut aussi être changé en cours d'utilisation via le bouton Changer dans la barre latérale.
Milestone Toolkit/
├── Demarrer Milestone Toolkit.bat # Point d'entrée (double-clic)
├── config.json # Configuration
├── Save-Dependencies.ps1 # Préparation du mode offline
├── Dependencies/ # Modules offline (optionnel)
├── Logs/ # Logs journaliers (auto, purge > 30 jours)
├── Output/ # Fichiers générés (auto)
└── src/
├── Bootstrap.ps1 # Démarrage : langue, vérification, mise à jour
├── App.ps1 # Chargement UI et événements
├── Version.ps1 # Numéro de version (source unique)
├── UI/MainWindow.xaml # Interface WPF (thème sombre Catppuccin)
├── Lang/ # Traductions fr.ps1 / en.ps1
├── Actions/ # Snapshots, export, alarmes, monitoring…
└── Core/ # Modules, updater, logging, console…
- Audit de parc caméras · Vérification de la rétention · Export client
- Analyse de fonctionnement · Maintenance système · Déploiement d'alarmes en masse
Made by Vincent Le Bonhomme
Milestone XProtect · export Excel · MilestonePSTools GUI · audit vidéosurveillance · rapport caméras