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

# Rapport planifié de l'attribution des licences

Générer et envoyer par e-mail un rapport de disponibilité des licences basé sur des seuils

{% hint style="info" %}
Ceci est un runbook planifié. Il est conçu pour s'exécuter selon une planification récurrente plutôt que d'être déclenché pour un objet unique. Voir [Planification](/fr/automatisation/runbooks/scheduling.md) pour plus de détails sur la configuration des planifications de runbook.
{% endhint %}

### Description

Ce runbook vérifie la disponibilité des licences en fonction des SKU transmis et envoie un rapport par e-mail si des seuils sont atteints. Deux types de seuils peuvent être configurés. Le premier type est un seuil minimal, qui déclenche une alerte lorsque le nombre de licences disponibles tombe en dessous d'un nombre spécifié. Le second type est un seuil maximal, qui déclenche une alerte lorsque le nombre de licences disponibles dépasse un nombre spécifié. Le rapport inclut des informations détaillées sur les licences qui se trouvent en dehors des seuils configurés, les exporte vers des fichiers CSV et/ou Excel (xlsx) et les envoie par e-mail. Les fichiers du rapport peuvent également être téléchargés vers un Azure Storage Account, renvoyant des liens de téléchargement temporaires. Le paramètre ReportFileFormat contrôle les formats de fichier générés et livrés (CSV uniquement, CSV et XLSX, ou XLSX uniquement). Lorsque la pièce jointe CSV dépasse la limite de taille de l'e-mail et que "CSV & XLSX" est sélectionné, l'e-mail se rabat sur le classeur Excel seul.

### Personnalisation du runbook

#### Configuration concernant l’envoi d’e-mails

L’envoi d’un rapport par e-mail est facultatif et ne se produit que lorsqu’un destinataire (`EmailTo`) est fourni. L’adresse de l’expéditeur est prise depuis le `RJReport.EmailSender` paramètre du tenant.

Ce runbook envoie des e-mails à l’aide de l’API Microsoft Graph. Pour envoyer des e-mails via l’API Graph, vous devez configurer une adresse e-mail existante dans la personnalisation du runbook.

Voir la [documentation sur les paramètres de rapport RealmJoin](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings) pour plus de détails sur tous les paramètres disponibles.

#### Branding des e-mails

Le courriel de rapport respecte les paramètres facultatifs `RJReport.Branding.*` du tenant :

* **Image d’en-tête et de pied de page** – URL HTTPS publiques, PNG/JPEG/GIF, 200 Ko max. chacune
* **Lien du pied de page** – cible de l’image de pied de page
* **Couleur d’accent et du texte** – valeurs hexadécimales à 6 chiffres, par ex. `#0052cc`

Lorsque ces paramètres ne sont pas configurés, les graphiques et couleurs par défaut de RealmJoin sont utilisés. Une image qui ne peut pas être téléchargée ou validée, ou une valeur de couleur invalide, n’empêche jamais l’envoi du courriel de rapport — la valeur par défaut correspondante est utilisée à la place.

