> 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/sync-channel-or-group-members_scheduled.md).

# Synchronisation planifiée des membres du canal ou du groupe

Répliquer les membres entre un Shared Channel Teams et un groupe

{% hint style="info" %}
Il s'agit d'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 seul objet. Voir [Planification](/fr/automatisation/runbooks/scheduling.md) pour plus de détails sur la configuration des planifications de runbook.
{% endhint %}

### Description

Copie les membres d’une source vers une cible à chaque exécution. La source et la cible peuvent être un Shared Channel et un Security Group, deux groupes, ou un groupe et un Shared Channel. Les membres manquants sont toujours ajoutés ; les membres qui existent uniquement dans la cible ne sont supprimés que si cela est demandé. Une exécution à blanc affiche les modifications sans les appliquer, et le rapport peut être envoyé par e-mail ou fourni sous forme de lien de téléchargement. Les détails sur les options se trouvent dans la documentation du runbook (docs.realmjoin.com).

### Fonctionnement

Ce runbook planifié reproduit l’appartenance d’un **source** objet vers un **objet cible** dans une seule direction par exécution. À chaque exécution, il :

1. Résout les objets source et cible pour la direction sélectionnée.
2. Lit l’ensemble actuel des membres des deux côtés.
3. Ajoute chaque membre source manquant dans la cible.
4. Supprime éventuellement chaque membre de la cible qui n’existe pas dans la source (mode miroir).

#### Directions

Le `Direction` Le paramètre sélectionne ce qui est synchronisé vers quoi :

* **`SharedChannelToGroup`** - les membres d’un canal partagé Teams sont copiés vers un groupe de sécurité cible.
* **`GroupToGroup`** - les membres d’un groupe source sont copiés vers un groupe cible (par exemple d’un groupe Microsoft 365 vers un groupe de sécurité, ou l’inverse en intervertissant la source et la cible).
* **`GroupToSharedChannel`** - les membres d’un groupe source sont copiés vers un Shared Channel Teams.

#### Ajout et suppression

L’ajout des membres manquants est toujours effectué. La suppression des membres qui existent uniquement dans la cible est **optionnelle** via `RemoveExtraMembers` (désactivé par défaut). Avec la suppression activée, la cible est mise en miroir exactement par rapport à la source ; sinon, le runbook est en mode ajout uniquement.

#### Expansion des membres du groupe

Les membres du groupe côté source sont résolus **transitivement**, de sorte que les utilisateurs membres via des groupes imbriqués sont inclus. Côté cible, seuls **directs** sont pris en compte, car les opérations d’ajout et de suppression s’appliquent à l’appartenance directe.

#### Gestion des invités

`IncludeGuests` (désactivé par défaut) contrôle si les utilisateurs invités participent à la synchronisation. Lorsqu’il est désactivé, les invités sont ignorés des deux côtés et ne sont jamais ajoutés ni supprimés. Les canaux partagés refusent souvent les invités, donc cette option est désactivée par défaut.

#### Spécificités du canal partagé

* Lorsqu’un groupe est synchronisé **dans** un canal partagé, l’appartenance à l’équipe est une condition préalable à l’appartenance au canal ; le runbook s’assure donc d’abord que l’utilisateur est membre de l’équipe hôte, puis il ajoute l’utilisateur au canal.
* Lorsque des membres sont **supprimés** d’un canal partagé, seule l’appartenance au canal est supprimée par défaut. Activez `RemoveFromTeam` pour également supprimer l’utilisateur de l’appartenance à l’équipe hôte.

#### Exécution à blanc

Défini `WhatIfMode` pour journaliser ce qui changerait sans rien écrire.

#### Rapports (facultatif, les deux désactivés par défaut)

* **`SendEmailReport`** envoie un e-mail aux couleurs de RealmJoin (via `Send-RjRbReportEmail`) avec les statistiques d’exécution et une pièce jointe CSV listant chaque modification individuelle. L’expéditeur est pris à partir du paramètre `RJReport.EmailSender` paramètre.
* **`Créer un lien de téléchargement`** téléverse le même CSV vers un Storage Account et renvoie un lien de téléchargement SAS limité dans le temps (également intégré dans l’e-mail lorsque les deux options sont activées). Le Storage Account cible est pris à partir du `RJReport.StorageAccount.*` paramètres.

