> 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/ja/zi-dong-hua/runbooks/runbook-references/org/general/sync-channel-or-group-members_scheduled.md).

# チャネルまたはグループ メンバーを同期（スケジュール実行）

Teams の Shared Channel またはグループと Entra のセキュリティ グループ間でメンバーを同期する

{% hint style="info" %}
これはスケジュール実行の runbook です。単一のオブジェクトでトリガーされるのではなく、繰り返しスケジュールで実行されるように設計されています。詳細は [スケジューリング](/ja/zi-dong-hua/runbooks/scheduling.md) runbook のスケジュールの構成方法についてご覧ください。
{% endhint %}

### 説明

このスケジュール実行ランブックは、あるソース オブジェクトのメンバーシップを、1回の実行につき一方向でターゲット オブジェクトへミラーリングします。Teams Shared Channel のメンバーを Security Group に同期したり、あるグループのメンバーを別のグループに同期したり（たとえば Microsoft 365 グループを Security Group に、またはその逆）、グループのメンバーを Teams Shared Channel に同期したりできます。不足しているメンバーの追加は常に実行され、ターゲットにのみ存在するメンバーの削除は任意で、パラメーターによって制御されます。ゲストの扱いと、チャネルからの削除時にホスト チームのメンバーシップも削除するかどうかは設定可能で、ランブックは任意でメール レポートを送信し、結果を期限付きのダウンロード リンクとしてアップロードできます。ReportFileFormat パラメーターは、どのレポート ファイル形式を生成して配布するか（CSV のみ、CSV & XLSX、または XLSX のみ）を制御します。CSV 添付ファイルがメールのサイズ制限を超え、"CSV & XLSX" が選択されている場合、メールは Excel ワークブックのみを使用するようにフォールバックします。

### 仕組み

このスケジュール実行ランブックは、ある **ソース** オブジェクトを **ターゲット** オブジェクトへ1回の実行につき一方向でミラーリングします。各実行では次を行います：

1. 選択した方向に対するソースおよびターゲット オブジェクトを解決します。
2. 両方の側の現在のメンバー セットを読み取ります。
3. ターゲットに不足しているソース メンバーをすべて追加します。
4. 必要に応じて、ソースに存在しないターゲット メンバーをすべて削除します（ミラー モード）。

#### 方向

この `Direction` パラメーターは、何を何へ同期するかを選択します：

* **`SharedChannelToGroup`** - Teams Shared Channel のメンバーをターゲット Security Group にコピーします。
* **`GroupToGroup`** - ソース グループのメンバーをターゲット グループにコピーします（たとえば Microsoft 365 グループを Security Group に、またはその逆はソースとターゲットを入れ替えることで行えます）。
* **`GroupToSharedChannel`** - ソース グループのメンバーを Teams Shared Channel にコピーします。

#### 追加と削除

不足しているメンバーの追加は常に実行されます。ターゲットにのみ存在するメンバーの削除は **オプトイン** で `RemoveExtraMembers` （既定ではオフ）。削除を有効にすると、ターゲットはソースに対して正確にミラーリングされます。無効の場合、ランブックは追加のみを行います。

#### グループ メンバーの展開

ソース側のグループ メンバーは **推移的に**解決されるため、ネストされたグループ経由でメンバーになっているユーザーも含まれます。ターゲット側では **直接の** メンバーのみが考慮されます。追加と削除の操作は直接メンバーシップに対して行われるためです。

#### ゲストの扱い

`IncludeGuests` （既定ではオフ）は、ゲスト ユーザーを同期に含めるかどうかを制御します。オフの場合、ゲストは両方の側でスキップされ、追加も削除もされません。Shared Channel はゲストを拒否することが多いため、既定ではオフです。

#### Shared Channel の詳細

* グループを **Shared Channel に** 同期する場合、チャネル メンバーシップにはチーム メンバーシップが前提条件となるため、ランブックはまずユーザーがホスト チームのメンバーであることを確認し、その後ユーザーをチャネルに追加します。
* メンバーが **削除される** Shared Channel から削除される場合、既定ではチャネル メンバーシップのみが削除されます。 `RemoveFromTeam` を有効にすると、ユーザーをホスト チームのメンバーシップからも削除できます。

