Synchronisation planifiée des membres du canal ou du groupe
Répliquer les membres entre un Shared Channel Teams et un groupe
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 :
Résout les objets source et cible pour la direction sélectionnée.
Lit l’ensemble actuel des membres des deux côtés.
Ajoute chaque membre source manquant dans la cible.
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
RemoveFromTeampour é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)
SendEmailReportenvoie un e-mail aux couleurs de RealmJoin (viaSend-RjRbReportEmail) avec des statistiques d’exécution et une pièce jointe CSV répertoriant chaque modification individuelle. L’expéditeur est repris duRJReport.EmailSenderparamètre.CreateDownloadLinkté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 desRJReport.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
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.
Obligatoire
vrai
Valeur par défaut
Type
Chaîne
Nom d’affichage du portail
Direction
Options du portail
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.
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.
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.
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.
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.
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.
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.
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.
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.
Obligatoire
faux
Valeur par défaut
Faux
Type
Booléen
Nom d’affichage du portail
Envoyer le rapport par e-mail ?
Options du portail
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é.
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.
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.
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.
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. Récupéré à partir du paramètre du tenant RJReport.Branding.FooterLink ; realmjoin.com est utilisé si vide.
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.
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.
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.
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
CSV et XLSX
CSV et XLSX
CSV uniquement
CSV uniquement
XLSX uniquement
XLSX uniquement
CreateDownloadLink
Télécharge aussi le rapport et renvoie un lien de téléchargement qui expire après quelques jours.
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
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.
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.
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.
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.
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 ?