WinMigration Prep

Projet professionnel · Automatisation & administration
Retour aux projets ↗

WinMigration Prep.

Windows · Intune · Entra ID · GLPI

WinMigration Prep est un outil local développé en PowerShell pour préparer et fiabiliser les campagnes de migration Windows. Il rassemble les informations provenant d’Intune, Microsoft Entra ID et GLPI, rapproche les appareils et les utilisateurs, détecte les incohérences et génère des fichiers directement exploitables pour constituer les groupes de migration.

PowerShell 5.1 WinForms Intune Entra ID GLPI Traitement local
Outil de préparation technique
Il prépare la migration · Il ne l’exécute pas
01 — Contexte

D’un fichier Excel à un véritable outil.

Le projet est né pendant la préparation d’une campagne de migration vers Windows 11 25H2. Identifier les postes réellement concernés ne consistait pas simplement à filtrer une version de Windows : il fallait croiser plusieurs inventaires, éliminer les appareils inactifs, retrouver les bons objets Entra et vérifier la cohérence des utilisateurs.
01

Plusieurs sources

Intune, Entra ID et GLPI disposent chacun d’une partie de l’information, avec des formats, noms de colonnes et identifiants différents.

02

Des données imparfaites

Appareils anciens, check-in obsolètes, utilisateurs différents selon les sources, doublons ou machines absentes de certains inventaires.

03

Un risque opérationnel

Ajouter le mauvais poste à un groupe de migration, ignorer une incohérence ou sélectionner une machine qui n’est plus utilisée peut fausser toute la campagne.

Pourquoi l’automatiser ?

La première approche reposait sur des exports et des rapprochements réalisés dans Excel. À mesure que les contrôles se multipliaient, les formules devenaient plus difficiles à maintenir.

Des erreurs comme des #VALEUR!, des rapprochements incorrects ou des résultats indiqués comme « OK » alors que les utilisateurs ne correspondaient pas ont montré les limites de cette méthode.

WinMigration Prep transforme donc une succession de manipulations manuelles en un processus reproductible, contrôlé et réutilisable pour de futures campagnes.

01

Exports

Déposer les fichiers bruts.

02

Détection

Identifier automatiquement les sources.

03

Normalisation

Harmoniser les données utiles.

04

Croisement

Relier Intune, Entra et GLPI.

05

Contrôle

Identifier anomalies et incohérences.

06

Export

Générer le groupe exploitable.

02 — Sources

Trois inventaires. Une seule analyse.

L’outil ne cherche pas à remplacer les solutions existantes. Il utilise leurs exports et exploite les informations complémentaires de chaque source afin d’obtenir une vision cohérente du périmètre à migrer.
Source 01

Microsoft Intune

Source principale pour identifier les appareils Windows, leurs versions, leur utilisateur principal et leur dernière activité.

OS version Device Primary user Last check-in
Source 02

Microsoft Entra ID

Permet de retrouver l’objet correspondant à l’appareil et notamment son Object ID, indispensable pour préparer les imports de membres dans les groupes Entra.

Device ID Object ID Display name
Source 03

GLPI

Apporte le contexte d’inventaire et permet de vérifier que l’utilisateur associé au poste correspond bien aux informations remontées par les autres sources.

Utilisateur Poste Entité
03 — Fonctionnement

Automatiser sans perdre le contrôle.

L’objectif n’est pas de masquer les données derrière un bouton unique, mais de guider l’administrateur dans la sélection du périmètre puis de lui signaler les cas qui nécessitent encore une vérification humaine.
01

Détection des exports

L’application reconnaît automatiquement les fichiers correspondant aux exports Intune, Entra ID et GLPI déposés dans son dossier.
Automatique
02

Analyse Windows

Les builds Windows sont interprétés pour présenter une version compréhensible et permettre la sélection du périmètre de migration.
Versions
03

Filtrage d’activité

Un seuil de dernière activité permet d’écarter les postes dont le check-in est trop ancien et qui ne doivent probablement plus faire partie de la campagne.
Check-in
04

Rapprochement

Les appareils et utilisateurs sont rapprochés entre Intune, Entra ID et GLPI afin de vérifier que les trois sources racontent la même histoire.
Data matching
05

Détection d’anomalies

Les appareils absents, doublonnés ou associés à des utilisateurs différents sont isolés afin d’éviter de les intégrer silencieusement au groupe final.
Contrôle
06

Export Entra

Le fichier d’import des membres ne conserve que les postes disposant d’un Object ID Entra valide et d’un rapprochement considéré comme entièrement cohérent.
CSV