#### ドライ ラン

設定 `WhatIfMode` 何も書き込まずに、変更される内容をログに記録します。

#### レポート（任意、どちらも既定ではオフ）

* **`SendEmailReport`** RealmJoin ブランドのメールを（ `Send-RjReportEmail`）と、個々の変更を一覧表示した CSV 添付ファイルを含む実行統計を出力します。送信者は `RJReport.EmailSender` 設定から取得されます。
* **`CreateDownloadLink`** 同じ CSV を Storage Account にアップロードし、期限付きの SAS ダウンロード リンクを返します（両方のオプションが有効な場合はメールにも埋め込まれます）。対象の Storage Account は `RJReport.StorageAccount.*` 設定から取得されます。

ストレージへのアップロードは Automation アカウントのマネージド ID で認証します。この ID には対象の Storage Account に対する **Storage Account Contributor** RBAC ロールが必要です（これは Azure RBAC の割り当てであり、Graph のアプリケーション権限ではありません）。

#### スケジューリング

スケジュールに従って自動実行されるよう設計されています。ランブックは冪等であるため、1つの定期スケジュールだけで、メンバーの増減に応じてターゲットをソースと同期した状態に保てます。

### メールのブランド設定

レポートメールは、任意の `RJReport.Branding.*` テナント設定に従います:

* **ヘッダーおよびフッター画像** – 公開 HTTPS URL、PNG/JPEG/GIF、各最大 200 KB
* **フッターリンク** – フッター画像のリンク先
* **アクセント色とテキスト色** – 6 桁の 16 進数値、例: `#0052cc`

これらの設定が構成されていない場合、既定の RealmJoin のグラフィックと色が使用されます。ダウンロードまたは検証できない画像や無効な色の値が、レポートメールを妨げることはありません。代わりに対応する既定値が使用されます。

