> 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/devices/cleanup-autopilot-devices_scheduled.md).

# Nettoyage planifié des appareils Autopilot

Nettoyer les inscriptions d’appareils Windows Autopilot orphelines et obsolètes

{% 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 planifié effectue la maintenance régulière des inscriptions d’appareils Windows Autopilot en identifiant et en supprimant les appareils orphelins dont les numéros de série ne correspondent plus à aucun appareil géré par Intune, et, en option, en supprimant les appareils Autopilot jamais inscrits qui dépassent un seuil d’âge configurable. Le runbook s’exécute par défaut en mode WhatIf pour un reporting sécurisé, et peut éventuellement envoyer un résumé par e-mail avec des pièces jointes CSV et/ou Excel (xlsx) répertoriant les appareils qui seraient ou ont été supprimés. Les fichiers de rapport peuvent également être téléversés vers un Azure Storage Account, ce qui renvoie des liens de téléchargement à durée limitée. Le paramètre ReportFileFormat contrôle les formats de fichier générés et remis (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 seul classeur Excel.

### 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).

### Emplacement

Organisation → Appareils → Nettoyer les appareils Autopilot (planifié)

**Nom complet du runbook**

rjgit-org\_devices\_cleanup-autopilot-devices\_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                                                                                                               |

### Notes

Prérequis :

* L’identité managée Azure Automation doit disposer de ces autorisations d’application Microsoft Graph : DeviceManagementManagedDevices.Read.All, DeviceManagementServiceConfig.ReadWrite.All, Organization.Read.All, Device.ReadWrite.All (Device.ReadWrite.All uniquement lorsque le mode « Delete Autopilot and Entra device » est utilisé) et Mail.Send (Mail.Send uniquement lorsque le reporting par e-mail est activé).
* Accordez les autorisations avant la première exécution planifiée.

Avertissement - la suppression est irréversible :

* La suppression d’une identité d’appareil Autopilot la supprime définitivement de Windows Autopilot.
* L’appareil physique ne peut pas réintégrer Autopilot tant que son hash matériel n’a pas été réimporté.
* Il n’existe ni suppression réversible ni corbeille pour les enregistrements Autopilot.
* La suppression de l’objet appareil Entra (Azure AD) est tout aussi permanente ; ne le faites que pour des enregistrements réellement hors service (l’appareil ne s’inscrira plus jamais).

Procédure recommandée lors de la première exécution :

* Exécutez avec le mode Delete = « WhatIf (rapport uniquement) » (par défaut) et examinez la sortie ou le CSV envoyé par e-mail.
* Confirmez que les appareils identifiés sont réellement orphelins ou n’ont jamais été inscrits.
* Passez à un mode de suppression uniquement après avoir examiné la liste des candidats.

Interactions entre paramètres :

* DeleteMode est défini par défaut sur « WhatIf (rapport uniquement) » ; aucune suppression n’a lieu dans ce mode.
* « Delete Autopilot device » supprime uniquement l’identité Autopilot. « Delete Autopilot and Entra device » supprime également l’objet appareil Entra (Azure AD) correspondant, qui serait autrement laissé comme un enregistrement obsolète/inactif une fois l’identité Autopilot supprimée.
* CleanupOrphanedDevices et CleanupNeverEnrolledDevices sont indépendants ; l’un, l’autre ou les deux peuvent être activés. NeverEnrolledAgeDays s’applique uniquement au contrôle des appareils jamais inscrits.
* GroupTagFilter, ManufacturerFilter et ModelFilter sont tous facultatifs ; laissez un filtre vide pour évaluer toutes les valeurs de cette dimension. Lorsque plusieurs filtres sont définis, ils sont combinés avec AND - un appareil doit correspondre à chaque filtre renseigné pour rester dans le périmètre. GroupTagFilter correspond exactement à l’étiquette de groupe (insensible à la casse) ; ManufacturerFilter et ModelFilter correspondent à des sous-chaînes insensibles à la casse, donc « Dell » correspond à « Dell Inc. » et « Surface » à « Surface Laptop 3 ».
* ExcludeSerialNumbers est appliqué après les filtres AND comme exclusion : tout appareil dont le numéro de série figure dans la liste (correspondance exacte, insensible à la casse) est retiré du périmètre, quels que soient les autres filtres. Laissez vide pour n’exclure rien.

### Autorisations

#### Autorisations d'application

* **Type**: Microsoft Graph
  * Device.ReadWrite.All
    * *Recherche les appareils Entra par deviceId et les supprime en mode « Delete Autopilot and Entra device »*
  * DeviceManagementManagedDevices.Read.All
    * *Lit les appareils Windows gérés par Intune pour trouver les numéros de série Autopilot qui ne sont plus présents dans Intune*
  * DeviceManagementServiceConfig.ReadWrite.All
    * *Répertorie les windowsAutopilotDeviceIdentities et supprime les identités Autopilot obsolètes*
  * Mail.Send *(facultatif — fonctionnalité : rapport par e-mail)*
    * *Envoie l’e-mail de rapport de nettoyage via Send-RjReportEmail lorsque EmailTo est configuré*
  * Organization.Read.All
    * *Lit /organization pour afficher le nom d’affichage du Tenant dans la sortie du rapport et l’e-mail*

### Paramètres

#### DeleteMode

Contrôle ce que le runbook fait des candidats au nettoyage identifiés. « WhatIf (rapport uniquement) » n’effectue aucune suppression et se contente de signaler les candidats (par défaut, sûr). « Delete Autopilot device » supprime les identités d’appareil Autopilot. « Delete Autopilot and Entra device » supprime les identités Autopilot et les objets d’appareil Entra (Azure AD) correspondants, qui resteraient autrement comme des enregistrements obsolètes.

| Propriété                  | Valeur                      |
| -------------------------- | --------------------------- |
| Obligatoire                | false                       |
| Valeur par défaut          | WhatIf (rapport uniquement) |
| Type                       | String                      |
| Nom d’affichage du portail | Mode de suppression         |

#### GroupTagFilter

Étiquettes de groupe Autopilot séparées par des virgules pour limiter le périmètre du nettoyage. Correspondance exacte (insensible à la casse). Laissez vide pour traiter tous les appareils Autopilot, quelle que soit l’étiquette de groupe.

| Propriété                  | Valeur                                                                                                            |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                                                             |
| Valeur par défaut          |                                                                                                                   |
| Type                       | String                                                                                                            |
| Nom d’affichage du portail | Filtre d’étiquette de groupe Autopilot (correspondance exacte, séparées par des virgules, laissez vide pour tous) |

#### ManufacturerFilter

Fabricants d’appareils séparés par des virgules pour limiter le périmètre du nettoyage. Correspondance par sous-chaîne insensible à la casse, donc « Dell » correspond à « Dell Inc. ». Combiné avec les autres filtres à l’aide de AND. Laissez vide pour traiter tous les fabricants.

| Propriété                  | Valeur                                                                                            |
| -------------------------- | ------------------------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                                             |
| Valeur par défaut          |                                                                                                   |
| Type                       | String                                                                                            |
| Nom d’affichage du portail | Filtre fabricant (séparé par des virgules, correspondance de sous-chaîne, laisser vide pour tous) |

#### ModelFilter

Modèles d’appareils séparés par des virgules pour limiter le périmètre du nettoyage. Correspondance par sous-chaîne insensible à la casse, donc « Surface » correspond à « Surface Laptop 3 ». Combiné avec les autres filtres à l’aide de AND. Laissez vide pour traiter tous les modèles.

| Propriété                  | Valeur                                                                                            |
| -------------------------- | ------------------------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                                             |
| Valeur par défaut          |                                                                                                   |
| Type                       | String                                                                                            |
| Nom d’affichage du portail | Filtre de modèle (séparé par des virgules, correspondance de sous-chaîne, laisser vide pour tous) |

#### ExcludeSerialNumbers

Numéros de série séparés par des virgules à exclure du nettoyage. Correspondance exacte (insensible à la casse). Tout appareil dont le numéro de série figure dans cette liste est retiré du périmètre, quels que soient les autres filtres. Laissez vide pour n’exclure rien.

| Propriété                  | Valeur                                                                                             |
| -------------------------- | -------------------------------------------------------------------------------------------------- |
| Obligatoire                | false                                                                                              |
| Valeur par défaut          |                                                                                                    |
| Type                       | String                                                                                             |
| Nom d’affichage du portail | Numéros de série exclus (correspondance exacte, séparés par des virgules, laissez vide pour aucun) |

#### CleanupOrphanedDevices

Lorsqu’il est activé, supprime les appareils Autopilot qui ont déjà communiqué avec Intune, mais dont le numéro de série n’est plus trouvé parmi les appareils gérés par Intune (l’enregistrement d’appareil géré a été supprimé).

| Propriété                  | Valeur                                     |
| -------------------------- | ------------------------------------------ |
| Obligatoire                | false                                      |
| Valeur par défaut          | True                                       |
| Type                       | Booléen                                    |
| Nom d’affichage du portail | Nettoyer les appareils Autopilot orphelins |

#### OrphanedLastContactedDays

Seuil d’âge en jours pour les appareils orphelins. Un appareil Autopilot n’est traité comme orphelin que si son dernier contact avec Intune remonte à plus de ce nombre de jours et si son numéro de série n’est plus présent dans Intune. Cela évite de supprimer des appareils ayant récemment communiqué avec Intune.

| Propriété                  | Valeur                                                   |
| -------------------------- | -------------------------------------------------------- |
| Obligatoire                | false                                                    |
| Valeur par défaut          | 90                                                       |
| Type                       | Int32                                                    |
| Nom d’affichage du portail | Seuil du dernier contact des appareils orphelins (jours) |

#### CleanupNeverEnrolledDevices

Lorsqu’il est activé, supprime les appareils Autopilot jamais inscrits (appareils qui n’ont jamais communiqué avec Intune).

| Propriété                  | Valeur                                           |
| -------------------------- | ------------------------------------------------ |
| Obligatoire                | false                                            |
| Valeur par défaut          | Faux                                             |
| Type                       | Booléen                                          |
| Nom d’affichage du portail | Nettoyer les appareils Autopilot jamais inscrits |

**Options du portail**

| Option du portail                                                | Valeur |
| ---------------------------------------------------------------- | ------ |
| Oui - supprimer les appareils jamais inscrits arrivés à échéance |        |
| Non                                                              |        |

#### NeverEnrolledAgeDays

Seuil d’âge en jours pour les appareils jamais inscrits. Mesuré à partir de la date de création de l’appareil.

| Propriété                  | Valeur                                                |
| -------------------------- | ----------------------------------------------------- |
| Obligatoire                | false                                                 |
| Valeur par défaut          | 90                                                    |
| Type                       | Int32                                                 |
| Nom d’affichage du portail | Seuil d’âge des appareils jamais inscrits (jours)     |
| masqué dans le portail     | oui (préconfiguré via la personnalisation du runbook) |

#### EmailTo

Adresse e-mail facultative du destinataire du rapport récapitulatif de nettoyage. Laissez vide pour n’écrire les résultats que dans le journal du runbook.

| Propriété                  | Valeur                                                              |
| -------------------------- | ------------------------------------------------------------------- |
| Obligatoire                | false                                                               |
| Valeur par défaut          |                                                                     |
| Type                       | String                                                              |
| Nom d’affichage du portail | Destinataire e-mail pour le récapitulatif de nettoyage (facultatif) |

#### EmailFrom

L’adresse e-mail de l’expéditeur du rapport récapitulatif. Elle est configurée via les personnalisations du runbook.

| 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) |

#### 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      | cleanup-autopilot-devices                             |
| 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) |

[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/devices/cleanup-autopilot-devices_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.
