> 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/de/automatisierung/runbooks/runbook-references/org/general/report-license-assignment_scheduled.md).

# Bericht über Lizenzzuweisungen, geplant

Warnen, wenn die Lizenzverfügbarkeit Schwellenwerte überschreitet

{% hint style="info" %}
Dies ist ein geplanter Runbook-Lauf. Er ist dafür ausgelegt, nach einem wiederkehrenden Zeitplan ausgeführt zu werden, anstatt für ein einzelnes Objekt ausgelöst zu werden. Siehe [Planung](/de/automatisierung/runbooks/scheduling.md) für Details dazu, wie Runbook-Zeitpläne konfiguriert werden.
{% endhint %}

### Beschreibung

Prüft, wie viele Lizenzen der konfigurierten SKUs noch verfügbar sind. Wenn eine Anzahl unter einen Mindestwert fällt oder einen Höchstwert überschreitet, werden die betroffenen SKUs gemeldet, damit Sie rechtzeitig Lizenzen kaufen oder zurückfordern können. Der Bericht kann per E-Mail gesendet oder als Download-Link bereitgestellt werden.

### Lizenzkonfiguration

Die zu prüfenden SKUs und ihre Schwellenwerte sind in der Runbook-Anpassung als das versteckte `InputJson` Wert. Jede Lizenzkonfiguration erfordert:

* **SKUPartNumber** (erforderlich): SKU-Kennung von Microsoft
* **FriendlyName** (erforderlich): Anzeigename
* **MinThreshold** (optional): Warnung, wenn verfügbare Lizenzen < Schwellenwert
* **MaxThreshold** (optional): Warnung, wenn verfügbare Lizenzen > Schwellenwert

Pro Lizenz muss mindestens ein Schwellenwert festgelegt werden.

#### Konfigurationsbeispiele

**Nur Mindestschwellenwert** (Engpässe verhindern):

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

**Nur Höchstschwellenwert** (Überprovisionierung verhindern):

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

**Beide Schwellenwerte** (Bereich einhalten):

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

#### Vollständige Runbook-Anpassung

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "sender@contoso.com"
        }
    },
    "Runbooks": {
        "rjgit-org_general_report-license-assignment_scheduled": {
            "Parameters": {
                "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
                        }
                    ]
                }
            }
        }
    }
}
```

Siehe die [Runbook-Anpassungsleitfaden](https://docs.realmjoin.com/automation/runbooks/runbook-customization) für die Syntax.

### SKU-Teilenummern finden

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

Häufige SKUs:

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

### Ergebnisse

Jeder Lauf schreibt seine Ergebnisse in die Registerkarte Output Data des RealmJoin-Portals: eine Zusammenfassung, die Lizenzen außerhalb ihrer Schwellenwerte, die konfigurierten SKUs, die im Mandanten nicht vorhanden sind, und die Lizenzen innerhalb ihrer Schwellenwerte. Jede Tabelle kann dort nach Excel exportiert werden.

* **Wenn Verstöße erkannt werden:** Die Berichtdateien (CSV und/oder Excel-Arbeitsmappe) listen die Lizenzen außerhalb ihrer Schwellenwerte auf, und die E-Mail enthält die Zusammenfassung, die Verstöße, Empfehlungen und die Dateien als Anlagen.
* **Wenn eine konfigurierte SKU nicht gefunden wird:** Die E-Mail führt die SKU als Konfigurationsproblem auf.
* **Wenn alle Lizenzen innerhalb ihrer Schwellenwerte liegen:** es wird keine E-Mail gesendet, keine Berichtdatei erstellt und der Lauf wird erfolgreich abgeschlossen.

### Berichtszustellung

Berichtsdateien werden nur generiert, wenn eine Zustellmethode über die **Berichtszustellung** Option (E-Mail und/oder Download-Link) und mindestens eine Lizenz liegt außerhalb ihrer Schwellenwerte. Mit *Nur Ausgabedaten* ausgewählt, werden die Ergebnisse direkt im Tab „Output Data“ des RealmJoin-Portals gelesen, wo jede Tabelle auch nach Excel exportiert werden kann. E-Mail-Zustellung und das Erstellen eines Download-Links sind unabhängig und können kombiniert werden.

Für den Downloadlink werden die Berichtsdateien in den in den Azure Storage Account hochgeladen, der in den `RJReport.StorageAccount.*` Tenant-Einstellungen konfiguriert ist, und zeitlich begrenzte SAS-Downloadlinks werden zurückgegeben. Der Speicher-Upload authentifiziert sich mit der verwalteten Identität des Automation-Kontos; diese Identität benötigt die **Reader and Data Access** RBAC-Rolle auf dem Ziel-Storage Account (dies ist eine Azure-RBAC-Zuweisung, keine Graph-Anwendungsberechtigung).

Zeitpläne, die vor der **Berichtszustellung** Option existierte, senden weiterhin ihre E-Mail: Ein gespeicherter Empfänger allein aktiviert die E-Mail für sie weiterhin. Wenn ein solcher Zeitplan zum Bearbeiten geöffnet wird, zeigt die Option *Nur Ausgabedaten*an; wählen Sie die Zustellung vor dem Speichern erneut aus, andernfalls sendet der Zeitplan den Bericht nicht mehr.

### Konfiguration für den E-Mail-Versand

Das Senden eines Berichts per E-Mail ist optional und erfolgt nur, wenn *Den Bericht auch per E-Mail senden* oder *Den Bericht auch per E-Mail senden & Downloadlink* als Berichtsversand ausgewählt ist; dann ist ein Empfänger erforderlich. Die Absenderadresse wird aus dem `RJReport.EmailSender` Mandanteneinstellung bezogen.

Dieses Runbook sendet E-Mails über die Microsoft Graph API. Um E-Mails über die Graph-API zu senden, müssen Sie eine vorhandene E-Mail-Adresse in der Runbook-Anpassung konfigurieren.

Siehe die [RealmJoin Report Settings Dokumentation](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings) für Details zu allen verfügbaren Einstellungen.

#### E-Mail-Branding

Die Bericht-E-Mail berücksichtigt die optionalen `RJReport.Branding.*` Mandanteneinstellungen:

* **Kopf- und Fußzeilenbild** - öffentliche HTTPS-URLs, PNG/JPEG/GIF, max. 200 KB jeweils
* **Fußzeilenlink** - Ziel des Fußzeilenbilds
* **Akzent- und Textfarbe** - 6-stellige Hexwerte, z. B. `#0052cc`

