> 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/report-license-assignment_scheduled.md).

# ライセンス割り当てレポート（スケジュール実行）

しきい値に基づいてライセンス可用性レポートを生成し、メール送信する

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

### 説明

この runbook は、送信された SKU に基づいてライセンスの利用可能数を確認し、いずれかのしきい値に達した場合にメールレポートを送信します。しきい値は 2 種類設定できます。1 つ目は最小しきい値で、利用可能なライセンス数が指定数を下回るとアラートを発します。2 つ目は最大しきい値で、利用可能なライセンス数が指定数を超えるとアラートを発します。レポートには、設定したしきい値の範囲外にあるライセンスの詳細情報が含まれ、それらを CSV および/または Excel (xlsx) ファイルにエクスポートし、メールで送信します。レポート ファイルは Azure Storage Account にアップロードすることもでき、期限付きのダウンロード リンクが返されます。ReportFileFormat パラメーターは、生成および配信されるファイル形式（CSV のみ、CSV & XLSX、または XLSX のみ）を制御します。CSV 添付ファイルがメールのサイズ制限を超え、"CSV & XLSX" が選択されている場合、メールは Excel ワークブックのみになります。

### Runbook のカスタマイズ

#### メール送信に関するセットアップ

メール レポートの送信は任意であり、受信者（`EmailTo`) が指定された場合にのみ行われます。送信者アドレスは `RJReport.EmailSender` テナント設定から取得されます。

この runbook は Microsoft Graph API を使用してメールを送信します。Graph API 経由でメールを送信するには、runbook のカスタマイズで既存のメールアドレスを構成する必要があります。

以下を参照してください [RealmJoin レポート設定ドキュメント](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings) 利用可能なすべての設定の詳細について。

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

レポートメールは、任意の `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).

#### InputJson の構成

各ライセンス構成には次が必要です:

* **SKUPartNumber** (必須): Microsoft の SKU 識別子
* **FriendlyName** (必須): 表示名
* **MinThreshold** (省略可能): 利用可能なライセンス数 < しきい値 の場合にアラート
* **MaxThreshold** (省略可能): 利用可能なライセンス数 > しきい値 の場合にアラート

各ライセンスごとに少なくとも 1 つのしきい値を設定する必要があります。

#### 構成例

**最小しきい値のみ** (不足を防止):

```json
[
    {
        "SKUPartNumber": "ENTERPRISEPACK",
        "FriendlyName": "Microsoft 365 E3",
        "MinThreshold": 50
    }
]
```

**最大しきい値のみ** (過剰割り当てを防止):

```json
[
    {
        "SKUPartNumber": "POWER_BI_PRO",
        "FriendlyName": "Power BI Pro",
        "MaxThreshold": 500
    }
]
```

**両方のしきい値** (範囲を維持):

```json
[
    {
        "SKUPartNumber": "ENTERPRISEPREMIUM",
        "FriendlyName": "Microsoft 365 E5",
        "MinThreshold": 50,
        "MaxThreshold": 150
    }
]
```

#### 完全な Runbook カスタマイズ

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "sender@contoso.com"
        }
    },
    "Runbooks": {
        "rjgit-org_general_report-license-assignment_scheduled": {
            "Parameters": {
                "EmailTo": {
                    "DisplayName": "受信者のメール アドレス"
                },
                "InputJson": {
                    "Hide": true,
                    "DefaultValue": [
                        {
                            "SKUPartNumber": "SPE_E5",
                            "FriendlyName": "Microsoft 365 E5",
                            "MinThreshold": 20,
                            "MaxThreshold": 30
                        },
                        {
                            "SKUPartNumber": "FLOW_FREE",
                            "FriendlyName": "Microsoft Power Automate Free",
                            "MinThreshold": 10
                        }
                    ]
                },
                "EmailFrom": {
                    "Hide": true
                },
                "CallerName": {
                    "Hide": true
                }
            }
        }
    }
}
```

### SKU 部品番号の検索