Le téléversement vers le Storage Account s’authentifie avec l’identité managée du compte Automation ; cette identité a besoin du **Reader and Data Access** rôle RBAC sur le Storage Account cible (il s’agit d’une attribution Azure RBAC, pas d’une autorisation d’application Graph).

#### Planification

Conçu pour s’exécuter sans surveillance selon un planning. Comme le runbook est idempotent, un seul planning récurrent maintient la cible synchronisée avec la source au fil des arrivées et des départs des membres.

### Branding des e-mails

L’e-mail du rapport prend en compte l’optionnel `RJReport.Branding.*` paramètres Tenant :

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

Lorsque ces paramètres ne sont pas configurés, les graphismes 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 non valide, n’empêche jamais l’envoi de l’e-mail du rapport : le défaut correspondant est utilisé à 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 → Synchroniser les membres du canal ou du groupe (planifié)

**Nom complet du runbook**

rjgit-org\_general\_sync-channel-or-group-members\_scheduled

### Détails

| Propriété      | Valeur                                                                                                             |
| -------------- | ------------------------------------------------------------------------------------------------------------------ |
| Version        | 1.3.0                                                                                                              |
| Modules requis | <p>RealmJoin.RunbookHelper (>= 0.8.10)<br>Microsoft.Graph.Authentication (>= 2.41.2)<br>Az.Accounts (>= 5.5.2)</p> |
| Planifiable    | oui                                                                                                                |

### Autorisations

#### Autorisations d’application

* **Type**: Microsoft Graph
  * Group.ReadWrite.All
    * *Résout les groupes source/cible et l’équipe hôte, puis écrit l’appartenance directe via /groups/{id}/members/$ref*
  * GroupMember.ReadWrite.All
    * *Ajoute et supprime les membres directs du groupe cible pendant la synchronisation*
  * Channel.ReadBasic.All
    * *Liste /teams/{id}/channels pour résoudre le canal partagé et vérifier qu’il s’agit bien d’un Shared Channel*
  * ChannelMember.ReadWrite.All
    * *Lit, ajoute et supprime les membres du Shared Channel via /teams/{id}/channels/{id}/members*
  * TeamMember.ReadWrite.All
    * *Ajoute/supprime l’appartenance à l’équipe hôte comme prérequis ou nettoyage pour les membres du Shared Channel*
  * User.Read.All
    * *Lit les objets utilisateur membres (id, UPN, userType) pour détecter les invités et calculer le delta d’appartenance*
  * Organization.Read.All
    * *Lit /organization pour inclure le nom du Tenant dans l’e-mail du rapport*
  * Mail.Send *(facultatif — fonctionnalité : rapport par e-mail)*
    * *Envoie le rapport de synchronisation via Send-RjReportEmail lorsque le reporting par e-mail est activé*

### Paramètres

#### Direction

Ce qui est copié où : les membres du Shared Channel dans le groupe cible, les membres du groupe source dans le groupe cible, ou les membres du groupe source dans le Shared Channel.

| Propriété                  | Valeur    |
| -------------------------- | --------- |
| Obligatoire                | vrai      |
| Valeur par défaut          |           |
| Type                       | Chaîne    |
| Nom d’affichage du portail | Direction |

**Options du portail**

| Option du portail                                    | Valeur               |
| ---------------------------------------------------- | -------------------- |
| Membres du Shared Channel vers le groupe de sécurité | SharedChannelToGroup |
| Membres du groupe vers le groupe                     | GroupToGroup         |
| Membres du groupe vers le Shared Channel             | GroupToSharedChannel |

#### TeamId

Équipe qui héberge le Shared Channel. Nécessaire uniquement pour les directions liées au Shared Channel.

| Propriété                  | Valeur                              |
| -------------------------- | ----------------------------------- |
| Obligatoire                | faux                                |
| Valeur par défaut          |                                     |
| Type                       | Chaîne                              |
| Nom d’affichage du portail | Équipe hébergeant le Shared Channel |

