チャネルまたはグループ メンバーの同期をスケジュール
Teams Shared Channel またはグループと Entra のセキュリティ グループの間でメンバーを同期します
これはスケジュール実行される runbook です。単一のオブジェクトでトリガーされるのではなく、定期的なスケジュールで実行されるように設計されています。詳細は スケジューリング runbook のスケジュールを設定する方法の詳細を参照してください。
説明
このスケジュールされた runbook は、1 回の実行ごとにソース オブジェクトのメンバーシップをターゲット オブジェクトへ一方向でミラーリングします。Teams Shared Channel のメンバーを Security Group に同期し、1 つのグループのメンバーを別のグループ(たとえば Microsoft 365 グループを Security Group に、またはその逆)へ同期し、さらにグループのメンバーを Teams Shared Channel に同期することをサポートします。足りないメンバーの追加は常に実行され、ターゲットにのみ存在するメンバーの削除はオプションで、パラメーターによって制御されます。ゲストの扱いと、チャネルからの削除時にホスト チームのメンバーシップも削除するかどうかは設定可能で、runbook は必要に応じてメール レポートの送信と、結果を有効期限付きダウンロード リンクとしてアップロードすることもできます。ReportFileFormat パラメーターは、生成して配信するレポート ファイル形式(CSV のみ、CSV & XLSX、または XLSX のみ)を制御します。CSV 添付ファイルがメールのサイズ制限を超え、"CSV & XLSX" が選択されている場合、メールは Excel ワークブックのみにフォールバックします。
仕組み
このスケジュールされた runbook は、 ソース オブジェクトを ターゲット オブジェクトへ、1 回の実行ごとに一方向でミラーリングします。各実行では次を行います:
選択された方向に対するソースおよびターゲット オブジェクトを解決します。
両側の現在のメンバー セットを読み取ります。
ターゲットに存在しないソース メンバーをすべて追加します。
必要に応じて、ソースに存在しないターゲット メンバーをすべて削除します(ミラー モード)。
方向
その 方向 パラメーターは、何を何に同期するかを選択します:
SharedChannelToGroup- Teams Shared Channel のメンバーが、ターゲット Security Group にコピーされます。GroupToGroup- ソース グループのメンバーがターゲット グループにコピーされます(たとえば Microsoft 365 グループを Security Group に、またはソースとターゲットを入れ替えてその逆にします)。GroupToSharedChannel- ソース グループのメンバーが Teams Shared Channel にコピーされます。
追加と削除
不足しているメンバーの追加は常に実行されます。ターゲットにのみ存在するメンバーの削除は オプトイン で RemoveExtraMembers (既定はオフ)です。削除を有効にすると、ターゲットはソースに対して完全にミラーリングされます。無効にすると、runbook は追加のみを行います。
グループ メンバーの展開
ソース側のグループ メンバーは 推移的に解決されるため、ネストされたグループを通じてメンバーになっているユーザーも含まれます。ターゲット側では 直接の メンバーのみが考慮されます。追加と削除の操作は直接のメンバーシップに対して実行されるためです。
ゲストの扱い
IncludeGuests (既定はオフ)は、ゲスト ユーザーを同期に含めるかどうかを制御します。オフの場合、ゲストは両側でスキップされ、追加も削除もされません。Shared Channel はゲストを拒否することが多いため、これは既定でオフです。
Shared Channel 固有の詳細
グループが Shared Channel に 同期される場合、チャネルのメンバーシップにはチームのメンバーシップが前提となるため、runbook は最初にユーザーがホスト チームのメンバーであることを確認し、その後ユーザーをチャネルに追加します。
メンバーが Shared Channel から 削除される場合、既定ではチャネルのメンバーシップのみが削除されます。
RemoveFromTeamを有効にすると、ユーザーをホスト チームのメンバーシップからも削除します。
ドライラン
設定します WhatIfMode 何が変更されるかを、何も書き込まずに記録するために使用します。
レポート(省略可能、どちらも既定ではオフ)
SendEmailReportは、run の統計情報と 2 つの CSV 添付ファイル(チーム別サマリーと変更別詳細リスト)を含む RealmJoin ブランドのメールを(Send-RjReportEmail)には、実行統計と、各変更をすべて一覧にした CSV 添付ファイルが含まれます。送信者は、RJReport.EmailSender設定CreateDownloadLink同じ CSV を Storage Account にアップロードし、期限付きの SAS ダウンロード リンクを返します(両方のオプションが有効な場合は、メールにも埋め込まれます)。ターゲット Storage Account は、RJReport.StorageAccount.*は同じ CSV を storage account にアップロードし、期限付きの SAS ダウンロード リンクを返します(両方のオプションが有効な場合はメールにも埋め込まれます)。対象の storage account は
設定から取得されます。 Storage Blob Data Contributor RBAC ロールを対象の storage account に付与する必要があります(これは Azure RBAC の割り当てであり、Graph のアプリケーション権限ではありません)。
スケジューリング
スケジュールに従って無人で実行されるよう設計されています。runbook は冪等であるため、繰り返し実行される 1 つのスケジュールだけで、メンバーの増減に応じてターゲットをソースと同期した状態に保てます。
場所
組織 → 全般 → チャネルまたはグループ メンバーの同期(スケジュール済み)
Runbook の完全名
rjgit-org_general_sync-channel-or-group-members_scheduled
詳細
バージョン
1.1.0
必須モジュール
RealmJoin.RunbookHelper (>= 0.8.7)\nMicrosoft.Graph.Authentication (>= 2.39.0)\nAz.Accounts (>= 5.5.0)
スケジュール可能
はい
権限
アプリケーション権限
種類: Microsoft Graph
Group.ReadWrite.All
GroupMember.ReadWrite.All
Channel.ReadBasic.All
ChannelMember.ReadWrite.All
TeamMember.ReadWrite.All
User.Read.All
Organization.Read.All
Mail.Send
パラメーター
方向
何を何に同期するかを選択します。SharedChannelToGroup は Shared Channel のメンバーをターゲット グループにコピーし、GroupToGroup はソース グループのメンバーをターゲット グループにコピーし、GroupToSharedChannel はソース グループのメンバーを Shared Channel にコピーします。
必須
true
既定値
種類
文字列
ポータル表示名
何を同期するか
ポータルオプション
Shared Channel のメンバー -> Security Group
グループ メンバー -> グループ
グループ メンバー -> Shared Channel
TeamId
Shared Channel をホストするチームのオブジェクト ID。Shared Channel 方向でのみ使用されます。
必須
false
既定値
種類
文字列
ポータル表示名
Shared Channel をホストするチーム
ChannelName
選択したチーム内の Shared Channel の正確な表示名。Shared Channel 方向でのみ使用されます。
必須
false
既定値
種類
文字列
ポータル表示名
Shared Channel の表示名
SourceGroupId
メンバーがコピーされるソース グループのオブジェクト ID。グループ ソース方向で使用されます。
必須
false
既定値
種類
文字列
ポータル表示名
ソース グループ
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
TargetGroupId
メンバーを受け取るターゲット Security Group のオブジェクト ID。グループ ターゲット方向で使用されます。
必須
false
既定値
種類
文字列
ポータル表示名
ターゲット Security Group
RemoveExtraMembers
有効にすると、ターゲットにのみ存在しソースには存在しないメンバーが削除され、ターゲットがソースをミラーリングします。無効(既定)では、runbook は不足しているメンバーを追加するだけです。
必須
false
既定値
いいえ
種類
ブール値
ポータル表示名
ターゲットにのみ存在するメンバーを削除する(ソースをミラーリング)
IncludeGuests
有効にすると、ゲスト ユーザーが同期に含まれ、追加または削除される場合があります。無効(既定)では、ゲストはスキップされ、追加も削除もされません。
必須
false
既定値
いいえ
種類
ブール値
ポータル表示名
ゲスト ユーザーを含める
RemoveFromTeam
GroupToSharedChannel にのみ関連します。有効にすると、Shared Channel からメンバーを削除したときに、そのユーザーをホスト チームのメンバーシップからも削除します。無効(既定)では、チャネルのメンバーシップのみが削除されます。
必須
false
既定値
いいえ
種類
ブール値
ポータル表示名
チャネルから削除する際、ユーザーをホスト チームからも削除する
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
WhatIfMode
有効にすると、runbook は何も書き込まず、行う変更だけをログに記録します。
必須
false
既定値
いいえ
種類
ブール値
ポータル表示名
Dry run(記録のみ、変更なし)
SendEmailReport
有効にすると、runbook の実行後に RealmJoin ブランドのメール レポートが Send-RjReportEmail 経由で送信されます。これをオンにすると、宛先アドレスとレポート ファイル形式のフィールドが表示されます。
必須
false
既定値
いいえ
種類
ブール値
ポータル表示名
メール レポートを送信
ポータルオプション
はい - レポートをメールで送信する
いいえ - メールを送信しない
EmailTo
レポートの送信先メール アドレス(複数可、カンマ区切り)。SendEmailReport が有効な場合にのみ使用されます。
必須
false
既定値
種類
文字列
ポータル表示名
レポートの送信先(メール アドレス)
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
EmailFrom
レポートの送信元メールボックス。組織設定 RJReport.EmailSender にバインドされています。
必須
false
既定値
種類
文字列
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
ReportFileFormat
生成および配信されるレポートのファイル形式を制御します: 「CSV のみ」、「CSV と XLSX」(既定)、または「XLSX のみ」。
必須
false
既定値
CSV と XLSX
種類
文字列
ポータル表示名
レポート ファイル形式
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
ポータルオプション
CSV と XLSX
CSV のみ
XLSX のみ
CreateDownloadLink
有効にすると、レポート ファイルが Storage Account にアップロードされ、期限付きのダウンロード リンクが返されます(メール レポートも有効な場合は、それにも含まれます)。
必須
false
既定値
いいえ
種類
ブール値
ポータル表示名
レポートのダウンロード リンクを作成する(レポートを Storage Account にアップロード)
ポータルオプション
はい - レポートをアップロードしてダウンロード リンクを返す
いいえ - ダウンロード リンクを作成しない
ContainerName
アップロードに使用する Storage Container。runbook ごとに設定されます。
必須
false
既定値
channel-group-member-sync
種類
文字列
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
ResourceGroupName
Storage Account を含むリソース グループ。RJReport.StorageAccount.ResourceGroup にバインドされています。
必須
false
既定値
種類
文字列
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
StorageAccountName
アップロードに使用する Storage Account。RJReport.StorageAccount.StorageAccountName にバインドされています。
必須
false
既定値
種類
文字列
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
LinkExpiryDays
生成されたダウンロード リンクの有効期限が切れるまでの日数。RJReport.StorageAccount.LinkExpiryDays にバインドされています。
必須
false
既定値
6
種類
Int32
ポータルで非表示
はい(runbook のカスタマイズで事前設定)
最終更新
役に立ちましたか?