> 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é d'attribution des licences

Alerter lorsque la disponibilité des licences franchit les seuils

{% hint style="info" %}
Il s'agit d'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 seul objet. Voir [Planification](/fr/automatisation/runbooks/scheduling.md) pour plus de détails sur la configuration des planifications de runbook.
{% endhint %}

### Description

Vérifie combien de licences des SKU configurés sont encore disponibles. Lorsqu'un nombre descend en dessous d'un seuil minimal ou dépasse un seuil maximal, les SKU concernés sont signalés afin que vous puissiez acheter ou récupérer des licences à temps. Le rapport peut être envoyé par e-mail ou fourni sous la forme d'un lien de téléchargement.

### Configuration des licences

Les SKU à vérifier et leurs seuils sont prédéfinis dans la personnalisation du runbook sous la valeur masquée `InputJson` valeur. Chaque configuration de licence nécessite :

* **SKUPartNumber** (obligatoire) : identifiant 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** (pour éviter les pénuries) :

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

**Seuil maximal uniquement** (pour éviter le surapprovisionnement) :

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

**Les deux seuils** (maintenir la plage) :

```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": {
                "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
                        }
                    ]
                }
            }
        }
    }
}
```

Voir la [Guide de personnalisation du runbook](https://docs.realmjoin.com/automation/runbooks/runbook-customization) pour la syntaxe.

### Recherche des numéros de pièce des 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` - Mobilité d'entreprise + Sécurité E3

### Résultats

Chaque exécution écrit ses résultats dans l'onglet Données de sortie du portail RealmJoin : un résumé, les licences hors de leurs seuils, les SKU configurés qui n'existent pas dans le Tenant et les licences dans leurs seuils. Chaque tableau peut y être exporté vers Excel.

* **Lorsque des violations sont détectées :** les fichiers du rapport (CSV et/ou classeur Excel) répertorient les licences hors de leurs seuils, et l'e-mail contient le résumé, les violations, les recommandations et les fichiers en pièces jointes.
* **Lorsqu'un SKU configuré n'est pas trouvé :** l'e-mail répertorie le SKU comme un problème de configuration.
* **Lorsque toutes les licences se situent dans leurs seuils :** aucun e-mail n'est envoyé, aucun fichier de rapport n'est créé et l'exécution se termine avec succès.

### Livraison du rapport

Les fichiers du rapport ne sont générés que lorsqu’une méthode de livraison est sélectionnée via l’ **Livraison du rapport** option (e-mail et/ou lien de téléchargement) et au moins une licence est hors de ses seuils. Avec *Uniquement les données de sortie* sélectionné, les résultats sont lus directement dans l’onglet Données de sortie du portail RealmJoin, où chaque tableau peut également être exporté vers Excel. La remise par e-mail et la génération d’un lien de téléchargement sont indépendantes et peuvent être combinées.

Pour le lien de téléchargement, les fichiers du rapport sont téléversés vers le Storage Account Azure configuré dans les `RJReport.StorageAccount.*` paramètres du Tenant, et des liens de téléchargement SAS à durée limitée sont renvoyés. Le téléversement vers le Storage Account s’authentifie avec l’identité managée du compte Automation ; cette identité nécessite le **Reader and Data Access** rôle RBAC sur le Storage Account cible (il s’agit d’une attribution Azure RBAC, pas d’une autorisation d’application Graph).

Les planifications créées avant l’ **Livraison du rapport** existence de l’option continuent d’envoyer leur e-mail : un destinataire enregistré suffit encore à activer l’e-mail pour eux. Lorsqu’une telle planification est ouverte en modification, l’option affiche *Uniquement les données de sortie*; sélectionnez à nouveau la livraison avant d’enregistrer, sinon la planification cesse d’envoyer le rapport.

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

L’envoi du rapport par e-mail est facultatif et ne se produit que lorsque *Envoyer aussi le rapport par e-mail* ou *Envoyer aussi par e-mail et lien de téléchargement* est sélectionné comme mode de livraison du rapport ; un destinataire est alors requis. L’adresse de l’expéditeur est prise à partir de la `RJReport.EmailSender` paramètre 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 des 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

L’e-mail du rapport prend en compte l’optionnel `RJReport.Branding.*` paramètres Tenant :

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

Lorsque ces paramètres ne sont pas configurés, les graphismes 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’e-mail du rapport - le défaut correspondant est utilisé à 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).

### Dépannage

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

**E-mail non envoyé**: Vérifiez le `RJReport.EmailSender` paramètre et l'autorisation Mail.Send de l'identité managée. Aucun e-mail n'est envoyé lorsque toutes les licences se situent dans leurs seuils.

**JSON non valide**: Validez le format JSON avant de le configurer.

### Note de migration

Ancien `WarningThreshold` est automatiquement mappé vers `MinThreshold` - les anciennes configurations continuent de fonctionner.

### Emplacement

Organisation → Général → Report License Assignment (Scheduled)

**Nom complet du runbook**

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