Instructions de configuration et exigences relatives aux images : [Branding des e-mails](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings#email-branding-optional).

#### Configuration d'InputJson

Chaque configuration de licence nécessite :

* **SKUPartNumber** (obligatoire) : identifiant du SKU Microsoft
* **FriendlyName** (obligatoire) : nom d'affichage
* **MinThreshold** (facultatif) : alerte lorsque les licences disponibles < seuil
* **MaxThreshold** (facultatif) : alerte lorsque les licences disponibles > seuil

Au moins un seuil doit être défini par licence.

#### Exemples de configuration

**Seuil minimal uniquement** (prévenir les pénuries) :

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

**Seuil maximal uniquement** (prévenir le surdimensionnement) :

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

**Deux seuils** (maintenir l'intervalle) :

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

#### Personnalisation complète du runbook

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "sender@contoso.com"
        }
    },
    "Runbooks": {
        "rjgit-org_general_report-license-assignment_scheduled": {
            "Parameters": {
                "EmailTo": {
                    "DisplayName": "Adresse(s) e-mail du/des destinataire(s)"
                },
                "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
                }
            }
        }
    }
}
```

### Recherche des numéros de partie de SKU

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

SKU courants :

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

### Sortie

**Lorsque des violations sont détectées :**

* Sortie de la console dans le journal de tâche
* Export CSV (`License_Threshold_Violations.csv`)
* Rapport par e-mail avec résumé, violations, recommandations et pièce jointe CSV

**Lorsque tout est dans les seuils :**

* Aucun e-mail envoyé
* Le travail se termine avec succès

### Dépannage

**SKU introuvable**: Vérifiez que le SKU existe à l'aide de `Get-MgSubscribedSku`

**E-mail non envoyé**: Vérifiez la configuration EmailFrom et l'autorisation Mail.Send

**JSON invalide**: Validez le format JSON avant la configuration

### Note de migration

Hérité `WarningThreshold` se mappe automatiquement à `MinThreshold` - les anciennes configurations continuent de fonctionner.

### Emplacement

Organisation → Général → Rapport d'affectation des licences (planifié)

**Nom complet du runbook**

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

### Détails

| Propriété      | Valeur                                                                                                            |
| -------------- | ----------------------------------------------------------------------------------------------------------------- |
| Version        | 1.3.0                                                                                                             |
| Modules requis | <p>RealmJoin.RunbookHelper (>= 0.8.9)<br>Microsoft.Graph.Authentication (>= 2.39.0)<br>Az.Accounts (>= 5.5.2)</p> |
| Planifiable    | oui                                                                                                               |

### Autorisations

#### Autorisations d'application

* **Type**: Microsoft Graph
  * Organization.Read.All
    * *Lit /organization et /subscribedSkus pour évaluer le nombre de licences par rapport aux seuils*
  * Mail.Send *(facultatif — fonctionnalité : rapport par e-mail)*
    * *Envoie l'e-mail du rapport de seuil via Send-RjReportEmail lorsque EmailTo est configuré*

### Paramètres

#### InputJson

Tableau JSON contenant des configurations de SKU avec des seuils. Chaque entrée doit inclure un SKUPartNumber pour l'identifiant du SKU Microsoft, un FriendlyName comme nom d'affichage de la licence, un MinThreshold facultatif spécifiant le nombre minimal de licences qui doivent être disponibles, et un MaxThreshold facultatif spécifiant le nombre maximal de licences qui doivent être disponibles.

Cela doit être configuré dans la personnalisation du runbook

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | true                                                  |
| Valeur par défaut      |                                                       |
| Type                   | Objet                                                 |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### ReportFileFormat

Contrôle quels formats de fichiers du rapport sont générés et livrés : « CSV only », « CSV & XLSX » (par défaut) ou « XLSX only ».

| Propriété                  | Valeur                       |
| -------------------------- | ---------------------------- |
| Obligatoire                | false                        |
| Valeur par défaut          | CSV & XLSX                   |
| Type                       | String                       |
| Nom d’affichage du portail | Format du fichier de rapport |

**Options du portail**

| Option du portail | Valeur |
| ----------------- | ------ |
| CSV & XLSX        |        |
| CSV only          |        |
| XLSX only         |        |

#### CreateDownloadLink

Si activé, les fichiers du rapport sont téléversés vers un Azure Storage Account et des liens de téléchargement à durée limitée sont renvoyés. Désactivé par défaut.

| Propriété                  | Valeur                                                                                |
| -------------------------- | ------------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                                 |
| Valeur par défaut          | Faux                                                                                  |
| Type                       | Booléen                                                                               |
| Nom d’affichage du portail | Créer un lien de téléchargement de fichier (téléverser le rapport vers le stockage) ? |

**Options du portail**

| Option du portail                                                 | Valeur |
| ----------------------------------------------------------------- | ------ |
| Oui - téléverser le rapport et renvoyer un lien de téléchargement | true   |
| Non - ne pas créer de lien de téléchargement                      | false  |

#### ContainerName

Nom du conteneur de stockage utilisé pour le téléversement. Configuré par runbook (pas un paramètre global RJReport).

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      | report-license-assignment                             |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### ResourceGroupName

Groupe de ressources qui contient le Storage Account. Provenant des paramètres du Tenant RJReport.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### StorageAccountName

Nom du Storage Account utilisé pour le téléversement. Provenant des paramètres du Tenant RJReport.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### LinkExpiryDays

Nombre de jours avant l’expiration du lien de téléchargement généré. Provenant des paramètres du Tenant RJReport.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      | 6                                                     |
| Type                   | Int32                                                 |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### EmailTo

Si spécifié, un e-mail avec le rapport sera envoyé à l'adresse ou aux adresses fournies. Peut être une seule adresse ou plusieurs adresses séparées par des virgules (chaîne).

| Propriété                  | Valeur                            |
| -------------------------- | --------------------------------- |
| Obligatoire                | false                             |
| Valeur par défaut          |                                   |
| Type                       | String                            |
| Nom d’affichage du portail | Adresse(s) e-mail du destinataire |

#### EmailFrom

Adresse e-mail de l'expéditeur résolue à partir des paramètres.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingHeaderImageUrl

URL HTTPS publique facultative d’une image d’en-tête personnalisée (PNG/JPEG/GIF, 200 Ko max.) pour le courriel de rapport. Provenant du paramètre du tenant RJReport.Branding.HeaderImageUrl. Lorsqu’elle est vide, l’image d’en-tête par défaut de RealmJoin est utilisée.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingFooterImageUrl

URL HTTPS publique facultative d’une image de pied de page personnalisée (PNG/JPEG/GIF, 200 Ko max.) pour le courriel de rapport. Provenant du paramètre du tenant RJReport.Branding.FooterImageUrl. Lorsqu’elle est vide, l’image de pied de page par défaut de RealmJoin est utilisée.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingFooterLink

URL facultative vers laquelle renvoie l’image de pied de page. Provenant du paramètre du tenant RJReport.Branding.FooterLink. Lorsqu’elle est vide, le lien par défaut (<https://www.realmjoin.com>) est utilisé.

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingAccentColor

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

#### BrandingTextColor

| Propriété              | Valeur                                                |
| ---------------------- | ----------------------------------------------------- |
| Obligatoire            | false                                                 |
| Valeur par défaut      |                                                       |
| Type                   | String                                                |
| masqué dans le portail | oui (préconfiguré via la personnalisation du runbook) |

[Retour à l’aperçu de la référence du runbook](/fr/automatisation/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/fr/automatisation/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.