セットアップ手順と画像要件: [メールのブランド設定](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings#email-branding-optional).

### 場所

Organization → General → チャネルまたはグループ メンバーを同期 (スケジュール済み)

**完全な runbook 名**

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

### 詳細

| プロパティ    | 値                                                                                                                 |
| -------- | ----------------------------------------------------------------------------------------------------------------- |
| バージョン    | 1.3.0                                                                                                             |
| 必要なモジュール | <p>RealmJoin.RunbookHelper (>= 0.8.9)<br>Microsoft.Graph.Authentication (>= 2.39.0)<br>Az.Accounts (>= 5.5.2)</p> |
| スケジュール可能 | はい                                                                                                                |

### アクセス許可

#### アプリケーションのアクセス許可

* **種類**: Microsoft Graph
  * Group.ReadWrite.All
    * *ソース/ターゲット グループとホスト チームを解決し、/groups/{id}/members/$ref 経由で直接メンバーシップを書き込みます*
  * GroupMember.ReadWrite.All
    * *同期中にターゲット グループの直接メンバーを追加・削除します*
  * Channel.ReadBasic.All
    * *共有チャネルを解決し、それが Shared Channel であることを確認するために /teams/{id}/channels を一覧取得します*
  * ChannelMember.ReadWrite.All
    * */teams/{id}/channels/{id}/members を介して Shared Channel のメンバーを読み取り、追加・削除します*
  * TeamMember.ReadWrite.All
    * *Shared Channel メンバーの前提条件またはクリーンアップとして、ホスト チームのメンバーシップを追加/削除します*
  * User.Read.All
    * *ゲストを検出し、メンバーシップ差分を計算するために、メンバーのユーザー オブジェクト（id、UPN、userType）を読み取ります*
  * Organization.Read.All
    * */organization を読み取り、レポート メールに Tenant 名を含めます*
  * Mail.Send *(オプション — 機能: メール レポート)*
    * *メール レポートが有効な場合、Send-RjReportEmail を使用して同期レポートを送信します*

### パラメーター

#### Direction

何を何へ同期するかを選択します。SharedChannelToGroup は Shared Channel のメンバーをターゲット グループにコピーし、GroupToGroup はソース グループのメンバーをターゲット グループにコピーし、GroupToSharedChannel はソース グループのメンバーを Shared Channel にコピーします。

| プロパティ   | 値       |
| ------- | ------- |
| 必須      | はい      |
| 既定値     |         |
| 種類      | 文字列     |
| ポータル表示名 | 何を同期するか |

**ポータル オプション**

| ポータル オプション                            | 値 |
| ------------------------------------- | - |
| Shared Channel メンバー -> Security Group |   |
| グループ メンバー -> グループ                     |   |
| グループ メンバー -> Shared Channel           |   |

#### TeamId

Shared Channel をホストするチームのオブジェクト ID。Shared Channel 方向でのみ使用されます。

| プロパティ   | 値                        |
| ------- | ------------------------ |
| 必須      | いいえ                      |
| 既定値     |                          |
| 種類      | 文字列                      |
| ポータル表示名 | Shared Channel をホストするチーム |

#### ChannelName

選択したチーム内の Shared Channel の正確な表示名。Shared Channel 方向でのみ使用されます。

| プロパティ   | 値                   |
| ------- | ------------------- |
| 必須      | いいえ                 |
| 既定値     |                     |
| 種類      | 文字列                 |
| ポータル表示名 | Shared Channel の表示名 |

#### SourceGroupId

メンバーがコピーされるソース グループのオブジェクト ID。グループのソース方向で使用されます。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータル表示名   | ソース グループ                 |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### TargetGroupId

メンバーを受け取るターゲット Security Group のオブジェクト ID。グループのターゲット方向で使用されます。

| プロパティ   | 値                    |
| ------- | -------------------- |
| 必須      | いいえ                  |
| 既定値     |                      |
| 種類      | 文字列                  |
| ポータル表示名 | ターゲット Security Group |

#### RemoveExtraMembers

有効にすると、ターゲットにのみ存在しソースに存在しないメンバーが削除され、ターゲットがソースをミラーリングします。無効（既定）の場合、ランブックは不足しているメンバーを追加するだけです。

| プロパティ   | 値                                 |
| ------- | --------------------------------- |
| 必須      | いいえ                               |
| 既定値     | False                             |
| 種類      | ブール値                              |
| ポータル表示名 | ターゲットにのみ存在するメンバーを削除する（ソースをミラーリング） |

#### IncludeGuests

有効にすると、ゲスト ユーザーが同期に含まれ、追加または削除される可能性があります。無効（既定）の場合、ゲストはスキップされ、追加も削除もされません。

| プロパティ   | 値            |
| ------- | ------------ |
| 必須      | いいえ          |
| 既定値     | False        |
| 種類      | ブール値         |
| ポータル表示名 | ゲスト ユーザーを含める |

#### RemoveFromTeam

GroupToSharedChannel の場合のみ関連します。有効にすると、Shared Channel からメンバーを削除した際に、そのユーザーをホスト チームのメンバーシップからも削除します。無効（既定）の場合、チャネル メンバーシップのみが削除されます。

| プロパティ     | 値                                |
| --------- | -------------------------------- |
| 必須        | いいえ                              |
| 既定値       | False                            |
| 種類        | ブール値                             |
| ポータル表示名   | チャネルから削除する際に、ユーザーをホスト チームからも削除する |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定）         |

#### WhatIfMode

有効な場合、runbook は何も書き込まずに、実行する変更のみをログに記録します。

| プロパティ   | 値                |
| ------- | ---------------- |
| 必須      | いいえ              |
| 既定値     | False            |
| 種類      | ブール値             |
| ポータル表示名 | ドライラン（記録のみ、変更なし） |

#### SendEmailReport

有効にすると、RealmJoin ブランドのメール レポートが実行後に Send-RjReportEmail 経由で送信されます。これをオンにすると、送信先アドレスとレポート ファイル形式のフィールドが表示されます。

| プロパティ   | 値           |
| ------- | ----------- |
| 必須      | いいえ         |
| 既定値     | False       |
| 種類      | ブール値        |
| ポータル表示名 | メール レポートを送信 |

**ポータル オプション**

| ポータル オプション         | 値 |
| ------------------ | - |
| はい - レポートをメール送信します |   |
| いいえ - メール送信しません    |   |

#### EmailTo

レポート送信用の宛先メールアドレス（複数可、カンマ区切り）。SendEmailReport が有効な場合にのみ使用されます。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータル表示名   | 送信先（メール アドレス）            |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### EmailFrom

レポートの送信元メールボックス。組織設定 RJReport.EmailSender にバインドされています。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### BrandingHeaderImageUrl

レポートメール用のカスタムヘッダー画像（PNG/JPEG/GIF、最大 200 KB）の任意の公開 HTTPS URL。RJReport.Branding.HeaderImageUrl テナント設定から取得されます。空の場合は既定の RealmJoin ヘッダー画像が使用されます。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### BrandingFooterImageUrl

レポートメール用のカスタムフッター画像（PNG/JPEG/GIF、最大 200 KB）の任意の公開 HTTPS URL。RJReport.Branding.FooterImageUrl テナント設定から取得されます。空の場合は既定の RealmJoin フッター画像が使用されます。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### BrandingFooterLink

フッター画像がリンクする任意の URL。RJReport.Branding.FooterLink テナント設定から取得されます。空の場合は既定のリンク（<https://www.realmjoin.com）が使用されます。>

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### BrandingAccentColor

レポートメール テンプレート用の任意のアクセント色の上書き（6 桁の 16 進数、例: '#0052cc'）。RJReport.Branding.AccentColor テナント設定から取得されます。空または無効な場合は、既定の RealmJoin アクセント色が使用されます。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### BrandingTextColor

レポートメール テンプレート用の任意のテキスト色の上書き（6 桁の 16 進数）。RJReport.Branding.TextColor テナント設定から取得されます。空または無効な場合は、既定の RealmJoin テキスト色が使用されます。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### ReportFileFormat

生成および配信されるレポートファイル形式を制御します: 「CSV のみ」、「CSV と XLSX」（既定）または「XLSX のみ」。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       | CSV と XLSX               |
| 種類        | 文字列                      |
| ポータル表示名   | レポートファイル形式               |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

**ポータル オプション**

| ポータル オプション | 値 |
| ---------- | - |
| CSV と XLSX |   |
| CSV のみ     |   |
| XLSX のみ    |   |

#### CreateDownloadLink

有効にすると、レポート ファイルは Storage Account にアップロードされ、期限付きのダウンロード リンクが返されます（メール レポートも有効な場合はそこにも含まれます）。

| プロパティ   | 値                                                   |
| ------- | --------------------------------------------------- |
| 必須      | いいえ                                                 |
| 既定値     | False                                               |
| 種類      | ブール値                                                |
| ポータル表示名 | レポートのダウンロード リンクを作成する（レポートを Storage Account にアップロード） |

**ポータル オプション**

| ポータル オプション                       | 値 |
| -------------------------------- | - |
| はい - レポートをアップロードしてダウンロードリンクを返します |   |
| いいえ - ダウンロードリンクを作成しません           |   |

#### ContainerName

アップロードに使用する Storage Account コンテナー。ランブックごとに設定されます。

| プロパティ     | 値                         |
| --------- | ------------------------- |
| 必須        | いいえ                       |
| 既定値       | channel-group-member-sync |
| 種類        | 文字列                       |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定）  |

#### ResourceGroupName

Storage Account を含むリソース グループ。RJReport.StorageAccount.ResourceGroup にバインドされています。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### StorageAccountName

アップロードに使用する Storage Account。RJReport.StorageAccount.StorageAccountName にバインドされています。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

#### LinkExpiryDays

生成されたダウンロード リンクの有効期限までの日数。RJReport.StorageAccount.LinkExpiryDays にバインドされています。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       | 6                        |
| 種類        | Int32                    |
| ポータルでは非表示 | はい（runbook のカスタマイズで事前設定） |

[Runbook Reference の概要に戻る](/ja/zi-dong-hua/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/ja/zi-dong-hua/runbooks/runbook-references/org/general/sync-channel-or-group-members_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.