### Détails

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

### Autorisations

#### Autorisations d’application

* **Type**: Microsoft Graph
  * Organization.Read.All
    * *Lit /organization et /subscribedSkus afin d'évaluer le nombre de licences par rapport aux seuils*
  * Mail.Send *(facultatif — fonctionnalité : rapport par e-mail)*
    * *Envoie l'e-mail du rapport des seuils via Send-RjRbReportEmail lorsque la remise par e-mail est sélectionnée*

#### Notes sur les autorisations

Azure Storage Account: rôle 'Reader and Data Access' pour l’identité managée du compte Automation sur le Storage Account cible - le téléversement récupère les clés du compte via listKeys (requis uniquement pour les options de lien de téléchargement)

### Paramètres

#### InputJson

Liste des SKU avec des noms conviviaux et des seuils minimum et maximum, sous forme de tableau JSON. Prédéfinie dans la personnalisation du runbook.

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

#### ReportFileFormat

Distribuez le rapport en CSV, en classeur Excel ou dans les deux formats.

| Propriété                  | Valeur                                             |
| -------------------------- | -------------------------------------------------- |
| Obligatoire                | faux                                               |
| Valeur par défaut          | CSV et XLSX                                        |
| Type                       | Chaîne                                             |
| Nom d’affichage du portail | Format du fichier de rapport                       |
| Masqué dans le portail     | oui (prédéfini via la personnalisation du runbook) |

**Options du portail**

| Option du portail | Valeur          |
| ----------------- | --------------- |
| CSV et XLSX       | CSV et XLSX     |
| CSV uniquement    | CSV uniquement  |
| XLSX uniquement   | XLSX uniquement |

#### Créer un lien de téléchargement

Télécharge également le rapport et renvoie un lien de téléchargement qui expire après quelques jours.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      | Faux                                               |
| Type                   | Booléen                                            |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### Nom du conteneur

Conteneur de stockage vers lequel les fichiers du rapport sont téléversés. À définir par runbook.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      | report-license-assignment                          |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### Nom du groupe de ressources

Groupe de ressources du compte de stockage pour les téléversements du rapport. Pris à partir du paramètre du tenant RJReport.StorageAccount.ResourceGroup.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### Nom du Storage Account

Compte de stockage pour les téléversements du rapport. Pris à partir du paramètre du tenant RJReport.StorageAccount.StorageAccountName.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### LinkExpiryDays

Nombre de jours pendant lesquels un lien de téléchargement reste valide. Pris à partir du paramètre du tenant RJReport.StorageAccount.LinkExpiryDays.

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

#### SendEmailReport

Envoyer le rapport à l’adresse e-mail du destinataire.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      | Faux                                               |
| Type                   | Booléen                                            |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### EmailTo

Envoyez le rapport à ces adresses. Séparez-en plusieurs par des virgules ; chaque destinataire reçoit un e-mail distinct.

| Propriété                  | Valeur                                             |
| -------------------------- | -------------------------------------------------- |
| Obligatoire                | faux                                               |
| Valeur par défaut          |                                                    |
| Type                       | Chaîne                                             |
| Nom d’affichage du portail | Adresse(s) e-mail du destinataire                  |
| Masqué dans le portail     | oui (prédéfini via la personnalisation du runbook) |

#### EmailFrom

Adresse de l’expéditeur de l’e-mail du rapport. Prise dans le paramètre Tenant RJReport.EmailSender.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingHeaderImageUrl

Image d’en-tête de l’e-mail du rapport (URL HTTPS, PNG/JPEG/GIF, 200 Ko max.). Prise dans le paramètre Tenant RJReport.Branding.HeaderImageUrl ; l’en-tête RealmJoin par défaut est utilisé si vide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingFooterImageUrl

Image de pied de page de l’e-mail du rapport (URL HTTPS, PNG/JPEG/GIF, 200 Ko max.). Prise dans le paramètre Tenant RJReport.Branding.FooterImageUrl ; le pied de page RealmJoin par défaut est utilisé si vide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingFooterLink

Lien derrière l’image de pied de page de l’e-mail du rapport. Pris dans le paramètre Tenant RJReport.Branding.FooterLink ; realmjoin.com est utilisé si vide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingAccentColor

Couleur d’accent de l’e-mail du rapport sous forme de valeur hexadécimale à 6 chiffres. Prise dans le paramètre Tenant RJReport.Branding.AccentColor ; la valeur par défaut RealmJoin est utilisée si vide ou non valide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini via la personnalisation du runbook) |

#### BrandingTextColor

Couleur du texte de l’e-mail du rapport sous forme de valeur hexadécimale à 6 chiffres. Prise dans le paramètre Tenant RJReport.Branding.TextColor ; la valeur par défaut RealmJoin est utilisée si vide ou non valide.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      |                                                    |
| Type                   | Chaîne                                             |
| Masqué dans le portail | oui (prédéfini 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 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/fr/automatisation/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.
