> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/fr/automatisation/runbooks/runbook-references/org/general/add-primary-users-of-devices-to-group_scheduled.md).

# Ajout planifié des utilisateurs principaux des appareils à un groupe

Synchroniser les utilisateurs principaux des appareils gérés par Intune selon la plateforme dans un groupe Entra ID

{% hint style="info" %}
Ceci est un runbook planifié. Il est conçu pour s'exécuter selon une planification récurrente plutôt que d'être déclenché pour un objet unique. Voir [Planification](/fr/automatisation/runbooks/scheduling.md) pour plus de détails sur la configuration des planifications de runbook.
{% endhint %}

### Description

Ce runbook collecte les utilisateurs principaux de tous les appareils gérés par Intune correspondant à la ou aux plateformes sélectionnées et les synchronise dans un groupe cible Entra ID. Les utilisateurs qui ne sont plus affectés comme utilisateur principal sur aucun appareil correspondant sont supprimés du groupe. Un groupe d’inclusion facultatif restreint les utilisateurs éligibles, et un groupe d’exclusion facultatif empêche l’ajout de certains utilisateurs ou les maintient supprimés. Un mode rapport uniquement permet de prévisualiser les modifications proposées par e-mail (le corps du message affiche au plus 10 utilisateurs par liste, les listes complètes étant jointes au format CSV et/ou XLSX) sans effectuer aucune modification.

### Configuration concernant l’envoi d’e-mails

L’envoi d’un rapport par e-mail est facultatif et n’a lieu que lorsque le `Rapport uniquement` option est activée ; un destinataire (`EmailTo`) est alors requis. L’adresse de l’expéditeur est prise à partir de l’ `RJReport.EmailSender` paramètre du tenant.

Ce runbook envoie des e-mails à l’aide de l’API Microsoft Graph. Pour envoyer des e-mails via l’API Graph, vous devez configurer une adresse e-mail existante dans la personnalisation du runbook.

Voir la [documentation sur les paramètres de rapport RealmJoin](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings) pour plus de détails sur tous les paramètres disponibles.

#### Branding des e-mails

Le courriel de rapport respecte les paramètres facultatifs `RJReport.Branding.*` du tenant :

* **Image d’en-tête et de pied de page** – URL HTTPS publiques, PNG/JPEG/GIF, 200 Ko max. chacune
* **Lien du pied de page** – cible de l’image de pied de page
* **Couleur d’accent et du texte** – valeurs hexadécimales à 6 chiffres, par ex. `#0052cc`

Lorsque ces paramètres ne sont pas configurés, les graphiques et couleurs par défaut de RealmJoin sont utilisés. Une image qui ne peut pas être téléchargée ou validée, ou une valeur de couleur invalide, n’empêche jamais l’envoi du courriel de rapport — la valeur par défaut correspondante est utilisée à la place.