#### ChannelName

Nom exact du Shared Channel dans cette équipe. Nécessaire uniquement pour les directions liées au Shared Channel.

| Propriété                  | Valeur                |
| -------------------------- | --------------------- |
| Obligatoire                | faux                  |
| Valeur par défaut          |                       |
| Type                       | Chaîne                |
| Nom d’affichage du portail | Nom du Shared Channel |

#### SourceGroupId

Groupe dont les membres sont copiés. Nécessaire lorsque la source est un groupe.

| Propriété                  | Valeur                                             |
| -------------------------- | -------------------------------------------------- |
| Obligatoire                | faux                                               |
| Valeur par défaut          |                                                    |
| Type                       | Chaîne                                             |
| Nom d’affichage du portail | Groupe source                                      |
| Masqué dans le portail     | oui (prédéfini via la personnalisation du runbook) |

#### TargetGroupId

Groupe de sécurité qui reçoit les membres. Nécessaire lorsque la cible est un groupe.

| Propriété                  | Valeur                   |
| -------------------------- | ------------------------ |
| Obligatoire                | faux                     |
| Valeur par défaut          |                          |
| Type                       | Chaîne                   |
| Nom d’affichage du portail | Groupe de sécurité cible |

#### RemoveExtraMembers

Supprime également les membres qui existent uniquement dans la cible, afin de la faire correspondre exactement à la source. Sinon, seuls les membres sont ajoutés.

| Propriété                  | Valeur                                           |
| -------------------------- | ------------------------------------------------ |
| Obligatoire                | faux                                             |
| Valeur par défaut          | Faux                                             |
| Type                       | Booléen                                          |
| Nom d’affichage du portail | Supprimer les membres manquants dans la source ? |

#### IncludeGuests

Ajoute et supprime également les utilisateurs invités. Sinon, les invités restent inchangés des deux côtés.

| Propriété                  | Valeur                             |
| -------------------------- | ---------------------------------- |
| Obligatoire                | faux                               |
| Valeur par défaut          | Faux                               |
| Type                       | Booléen                            |
| Nom d’affichage du portail | Inclure les utilisateurs invités ? |

#### RemoveFromTeam

Lorsqu’un membre est supprimé du Shared Channel, le supprime également de l’équipe hôte. S’applique uniquement lorsqu’un groupe est copié vers un Shared Channel.

| Propriété                  | Valeur                                             |
| -------------------------- | -------------------------------------------------- |
| Obligatoire                | faux                                               |
| Valeur par défaut          | Faux                                               |
| Type                       | Booléen                                            |
| Nom d’affichage du portail | Supprimer également de l’équipe hôte ?             |
| Masqué dans le portail     | oui (prédéfini via la personnalisation du runbook) |

#### WhatIfMode

N’enregistre que ce qui changerait, sans écrire quoi que ce soit.

| Propriété                  | Valeur       |
| -------------------------- | ------------ |
| Obligatoire                | faux         |
| Valeur par défaut          | Faux         |
| Type                       | Booléen      |
| Nom d’affichage du portail | Simulation ? |

#### SendEmailReport

Envoyer le rapport à l’adresse e-mail du destinataire.

| Propriété                  | Valeur                          |
| -------------------------- | ------------------------------- |
| Obligatoire                | faux                            |
| Valeur par défaut          | Faux                            |
| Type                       | Booléen                         |
| Nom d’affichage du portail | Envoyer le rapport par e-mail ? |

**Options du portail**

| Option du portail                   | Valeur |
| ----------------------------------- | ------ |
| Oui - envoyer le rapport par e-mail | vrai   |
| Non - ne pas envoyer d’e-mail       | faux   |

#### EmailTo

Envoyez le rapport à ces adresses. Séparez-en plusieurs par des virgules ; chaque destinataire reçoit un e-mail distinct.

