> 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).

# チャネルまたはグループ メンバーの同期 - 定期実行

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

### 説明

このスケジュール済み 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回の実行につき一方向で同期します。各実行で行うこと:

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

#### 方向

この `方向` パラメーターは、何を何に同期するかを選択します:

* **`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 は最初にユーザーがホスト チームのメンバーであることを確認し、その後ユーザーをチャネルに追加します。
* メンバーが **削除** されるとき、既定ではチャネル メンバーシップのみが削除されます。 `RemoveFromTeam` を有効にすると、ユーザーをホスト チームのメンバーシップからも削除します。

#### ドライラン

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

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

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

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

#### スケジュール設定

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

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

レポートメールでは、任意の `RJReport.Branding.*` テナント設定が考慮されます。対象は、カスタムのヘッダー画像、カスタムのフッター画像（公開 HTTPS URL、PNG/JPEG/GIF、各最大 200 KB）、カスタムのフッターリンク、およびカスタムのアクセントカラーとテキストカラー（6 桁の hex 値、例: `#0052cc`）です。これらの設定が構成されていない場合は、既定の RealmJoin のグラフィックと色が使用されます。ダウンロードまたは検証できないブランド画像、または有効な hex カラーではない色の値があっても、レポートメールが送信されなくなることはありません。代わりに、該当する既定値が使用されます。

詳細については、 [RealmJoin レポート設定のドキュメント](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings) 設定の詳細については、

### 場所

Organization → General → Sync Channel Or Group Members (Scheduled)

**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
    * */teams/{id}/channels を一覧表示して Shared Channel を解決し、それが Shared Channel であることを確認します*
  * 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 を介して同期レポートを送信します*

### パラメーター

#### 方向

何を何に同期するかを選択します。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

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

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

#### IncludeGuests

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

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

#### RemoveFromTeam

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

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

#### WhatIfMode

有効にすると、runbook は何も書き込まず、行う変更内容だけをログに記録します。

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

#### SendEmailReport

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

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

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

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

#### EmailTo

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

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

#### EmailFrom

レポート用の送信者メールボックス。org 設定 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 桁の hex、例: '#0052cc'）です。RJReport.Branding.AccentColor テナント設定から取得されます。空または無効な場合は、既定の RealmJoin アクセントカラーが使用されます。

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

#### BrandingTextColor

レポートメール テンプレート用のテキストカラーの任意の上書き（6 桁の hex）です。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 コンテナー。runbook ごとに設定されます。

| プロパティ    | 値                         |
| -------- | ------------------------- |
| 必須       | いいえ                       |
| 既定値      | 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.
