For the complete documentation index, see llms.txt. This page is also available as Markdown.

Synchronisation planifiée des membres du canal ou du groupe

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

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 objet unique. Voir Planification pour plus de détails sur la configuration des planifications du runbook.

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 n’existent que dans la cible ne sont supprimés que sur demande. Une exécution à blanc montre 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é réplique l’appartenance d’un source objet vers un cible objet 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 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 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 canal partagé Teams.

Ajout et suppression

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

Développement des membres du groupe

Les membres du groupe du côté source sont résolus de manière transitive, donc les utilisateurs membres via des groupes imbriqués sont inclus. Du côté cible, seuls les membres 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 rejettent souvent les invités, donc cette option est désactivée par défaut.

Spécificités des canaux partagés

  • Lorsqu’un groupe est synchronisé vers 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 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éfinir WhatIfMode pour enregistrer ce qui changerait sans rien écrire.

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

  • SendEmailReport envoie un e-mail aux couleurs de RealmJoin (via Send-RjRbReportEmail) avec des statistiques d’exécution et une pièce jointe CSV répertoriant chaque modification individuelle. L’expéditeur est repris du RJReport.EmailSender paramètre.

  • CreateDownloadLink téléverse le même CSV vers un compte de stockage et renvoie un lien de téléchargement SAS à durée limitée (également intégré dans l’e-mail lorsque les deux options sont activées). Le compte de stockage cible est repris des RJReport.StorageAccount.* paramètres.

Le téléversement vers le stockage s’authentifie à l’aide de l’identité managée du compte Automation ; cette identité a besoin de la Storage Account Contributor rôle RBAC sur le Storage Account cible (il s’agit d’une attribution Azure RBAC, et non 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.

Identité visuelle des e-mails

L’e-mail du rapport prend en compte le paramètre facultatif RJReport.Branding.* des paramètres du 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’accentuation 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’e-mail du rapport – la valeur par défaut correspondante est utilisée à la place.

Instructions de configuration et exigences relatives aux images : Identité visuelle des e-mails.

Emplacement

Organisation → Général → Synchroniser les membres d’un canal ou d’un 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

RealmJoin.RunbookHelper (>= 0.8.9) Microsoft.Graph.Authentication (>= 2.39.0) Az.Accounts (>= 5.5.2)

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

      • Répertorie /teams/{id}/channels pour résoudre le Shared Channel 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 de rapport

    • Mail.Send (facultatif — fonctionnalité : rapport par e-mail)

      • Envoie le rapport de synchronisation via Send-RjReportEmail lorsque le rapport par e-mail est activé

Paramètres

Direction

Ce qui est copié où : les membres du Shared Channel vers le groupe cible, les membres du groupe source vers le groupe cible, ou les membres du groupe source vers 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 impliquant un 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 impliquant un 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 n’existent que dans la cible, de sorte qu’elle reflète exactement la source. Sinon, les membres sont uniquement 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 ne sont pas modifié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

Consigne seulement ce qui changerait sans rien écrire.

Propriété
Valeur

Obligatoire

faux

Valeur par défaut

Faux

Type

Booléen

Nom d’affichage du portail

Dry run ?

SendEmailReport

Envoie 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 séparé.

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 d’expédition de l’e-mail du rapport. Récupérée à partir du paramètre du 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.). Récupérée à partir du paramètre du 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.). Récupérée à partir du paramètre du 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)

Lien derrière l’image de pied de page de l’e-mail du rapport. Récupéré à partir du paramètre du 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’accentuation de l’e-mail du rapport sous forme de valeur hexadécimale à 6 chiffres. Récupérée à partir du paramètre du tenant RJReport.Branding.AccentColor ; la valeur par défaut RealmJoin est utilisée si vide ou invalide.

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. Récupérée à partir du paramètre du tenant RJReport.Branding.TextColor ; la valeur par défaut RealmJoin est utilisée si vide ou invalide.

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

Remettez le rapport au format CSV, sous forme de classeur Excel, ou les deux.

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

Télécharge aussi 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 dans lequel les fichiers du rapport sont téléversés. À définir pour chaque 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 Storage Account pour les téléversements de rapports. Pris à partir du paramètre 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

Storage Account pour les téléversements de rapports. Pris à partir du paramètre 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 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)

Mis à jour

Ce contenu vous a-t-il été utile ?