---
title: "Synchroniser le personnel depuis Microsoft Entra ID"
description: "L'assistant en six étapes du Companion configure la synchronisation du personnel Entra ID, du certificat à l'aperçu du rapprochement avant la mise en production, en passant par la configuration du locataire réalisée par votre administrateur Microsoft."
url: https://help.portiervision.com/fr/articles/127-synchroniser-le-personnel-depuis-microsoft-entra-id
collection: "Intégrations et configuration IT"
updated: 2026-08-28
language: fr
alternates: [de, en]
---

# Synchroniser le personnel depuis Microsoft Entra ID

L'assistant en six étapes du Companion configure la synchronisation du personnel Entra ID, du certificat à l'aperçu du rapprochement avant la mise en production, en passant par la configuration du locataire réalisée par votre administrateur Microsoft.

## Ce que fait la synchronisation

La synchronisation du personnel Entra ID lit un groupe Microsoft Entra ID via Microsoft Graph et écrit ses membres dans le personnel de Vision. Elle tourne ensuite comme tâche planifiée, exécutée en arrière-plan par companion-services. Une personne qui quitte le groupe est marquée comme départ au lancement suivant. Plus de fichier CSV.

La configuration ne se fait qu'une fois et c'est celle qui dépend le plus de l'extérieur. L'hôte du Companion ne peut ni enregistrer l'application dans Entra, ni accorder le consentement administrateur. Un administrateur Microsoft Entra exécute un script pour cela. Le certificat, lui, se crée dans une PowerShell avec privilèges élevés sur l'hôte du Companion.

Prévoyez les deux côtés ensemble. Sans l'administrateur, vous ne dépasserez pas l'étape 2.

## Conditions préalables

-   Le Companion tourne sous Windows. Le magasin de certificats ne se lit que sous Windows.
    
-   Un groupe Entra ID contenant les personnes qui doivent arriver dans Vision. Le script de configuration peut le créer, nom par défaut `Vision Key Holders`.
    
-   Un administrateur Microsoft Entra habilité à exécuter `entra-app-setup.ps1` après `az login`.
    
-   Une PowerShell avec privilèges élevés sur l'hôte du Companion, pour le certificat.
    
-   Les autorisations Graph `User.Read.All` et `GroupMember.Read.All` avec consentement administrateur. Le script les accorde.
    

## Ouvrir l'assistant

1.  Ouvrez **Importer**, carte **CSV personnel**.
    
2.  Onglet **Avancé**, section **Imports planifiés**, bouton **Ouvrir les tâches planifiées**.
    
3.  Sur la page **Tâches**, bouton **Configurer la synchronisation Entra…**.
    

La fenêtre **Configurer la synchronisation du personnel Entra ID** enchaîne six étapes : Certificat, Configuration du locataire, Identifiants, Valider, Créer la tâche, Premier lancement. **Retour** vous ramène à l'étape précédente à tout moment.

En allemand et en français, la barre d'étapes est plus large que la fenêtre et la dernière étape se retrouve coupée au bord. Cela ne change rien au déroulement.

## Étape 1, Certificat

![Étape 1, le Companion analyse le magasin de certificats de cet hôte](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/jFPa894Jb1lZoCvNvZhgA0IlENhVzDeYJEPlv8ppccoMG8Hs7KFlufyeuWfryVnaprtCLW64Rt9.png)

_Étape 1, le Companion analyse le magasin de certificats de cet hôte_

Le Companion analyse le magasin de certificats, d'abord CurrentUser puis LocalMachine, et liste sous **Certificats sur cet hôte** chaque certificat de signature utilisable avec son empreinte, son emplacement et sa date d'expiration. Sélectionnez-en un et l'étape est terminée.

S'il n'y en a aucun :

1.  Dépliez **Générer le certificat (PowerShell)** et choisissez **Copier la commande**.
    