Module Migration Windows.

Le module principal permet de préparer rapidement un périmètre pour une montée de version. La campagne 25H2 a servi de cas d’usage initial, mais la logique a été pensée pour rester réutilisable lors de futures évolutions de Windows.
Périmètre Toutes les versions antérieures à la cible
Périmètre Une version source particulière
Activité Exclure les postes inactifs
Sortie Générer uniquement les appareils validés
04 — Créateur de groupes

Aller au-delà des migrations.

Le projet a ensuite évolué vers une logique plus générique : permettre de construire un groupe d’appareils à partir de n’importe quelle information disponible dans les exports chargés.
Créateur de règle

Source → Champ → Opérateur → Valeur

Intune
Last check-in
supérieur à
Date choisie
+
Les critères ajoutés sont combinables afin de constituer progressivement le groupe recherché.

Les exports deviennent des critères de sélection.

Les listes de champs sont générées directement à partir des en-têtes réellement présents dans les fichiers. Les valeurs proposées peuvent également provenir des données des exports.

L’administrateur peut ainsi filtrer sur une version de Windows, une date, un nom d’appareil, un utilisateur, une entité GLPI ou tout autre champ disponible, sans modifier le script pour chaque nouveau besoin.

Cette évolution transforme WinMigration Prep d’un outil dédié à Windows 25H2 en une base plus générale pour constituer et fiabiliser des groupes Entra.

05 — Qualité des données

Ne pas masquer les incohérences.

L’un des enseignements principaux du projet est qu’un inventaire n’est jamais parfaitement propre. L’outil doit donc être capable de distinguer un appareil prêt à être utilisé d’un appareil nécessitant une vérification.

Object ID introuvable

L’appareil existe dans une source mais son objet correspondant ne peut pas être retrouvé correctement dans Entra ID.

Utilisateur différent

L’utilisateur principal remonté par Intune ne correspond pas à l’utilisateur associé à la machine dans GLPI.

Absent de GLPI

Un appareil géré côté Microsoft n’est pas retrouvé dans l’inventaire GLPI et doit être contrôlé avant exploitation.

Doublon

Plusieurs résultats possibles empêchent de déterminer automatiquement quel enregistrement doit être retenu.

Poste inactif

Une date de dernier check-in trop ancienne peut indiquer qu’un équipement n’est plus réellement présent dans le parc.

Full OK

Seuls les enregistrements dont les contrôles nécessaires sont validés peuvent rejoindre automatiquement le fichier final d’import.

Préparer, pas modifier.

WinMigration Prep fonctionne volontairement à partir d’exports. L’application analyse et génère des fichiers, mais n’exécute pas directement la migration et ne modifie pas automatiquement les appareils ou les groupes du tenant. La décision finale reste entre les mains de l’administrateur.
01 Traitement local
02 Pas d’action directe sur le tenant
03 Validation humaine conservée
06 — Développement

Construire, tester, corriger.

Le développement s’est fait de manière itérative, directement à partir des difficultés rencontrées sur les données réelles. Les erreurs ont progressivement permis de rendre l’outil plus robuste et de repenser certaines parties de son architecture.
Première approche

Excel

  • Rapprochements manuels
  • Formules entre plusieurs exports
  • Décalages de colonnes
  • #VALEUR! et faux résultats « OK »
  • Maintenance difficile
Industrialisation

PowerShell

  • Lecture automatique des exports
  • Normalisation des identifiants
  • Croisement algorithmique
  • Gestion explicite des anomalies
  • Génération des fichiers de sortie
Évolution

Interface

  • Interface WinForms
  • Choix du périmètre
  • Listes déroulantes dynamiques
  • Créateur de règles
  • Architecture progressivement modulaire
07 — Compétences

Ce que ce projet me fait travailler.

WinMigration Prep est directement lié à une problématique d’exploitation réelle. Il combine administration moderne du poste de travail, qualité des données, automatisation et conception d’un outil destiné à être réutilisé.
PowerShell WinForms Microsoft Intune Microsoft Entra ID GLPI Windows 11 Gestion de parc Migration Windows Traitement CSV Traitement XLSX Normalisation de données Data matching Contrôle de cohérence Automatisation Débogage Conception d’interface Documentation technique
WinMigration Prep
Automatiser la préparation sans automatiser aveuglément la décision. Fiabiliser les données avant d’agir.
Portfolio 2026 - powered by me
Jonathan Trelet
Retour en haut