# Bericht über Lizenzzuweisungen geplant

### Beschreibung

Dieses Runbook prüft die Lizenzverfügbarkeit anhand der übermittelten SKUs und sendet einen E-Mail-Bericht, wenn Schwellenwerte erreicht werden. Es können zwei Arten von Schwellenwerten konfiguriert werden. Der erste Typ ist ein Mindestschwellenwert, der eine Warnung auslöst, wenn die Anzahl der verfügbaren Lizenzen unter eine festgelegte Zahl fällt. Der zweite Typ ist ein Höchstschwellenwert, der eine Warnung auslöst, wenn die Anzahl der verfügbaren Lizenzen eine festgelegte Zahl überschreitet. Der Bericht enthält detaillierte Informationen zu Lizenzen, die außerhalb der konfigurierten Schwellenwerte liegen, exportiert sie in CSV-Dateien und sendet sie per E-Mail.

### Runbook-Anpassung

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

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

Dieser Prozess wird ausführlich beschrieben in der [Einrichtung der E-Mail-Berichterstattung](https://github.com/realmjoin/realmjoin-runbooks/tree/master/docs/general/setup-email-reporting.md) Dokumentation.

#### InputJson-Konfiguration

Jede Lizenzkonfiguration erfordert:

* **SKUPartNumber** (erforderlich): Microsoft-SKU-იდენტifikator
* **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": {
                "EmailTo": {
                    "DisplayName": "Empfänger-E-Mail-Adresse(n)"
                },
                "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-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

### Ausgabe

**Wenn Verstöße erkannt werden:**

* Konsolenausgabe im Auftragsprotokoll
* CSV-Export (`License_Threshold_Violations.csv`)
* E-Mail-Bericht mit Zusammenfassung, Verstößen, Empfehlungen und CSV-Anlage

**Wenn alles innerhalb der Schwellenwerte liegt:**

* Keine E-Mail gesendet
* Auftrag wird erfolgreich abgeschlossen

### Problembehandlung

**SKU nicht gefunden**: Überprüfen Sie mit `Get-MgSubscribedSku`

**E-Mail nicht gesendet**: Überprüfen Sie die Konfiguration von EmailFrom und die Berechtigung Mail.Send

**Ungültiges JSON**: Validieren Sie das JSON-Format vor der Konfiguration

### Migrationshinweis

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

### Ort

Organisation → Allgemein → Berichts-Lizenzzuweisung (Geplant)

**Vollständiger Runbook-Name**

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

### Berechtigungen

#### Anwendungsberechtigungen

* **Typ**: Microsoft Graph
  * Organization.Read.All
  * User.Read.All
  * Mail.Send

### Parameter

#### InputJson

JSON-Array mit SKU-Konfigurationen und Schwellenwerten. Jeder Eintrag sollte eine SKUPartNumber für den Microsoft-SKU-Identifikator enthalten, einen FriendlyName als Anzeigename für die Lizenz, einen optionalen MinThreshold, der die minimale Anzahl verfügbarer Lizenzen angibt, sowie einen optionalen MaxThreshold, der die maximale Anzahl verfügbarer Lizenzen angibt.

Dies muss in der Runbook-Anpassung konfiguriert werden

| Eigenschaft  | Wert   |
| ------------ | ------ |
| Erforderlich | true   |
| Standardwert |        |
| Typ          | Objekt |

#### EmailTo

E-Mail-Adresse des Empfängers oder durch Kommas getrennte Empfängerliste.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | true         |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### EmailFrom

Absender-E-Mail-Adresse, aufgelöst aus den Einstellungen.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

[Zurück zur Übersicht der Runbook-Referenz](https://docs.realmjoin.com/de/automatisierung/runbooks/runbook-references)