Wenn diese Einstellungen nicht konfiguriert sind, werden die Standardgrafiken und -farben von RealmJoin verwendet. Ein Bild, das nicht heruntergeladen oder validiert werden kann, oder ein ungültiger Farbwert verhindert die Berichts-E-Mail nie - stattdessen wird der entsprechende Standardwert verwendet.

Einrichtungsanweisungen und Bildanforderungen: [E-Mail-Branding](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings#email-branding-optional).

### Fehlerbehebung

**SKU nicht gefunden**: Vergewissern Sie sich mithilfe von `Get-MgSubscribedSku`.

**E-Mail nicht gesendet**: Überprüfen Sie die `RJReport.EmailSender` Einstellung und die Mail.Send-Berechtigung der verwalteten Identität. Wenn alle Lizenzen innerhalb ihrer Schwellenwerte liegen, wird keine E-Mail gesendet.

**Ungültiges JSON**: Validieren Sie das JSON-Format, bevor Sie es konfigurieren.

### Hinweis zur Migration

Legacy `WarningThreshold` wird automatisch zugeordnet zu `MinThreshold` - alte Konfigurationen funktionieren weiterhin.

### Speicherort

Organisation → Allgemein → Bericht zur Lizenzzuweisung (geplant)

**Voller Runbook-Name**

rjgit-org\_general\_report-license-assignment\_scheduled

### Details

| Eigenschaft          | Wert                                                                                                               |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Version              | 1.4.0                                                                                                              |
| Erforderliche Module | <p>RealmJoin.RunbookHelper (>= 0.8.10)<br>Microsoft.Graph.Authentication (>= 2.41.2)<br>Az.Accounts (>= 5.5.2)</p> |
| Planbar              | ja                                                                                                                 |

### Berechtigungen

#### Anwendungsberechtigungen

* **Typ**: Microsoft Graph
  * Organization.Read.All
    * *Liest /organization und /subscribedSkus, um die Lizenzanzahlen anhand der Schwellenwerte zu bewerten*
  * Mail.Send *(optional — Funktion: E-Mail-Bericht)*
    * *Sendet die Schwellenwert-Berichts-E-Mail über Send-RjRbReportEmail, wenn die E-Mail-Zustellung ausgewählt ist*

#### Hinweise zu Berechtigungen

Azure Storage Account: Rolle 'Reader and Data Access' für die verwaltete Identität des Automation-Kontos auf dem Ziel-Storage Account - der Upload ruft die Kontoschlüssel über listKeys ab (nur für die Downloadlink-Optionen erforderlich)

### Parameter

#### InputJson

SKU-Liste mit Anzeigenamen sowie Mindest- und Höchstschwellenwerten als JSON-Array. Voreingestellt in der Runbook-Anpassung.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | wahr                                            |
| Standardwert           |                                                 |
| Typ                    | Objekt                                          |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### ReportFileFormat

Liefern Sie den Bericht als CSV, als Excel-Arbeitsmappe oder beides.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           | CSV & XLSX                                      |
| Typ                    | Zeichenfolge                                    |
| Anzeigename im Portal  | Berichtsdateiformat                             |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

**Portaloptionen**

| Portaloption | Wert       |
| ------------ | ---------- |
| CSV & XLSX   | CSV & XLSX |
| Nur CSV      | Nur CSV    |
| Nur XLSX     | Nur XLSX   |

#### CreateDownloadLink

Lädt den Bericht außerdem hoch und gibt einen Downloadlink zurück, der nach einigen Tagen abläuft.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           | Falsch                                          |
| Typ                    | Boolesch                                        |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### ContainerName

Speichercontainer, in den die Berichtsdateien hochgeladen werden. Pro Runbook festlegen.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           | report-license-assignment                       |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### ResourceGroupName

Ressourcengruppe des Storage Account für Bericht-Uploads. Aus der Tenant-Einstellung RJReport.StorageAccount.ResourceGroup übernommen.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### StorageAccountName

Storage Account für Bericht-Uploads. Aus der Tenant-Einstellung RJReport.StorageAccount.StorageAccountName übernommen.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### LinkExpiryDays

Anzahl der Tage, die ein Downloadlink gültig bleibt. Aus der Tenant-Einstellung RJReport.StorageAccount.LinkExpiryDays übernommen.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           | 6                                               |
| Typ                    | Int32                                           |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### SendEmailReport

Sendet den Bericht an die E-Mail-Adresse des Empfängers.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           | Falsch                                          |
| Typ                    | Boolesch                                        |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### EmailTo

Senden Sie den Bericht an diese Adressen. Trennen Sie mehrere durch Kommas; jeder Empfänger erhält eine separate E-Mail.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Anzeigename im Portal  | Empfänger-E-Mail-Adresse(n)                     |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### EmailFrom

Absenderadresse der Bericht-E-Mail. Wird aus der Mandanteneinstellung RJReport.EmailSender übernommen.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### BrandingHeaderImageUrl

Kopfzeilenbild der Bericht-E-Mail (HTTPS-URL, PNG/JPEG/GIF, max. 200 KB). Wird aus der Mandanteneinstellung RJReport.Branding.HeaderImageUrl übernommen; wenn leer, wird der standardmäßige RealmJoin-Kopfbereich verwendet.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### BrandingFooterImageUrl

Fußzeilenbild der Bericht-E-Mail (HTTPS-URL, PNG/JPEG/GIF, max. 200 KB). Wird aus der Mandanteneinstellung RJReport.Branding.FooterImageUrl übernommen; wenn leer, wird die standardmäßige RealmJoin-Fußzeile verwendet.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### BrandingFooterLink

Link hinter dem Fußzeilenbild der Bericht-E-Mail. Wird aus der Mandanteneinstellung RJReport.Branding.FooterLink übernommen; wenn leer, wird realmjoin.com verwendet.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### BrandingAccentColor

Akzentfarbe der Bericht-E-Mail als 6-stelliger Hexwert. Wird aus der Mandanteneinstellung RJReport.Branding.AccentColor übernommen; wenn leer oder ungültig, wird der standardmäßige RealmJoin-Wert verwendet.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

#### BrandingTextColor

Textfarbe der Bericht-E-Mail als 6-stelliger Hexwert. Wird aus der Mandanteneinstellung RJReport.Branding.TextColor übernommen; wenn leer oder ungültig, wird der standardmäßige RealmJoin-Wert verwendet.

| Eigenschaft            | Wert                                            |
| ---------------------- | ----------------------------------------------- |
| Erforderlich           | falsch                                          |
| Standardwert           |                                                 |
| Typ                    | Zeichenfolge                                    |
| Im Portal ausgeblendet | ja (vorkonfiguriert über die Runbook-Anpassung) |

[Zurück zur Übersicht der Runbook-Referenz](/de/automatisierung/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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/de/automatisierung/runbooks/runbook-references/org/general/report-license-assignment_scheduled.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