Instructions de configuration et exigences relatives aux images : [Branding des e-mails](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings#email-branding-optional).

### Emplacement

Organisation → Général → Ajouter les utilisateurs principaux des appareils au groupe (planifié)

**Nom complet du runbook**

rjgit-org\_general\_add-primary-users-of-devices-to-group\_scheduled

### Détails

| Propriété      | Valeur                                                                                  |
| -------------- | --------------------------------------------------------------------------------------- |
| Version        | 1.2.0                                                                                   |
| Modules requis | <p>RealmJoin.RunbookHelper (>= 0.8.9)<br>Microsoft.Graph.Authentication (>= 2.39.0)</p> |
| Planifiable    | oui                                                                                     |

### Notes

Type de runbook : planifié (recommandé : quotidien)

Cas d'utilisation courants :

* Conserver un groupe cible de distribution ou Conditional Access aligné sur « qui possède actuellement un appareil géré », filtré par plateforme, par un filtre OData avancé, ou par un périmètre de groupe d’inclusion/exclusion.
* Valider un filtre/périmètre nouveau ou modifié avant qu’il soit autorisé à écrire dans un groupe de production.

Options de pilote et de test :

* Activez Rapport uniquement pour calculer la même différence d’ajout/suppression qu’une exécution réelle produirait, sans appliquer aucune modification au groupe. Un e-mail d’aperçu Markdown listant les utilisateurs concernés (par UPN) est envoyé à EmailTo à la place ; chaque liste (qui serait ajoutée / qui serait supprimée) affiche au plus 10 utilisateurs dans le corps du message, avec un pointeur « ... et N de plus » lorsqu’une liste est plus longue, et les listes complètes sont jointes sous forme de fichier(s) de rapport dans le format choisi par ReportFileFormat. Exécutez une fois dans ce mode après avoir modifié la sélection de plateforme, AdvancedFilter ou les groupes d’inclusion/exclusion, examinez l’aperçu, puis désactivez Rapport uniquement pour laisser la synchronisation s’appliquer.

Interactions entre paramètres :

* AdvancedFilter, lorsqu’il est défini, remplace entièrement la sélection de plateforme Windows/MacOS/iOS/Android au lieu de la combiner avec elle.
* RemoveUsersWhenNoDeviceMatch contrôle à la fois l’exécution réelle et l’aperçu Rapport uniquement : lorsqu’il est désactivé, aucun utilisateur n’est supprimé dans aucun des deux cas, de sorte que l’aperçu reflète toujours ce qu’une exécution réelle ferait.

Prérequis :

* EmailFrom nécessite que le paramètre Tenant RJReport.EmailSender soit configuré ; ceci n’est nécessaire que lorsque ReportOnly est utilisé pour envoyer l’e-mail d’aperçu.

### Autorisations

#### Autorisations d'application

* **Type**: Microsoft Graph
  * DeviceManagementManagedDevices.Read.All
    * *Lit les appareils gérés par Intune filtrés par système d’exploitation afin de collecter l’utilisateur principal de chaque appareil*
  * Group.Read.All
    * *Valide les groupes cible/d’inclusion/d’exclusion et lit leurs listes de membres*
  * GroupMember.ReadWrite.All
    * *Ajoute et supprime des utilisateurs dans le groupe cible via des appels /groups/{id}/members/$ref par lot*
  * User.Read.All
    * *Lit l’ID de membre et le UPN pour identifier les utilisateurs membres et journaliser les suppressions*

### Paramètres

#### TargetGroupId

Le groupe Entra ID dans lequel synchroniser les utilisateurs principaux. Les membres de ce groupe seront gérés exclusivement par ce runbook.

| Propriété                  | Valeur                                                       |
| -------------------------- | ------------------------------------------------------------ |
| Obligatoire                | true                                                         |
| Valeur par défaut          |                                                              |
| Type                       | String                                                       |
| Nom d’affichage du portail | Groupe cible (synchroniser les utilisateurs principaux vers) |

#### Windows

Inclure les utilisateurs principaux des appareils Windows. (Filtre OData utilisé "operatingSystem eq 'Windows'")

| Propriété                  | Valeur                        |
| -------------------------- | ----------------------------- |
| Obligatoire                | false                         |
| Valeur par défaut          | Faux                          |
| Type                       | Booléen                       |
| Nom d’affichage du portail | Inclure les appareils Windows |

#### macOS

Inclure les utilisateurs principaux des appareils macOS. (Filtre OData utilisé "operatingSystem eq 'macOS'")

| Propriété                  | Valeur                      |
| -------------------------- | --------------------------- |
| Obligatoire                | false                       |
| Valeur par défaut          | Faux                        |
| Type                       | Booléen                     |
| Nom d’affichage du portail | Inclure les appareils macOS |

#### iOS

Inclure les utilisateurs principaux des appareils iOS et iPadOS. (Filtre OData utilisé "operatingSystem eq 'iOS'")

| Propriété                  | Valeur                    |
| -------------------------- | ------------------------- |
| Obligatoire                | false                     |
| Valeur par défaut          | Faux                      |
| Type                       | Booléen                   |
| Nom d’affichage du portail | Inclure les appareils iOS |

#### Android

Inclure les utilisateurs principaux des appareils Android. (Filtre OData utilisé "operatingSystem eq 'Android'")

| Propriété                  | Valeur                        |
| -------------------------- | ----------------------------- |
| Obligatoire                | false                         |
| Valeur par défaut          | Faux                          |
| Type                       | Booléen                       |
| Nom d’affichage du portail | Inclure les appareils Android |

#### AdvancedFilter

Facultatif. Filtre OData personnalisé à appliquer lors de la récupération des appareils. Remplace les filtres basés sur la plateforme s’il est fourni. Exemple : startsWith(deviceName,'FWP-') and operatingSystem eq 'Windows' .

| Propriété                  | Valeur                                                                |
| -------------------------- | --------------------------------------------------------------------- |
| Obligatoire                | false                                                                 |
| Valeur par défaut          |                                                                       |
| Type                       | String                                                                |
| Nom d’affichage du portail | Filtre personnalisé (remplace la sélection du système d’exploitation) |

#### RemoveUsersWhenNoDeviceMatch

Lorsqu’il est activé (par défaut), les utilisateurs qui n’ont plus d’appareil principal correspondant à la ou aux plateformes sélectionnées sont supprimés du groupe cible. Désactivez-le pour passer en mode ajout uniquement — les membres existants ne sont jamais supprimés.

| Propriété                  | Valeur                                                             |
| -------------------------- | ------------------------------------------------------------------ |
| Obligatoire                | false                                                              |
| Valeur par défaut          | True                                                               |
| Type                       | Booléen                                                            |
| Nom d’affichage du portail | Supprimer les utilisateurs qui n’ont plus d’appareil correspondant |

#### IncludeGroupId

Facultatif. Seuls les utilisateurs membres de ce groupe peuvent être ajoutés au groupe cible. Laissez vide pour prendre en compte tous les utilisateurs principaux.

| Propriété                  | Valeur                                                |
| -------------------------- | ----------------------------------------------------- |
| Obligatoire                | false                                                 |
| Valeur par défaut          |                                                       |
| Type                       | String                                                |
| Nom d’affichage du portail | Inclure les utilisateurs du groupe (facultatif)       |
| masqué dans le portail     | oui (préconfiguré via la personnalisation du runbook) |

#### ExcludeGroupId

Facultatif. Les utilisateurs membres de ce groupe ne seront pas ajoutés et seront supprimés du groupe cible s’ils sont déjà présents.

| Propriété                  | Valeur                                                |
| -------------------------- | ----------------------------------------------------- |
| Obligatoire                | false                                                 |
| Valeur par défaut          |                                                       |
| Type                       | String                                                |
| Nom d’affichage du portail | Exclure les utilisateurs du groupe (facultatif)       |
| masqué dans le portail     | oui (préconfiguré via la personnalisation du runbook) |

#### Rapport uniquement

Si défini sur true, le script calcule ce qui changerait mais n’applique aucune modification. Les changements proposés sont envoyés au destinataire EmailTo dans un e-mail d’aperçu affichant au plus 10 utilisateurs par liste dans le corps du message, avec les listes complètes jointes sous forme de fichier(s) CSV et/ou XLSX selon ReportFileFormat. Si false, le runbook applique immédiatement tous les changements.

| Propriété                  | Valeur                                                                          |
| -------------------------- | ------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                           |
| Valeur par défaut          | Faux                                                                            |
| Type                       | Booléen                                                                         |
| Nom d’affichage du portail | Rapport uniquement (prévisualiser les modifications, n’appliquer aucune action) |

#### EmailFrom

L’adresse e-mail de l’expéditeur pour les e-mails d’aperçu en mode rapport uniquement. Cela doit être configuré dans la personnalisation du runbook.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingHeaderImageUrl

URL d’une image d’en-tête personnalisée pour les e-mails de rapport. Configurée comme paramètre du tenant ; laissez vide pour utiliser l’identité visuelle RealmJoin par défaut.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingFooterImageUrl

URL d’une image de pied de page personnalisée pour les e-mails de rapport. Configurée comme paramètre du tenant ; laissez vide pour utiliser l’identité visuelle RealmJoin par défaut.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingFooterLink

Cible du lien appliqué à l’image de pied de page dans les e-mails de rapport, par exemple le site web de l’entreprise. Configurée comme paramètre du tenant ; laissez vide pour utiliser l’identité visuelle RealmJoin par défaut.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingAccentColor

Couleur d’accent utilisée pour les titres et les mises en évidence dans les e-mails de rapport. Configurée comme paramètre du tenant ; laissez vide pour utiliser l’identité visuelle RealmJoin par défaut.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingTextColor

Couleur du texte du corps utilisée dans les e-mails de rapport. Configurée comme paramètre du tenant ; laissez vide pour utiliser l’identité visuelle RealmJoin par défaut.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### EmailTo

Adresse e-mail du destinataire pour l’e-mail d’aperçu en mode rapport uniquement. L’e-mail affiche au plus 10 utilisateurs par liste dans le corps du message, avec les listes complètes jointes sous forme de fichier(s) CSV et/ou XLSX selon ReportFileFormat. Utilisé uniquement lorsque ReportOnly est défini sur true.

| Propriété                  | Valeur                                                                                   |
| -------------------------- | ---------------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                                    |
| Valeur par défaut          |                                                                                          |
| Type                       | String                                                                                   |
| Nom d’affichage du portail | Envoyer le rapport d’aperçu à (utilisé uniquement lorsque Rapport uniquement est activé) |

#### ReportFileFormat

Format de fichier du rapport joint à l’e-mail d’aperçu en mode rapport uniquement. Les pièces jointes contiennent les listes complètes des utilisateurs qui seraient ajoutés ou supprimés, tandis que le corps de l’e-mail affiche au plus 10 utilisateurs par liste. Utilisé uniquement lorsque ReportOnly est activé et qu’EmailTo est défini.

| Propriété                  | Valeur                                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------------------ |
| Obligatoire                | false                                                                                            |
| Valeur par défaut          | CSV & XLSX                                                                                       |
| Type                       | String                                                                                           |
| Nom d’affichage du portail | Format du fichier du rapport d’aperçu (utilisé uniquement lorsque Rapport uniquement est activé) |

**Options du portail**

| Option du portail | Valeur |
| ----------------- | ------ |
| CSV & XLSX        |        |
| CSV only          |        |
| XLSX only         |        |

[Retour à l’aperçu de la référence du runbook](/fr/automatisation/runbooks/runbook-references.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/fr/automatisation/runbooks/runbook-references/org/general/add-primary-users-of-devices-to-group_scheduled.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