| Propriété                  | Valeur                                             |
| -------------------------- | -------------------------------------------------- |
| Obligatoire                | faux                                               |
| Valeur par défaut          |                                                    |
| Type                       | Chaîne                                             |
| Nom d’affichage du portail | Adresse(s) e-mail du destinataire                  |
| Masqué dans le portail     | oui (prédéfini via la personnalisation du runbook) |

#### EmailFrom

Adresse de l’expéditeur de l’e-mail du rapport. Prise dans le paramètre Tenant RJReport.EmailSender.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingHeaderImageUrl

Image d’en-tête de l’e-mail du rapport (URL HTTPS, PNG/JPEG/GIF, 200 Ko max.). Prise dans le paramètre Tenant RJReport.Branding.HeaderImageUrl ; l’en-tête RealmJoin par défaut est utilisé si vide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingFooterImageUrl

Image de pied de page de l’e-mail du rapport (URL HTTPS, PNG/JPEG/GIF, 200 Ko max.). Prise dans le paramètre Tenant RJReport.Branding.FooterImageUrl ; le pied de page RealmJoin par défaut est utilisé si vide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingFooterLink

Lien derrière l’image de pied de page de l’e-mail du rapport. Pris dans le paramètre Tenant RJReport.Branding.FooterLink ; realmjoin.com est utilisé si vide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingAccentColor

Couleur d’accent de l’e-mail du rapport sous forme de valeur hexadécimale à 6 chiffres. Prise dans le paramètre Tenant RJReport.Branding.AccentColor ; la valeur par défaut RealmJoin est utilisée si vide ou non valide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingTextColor

Couleur du texte de l’e-mail du rapport sous forme de valeur hexadécimale à 6 chiffres. Prise dans le paramètre Tenant RJReport.Branding.TextColor ; la valeur par défaut RealmJoin est utilisée si vide ou non valide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### ReportFileFormat

Distribuez le rapport en CSV, en classeur Excel ou dans les deux formats.

| Propriété                  | Valeur                                             |
| -------------------------- | -------------------------------------------------- |
| Obligatoire                | faux                                               |
| Valeur par défaut          | CSV et XLSX                                        |
| Type                       | Chaîne                                             |
| Nom d’affichage du portail | Format du fichier de rapport                       |
| Masqué dans le portail     | oui (prédéfini via la personnalisation du runbook) |

**Options du portail**

| Option du portail | Valeur          |
| ----------------- | --------------- |
| CSV et XLSX       | CSV et XLSX     |
| CSV uniquement    | CSV uniquement  |
| XLSX uniquement   | XLSX uniquement |

#### Créer un lien de téléchargement

Télécharge également le rapport et renvoie un lien de téléchargement qui expire après quelques jours.

| Propriété                  | Valeur                            |
| -------------------------- | --------------------------------- |
| Obligatoire                | faux                              |
| Valeur par défaut          | Faux                              |
| Type                       | Booléen                           |
| Nom d’affichage du portail | Créer un lien de téléchargement ? |

**Options du portail**

| Option du portail                                                 | Valeur |
| ----------------------------------------------------------------- | ------ |
| Oui - téléverser le rapport et renvoyer un lien de téléchargement | vrai   |
| Non - ne pas créer de lien de téléchargement                      | faux   |

#### Nom du conteneur

Conteneur de stockage vers lequel les fichiers du rapport sont téléversés. À définir par runbook.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      | channel-group-member-sync                          |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### Nom du groupe de ressources

Groupe de ressources du compte de stockage pour les téléversements du rapport. Pris à partir du paramètre du tenant RJReport.StorageAccount.ResourceGroup.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### Nom du Storage Account

Compte de stockage pour les téléversements du rapport. Pris à partir du paramètre du tenant RJReport.StorageAccount.StorageAccountName.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### LinkExpiryDays

Nombre de jours pendant lesquels un lien de téléchargement reste valide. Pris à partir du paramètre du tenant RJReport.StorageAccount.LinkExpiryDays.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      | 6                                                  |
| Type                   | Int32                                              |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

[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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/fr/automatisation/runbooks/runbook-references/org/general/sync-channel-or-group-members_scheduled.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