2.  Exécutez la commande dans une PowerShell avec privilèges élevés sur cet hôte. Si le Companion tourne sous un compte de service, générez plutôt le certificat dans le magasin LocalMachine.
    
3.  Collez l'empreinte affichée dans **Empreinte du certificat**, ou choisissez **Analyser à nouveau**.
    

La commande fournie crée un certificat RSA valable un an. L'**État du service** de la page **Tâches** vous avertit avant son expiration.

## Étape 2, Configuration du locataire

![Étape 2, les deux commandes destinées à l'administrateur Entra, déjà remplies](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/MvnL0PzYJ8ukO0hZ0CnvXQdEcPpVRUJAU8yfUwXQTwjwX2tolGwT4hexOkmVuiCisAp3BsmtEw1.png)

_Étape 2, les deux commandes destinées à l'administrateur Entra, déjà remplies_

Cette étape sort du Companion. Elle affiche deux commandes déjà remplies.

1.  **Exporter la clé publique du certificat.** À exécuter sur l'hôte du Companion. La commande écrit le fichier `.cer` dans `C:\portier\entra-public.cer`. La clé privée reste sur l'hôte.
    
2.  **Exécuter le script de configuration du locataire.** Transmettez cette commande à votre administrateur Entra avec le fichier `.cer` exporté. Il l'exécute après `az login`. Le script enregistre l'application, charge le certificat, accorde le consentement administrateur et affiche les ID de locataire, de client et de groupe.
    

Arrêtez-vous ici. Sans ces trois identifiants, l'étape 3 ne peut pas être remplie.

## Étape 3, Identifiants

![Étape 3, les trois identifiants affichés par le script de configuration](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/FNa82Ez2ye7YCJMbx1OYfOQVlYdBdYMDMDoL4h4fEgWzdjfLFwap7P2oEhfa05bqJ0MBclkkeA6.png)

_Étape 3, les trois identifiants affichés par le script de configuration_

Saisissez ce que le script a affiché.

-   **ID de locataire**
    
-   **ID client (application)**
    
-   **ID de groupe**
    

L'empreinte de l'étape 1 figure en dessous, pour contrôle. Les trois champs sont obligatoires.

## Étape 4, Valider

![Étape 4, le test de connexion lit le groupe et n'écrit rien](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/ZU206W8bh3xC7V1k4L0i6574cBx3Vt3VFE66Y2X3rNWdP7AuiTRMRXJJSmMBsGRZtF30qAeGbz4.png)

_Étape 4, le test de connexion lit le groupe et n'écrit rien_

**Tester la connexion** s'authentifie avec le certificat et lit le groupe configuré via Microsoft Graph. Rien n'est écrit. En cas de succès, le message indique le nombre de membres lus et la validité restante du certificat.

Le test doit réussir, sinon **Suivant** reste bloqué. S'il échoue, reportez-vous au tableau des erreurs en fin d'article.

**Accorder le consentement administrateur (facultatif)** contient une URL de consentement. Vous n'en avez besoin que si le script n'a pas été exécuté, ou pour accorder le consentement une seconde fois. Un administrateur Entra l'ouvre dans un navigateur, connecté comme administrateur du locataire.

## Étape 5, Créer la tâche

![Étape 5, le nom, la planification et la simulation laissée active](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/hoLbqrFoQrY8FpYMs2PP2aMoM8L2CM3NFIY2DHrLmQE27DYxctBikN8Zk2zypgWJjJ84gdnL1hb.png)

_Étape 5, le nom, la planification et la simulation laissée active_

-   **Nom**, prérempli avec `Synchronisation du personnel Entra`.
    
-   **Planification**, soit un **Préréglage** comme _Tous les jours à 08h00_, soit une expression cron personnalisée.
    
-   **Simulation (aucune modification enregistrée)** est activée et le reste. Ne la désactivez pas ici.
    

**Créer la tâche** crée la tâche.

## Étape 6, Premier lancement

![Étape 6, le premier lancement est facultatif et n'écrit rien tant que la simulation est activée](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/TeYy4XAOGf9nAfxlYNo42lTMhTYKt6EIJw2pq8uIvGUdFVDeYmvbjnjkbyrEZxNtbF7DCNW9i3V.png)

_Étape 6, le premier lancement est facultatif et n'écrit rien tant que la simulation est activée_

La tâche existe. **Lancer la première synchronisation** l'exécute tout de suite, sans attendre la planification. Avec la simulation activée, rien n'est écrit, le lancement se contente de relever ce qu'il modifierait. Le résultat s'affiche en dessous, avec un code de sortie si le lancement ne se termine pas proprement.

**Terminer** ferme l'assistant.

## Aperçu du rapprochement, l'étape avant la mise en production

![L'aperçu du rapprochement après une simulation, avec les points à vérifier et les fusions suggérées](https://staticfiles.gleap.io/p69f19d405a24ffe33e3bc1d5/4QrMFtqit88mK0l5b1nRjIuBvuGBS77vYTLoNLV5t2GXVKnDHdQxHezltZeAVplXECaudUHjXSU.png)

_L'aperçu du rapprochement après une simulation, avec les points à vérifier et les fusions suggérées_

Sur la page **Tâches**, seule la tâche Entra porte le bouton **Aperçu du rapprochement**. Il affiche la dernière simulation. Tant qu'aucune n'a tourné, il reste vide, et **Lancer l'aperçu en simulation** comble ce vide.

<table style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Champ</p></th><th colspan="1" rowspan="1"><p>Signification</p></th></tr><tr><td colspan="1" rowspan="1"><p>Membres</p></td><td colspan="1" rowspan="1"><p>membres lus dans le groupe</p></td></tr><tr><td colspan="1" rowspan="1"><p>Déjà synchronisé</p></td><td colspan="1" rowspan="1"><p>enregistrements que la synchronisation gère déjà</p></td></tr><tr><td colspan="1" rowspan="1"><p>Récupération</p></td><td colspan="1" rowspan="1"><p>enregistrements existants qu'une clé de correspondance va reprendre</p></td></tr><tr><td colspan="1" rowspan="1"><p>Nouveau (insertion)</p></td><td colspan="1" rowspan="1"><p>membres sans équivalent, créés de zéro</p></td></tr><tr><td colspan="1" rowspan="1"><p>Fusions suggérées</p></td><td colspan="1" rowspan="1"><p>correspondances probables mais non certaines</p></td></tr><tr><td colspan="1" rowspan="1"><p>Ambigu</p></td><td colspan="1" rowspan="1"><p>une clé atteint plusieurs enregistrements</p></td></tr><tr><td colspan="1" rowspan="1"><p>Conflit</p></td><td colspan="1" rowspan="1"><p>correspondance contradictoire</p></td></tr><tr><td colspan="1" rowspan="1"><p>Départs</p></td><td colspan="1" rowspan="1"><p>enregistrements que le lancement marquerait comme sortis</p></td></tr></tbody></table>

**Ambigu** et **Conflit** doivent être à zéro. Tant que ce n'est pas le cas, l'avertissement rouge **À vérifier avant la mise en production** s'affiche au-dessus avec le nombre d'enregistrements en attente. **Récupération par clé de correspondance** et **Ambigu par clé de correspondance** indiquent quelle clé en est responsable, le plus souvent `personalnummer` ou `name`.

### Fusions suggérées

Ces membres de l'annuaire n'ont pas de clé d'identité correspondante mais ressemblent à une personne déjà saisie manuellement. La suggestion repose sur un signal, **Nom + date de naissance** ou **Nom + service**. Chaque suggestion place l'enregistrement entrant de l'annuaire à côté de l'enregistrement manuel existant.

**Confirmer** et **Ignorer** forment une liste de contrôle d'intégration. Ils enregistrent votre décision et ne fusionnent rien. Si vous voulez réellement réunir deux enregistrements, complétez d'abord l'enregistrement Vision existant avec le numéro de personnel de l'annuaire. Au lancement suivant, la clé `personalnummer` s'applique et la personne est reprise au lieu d'être créée en double.

## Passer en production

Ce n'est qu'une fois **Ambigu** et **Conflit** à zéro et les suggestions traitées que vous désactivez la simulation.

1.  Sur la page **Tâches**, choisissez **Modifier** sur la tâche.
    
2.  Désactivez **Simulation (aucune modification enregistrée)** et enregistrez.
    
3.  Choisissez **Exécuter maintenant**, puis vérifiez **Voir l'historique**.
    

La tâche suit ensuite sa planification. L'**État du service** en haut de page signale un lancement manqué ou en échec.

### Associer d'autres champs

Le numéro de personnel est lu depuis `employeeId`, avec repli sur `userPrincipalName`. **Modifier** permet de changer et d'étendre cela. Sous **Mappage des attributs d'extension (facultatif)**, vous associez des attributs Entra aux colonnes KOSTENSTELLE, BEREICH et BEMERKUNG\_1 à BEMERKUNG\_3. Un champ laissé vide ne modifie pas sa colonne.

## Si le test de connexion échoue

<table style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Message</p></th><th colspan="1" rowspan="1"><p>Cause et solution</p></th></tr><tr><td colspan="1" rowspan="1"><p>Renseigner tous les champs obligatoires avant de tester.</p></td><td colspan="1" rowspan="1"><p>L'empreinte ou l'un des trois identifiants manque. Complétez l'étape 1 et l'étape 3.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Aucune empreinte de certificat n'est configurée.</p></td><td colspan="1" rowspan="1"><p>L'étape 1 a été quittée sans sélection. Choisissez un certificat ou collez une empreinte.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Certificat introuvable dans le magasin Windows de cet hôte.</p></td><td colspan="1" rowspan="1"><p>L'empreinte ne correspond à aucun certificat de cet hôte, ou la clé privée manque. Vérifiez que le certificat et sa clé privée sont installés, et utilisez le magasin LocalMachine pour un compte de service.</p></td></tr><tr><td colspan="1" rowspan="1"><p>La lecture du magasin de certificats n'est prise en charge que sous Windows.</p></td><td colspan="1" rowspan="1"><p>Le test ne tourne pas sur l'hôte Vision. Exécutez-le sur l'hôte Windows.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Le certificat n'a pas pu être chargé.</p></td><td colspan="1" rowspan="1"><p>Dépliez Détails techniques, la cause s'y trouve.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Le certificat ne peut pas être utilisé pour l'authentification. Il doit s'agir d'un certificat RSA.</p></td><td colspan="1" rowspan="1"><p>Un certificat avec un autre algorithme de clé a été choisi. Générez un certificat RSA avec la commande fournie.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Échec de l'authentification.</p></td><td colspan="1" rowspan="1"><p>Vérifiez l'ID de locataire et l'ID client, et que c'est bien ce certificat qui est chargé dans l'inscription d'application.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Microsoft Graph a refusé l'accès.</p></td><td colspan="1" rowspan="1"><p>User.Read.All et GroupMember.Read.All manquent ou n'ont pas le consentement administrateur. Transmettez l'URL de consentement de l'étape 4 à l'administrateur.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Groupe introuvable.</p></td><td colspan="1" rowspan="1"><p>Vérifiez l'ID d'objet du groupe, et non le nom du groupe.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Impossible de lire le groupe via Microsoft Graph.</p></td><td colspan="1" rowspan="1"><p>Graph était injoignable. Dépliez Détails techniques et vérifiez la connexion réseau.</p></td></tr></tbody></table>

## Pour aller plus loin

-   Tâches planifiées et état du service
    
-   Importer les données du personnel
    
-   Sécurité des données et RGPD