```powershell
Connect-MgGraph -Scopes "Organization.Read.All"
Get-MgSubscribedSku | Select-Object SkuPartNumber, SkuId | Sort-Object SkuPartNumber
```

一般的な SKU:

* `ENTERPRISEPACK` - Microsoft 365 E3
* `ENTERPRISEPREMIUM` - Microsoft 365 E5
* `EMS` - Enterprise Mobility + Security E3

### 出力

**違反が検出された場合:**

* ジョブ ログのコンソール出力
* CSV エクスポート (`License_Threshold_Violations.csv`)
* 要約、違反、推奨事項、および CSV 添付ファイルを含むメールレポート

**すべてしきい値内の場合:**

* メールは送信されません
* ジョブは正常に完了します

### トラブルシューティング

**SKU が見つかりません**: 次を使用して SKU の存在を確認してください `Get-MgSubscribedSku`

**メールが送信されない**: EmailFrom の構成と Mail.Send 権限を確認してください

**無効な JSON**: 構成前に JSON 形式を検証してください

### 移行に関する注意

従来 `WarningThreshold` は自動的に次にマップされます `MinThreshold` - 旧構成は引き続き動作します。

### 場所

Organization → 全般 → Report License Assignment (Scheduled)

**完全な runbook 名**

rjgit-org\_general\_report-license-assignment\_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
  * Organization.Read.All
    * *しきい値に対してライセンス数を評価するために /organization と /subscribedSkus を読み取ります*
  * Mail.Send *(オプション — 機能: メール レポート)*
    * *EmailTo が構成されている場合、Send-RjReportEmail を介してしきい値レポートのメールを送信します*

### パラメーター

#### InputJson

SKU 構成としきい値を含む JSON 配列。各エントリには、Microsoft の SKU 識別子用の SKUPartNumber、ライセンスの表示名としての FriendlyName、利用可能であるべきライセンスの最小数を指定する省略可能な MinThreshold、利用可能であるべきライセンスの最大数を指定する省略可能な MaxThreshold を含める必要があります。

これは runbook のカスタマイズで構成する必要があります

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

#### ReportFileFormat

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

| プロパティ   | 値          |
| ------- | ---------- |
| 必須      | いいえ        |
| 既定値     | CSV と XLSX |
| 種類      | 文字列        |
| ポータル表示名 | レポートファイル形式 |

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

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

#### CreateDownloadLink

有効にすると、レポート ファイルは Azure Storage Account にアップロードされ、期限付きのダウンロード リンクが返されます。既定では無効です。

| プロパティ   | 値                                         |
| ------- | ----------------------------------------- |
| 必須      | いいえ                                       |
| 既定値     | False                                     |
| 種類      | ブール値                                      |
| ポータル表示名 | ファイルのダウンロードリンクを作成しますか（レポートをストレージにアップロード）？ |

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

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

#### ContainerName

アップロードに使用するストレージ コンテナー名。runbook ごとに構成されます（グローバルな RJReport 設定ではありません）。

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

#### ResourceGroupName

Storage Account を含むリソース グループ。RJReport のテナント設定から取得されます。

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

#### StorageAccountName

アップロードに使用する Storage Account 名。RJReport のテナント設定から取得されます。

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

#### LinkExpiryDays

生成されたダウンロードリンクの有効期限が切れるまでの日数。RJReport のテナント設定から取得されます。

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

#### EmailTo

指定すると、レポートを含むメールが指定されたアドレスに送信されます。単一のアドレスでも、カンマ区切りの複数アドレスでも指定できます（文字列）。

| プロパティ   | 値           |
| ------- | ----------- |
| 必須      | いいえ         |
| 既定値     |             |
| 種類      | 文字列         |
| ポータル表示名 | 受信者のメールアドレス |

#### EmailFrom

設定から解決された送信者のメール アドレス。

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（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

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

#### BrandingTextColor

| プロパティ     | 値                        |
| --------- | ------------------------ |
| 必須        | いいえ                      |
| 既定値       |                          |
| 種類        | 文字列                      |
| ポータルでは非表示 | はい（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/report-license-assignment_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.
