> 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/user/general/offboard-user-permanently.md).

# Déprovisionner définitivement l'utilisateur

Déprovisionner définitivement cet utilisateur

### Description

Désaffecte définitivement cet utilisateur : l'accès est révoqué, le compte est désactivé ou supprimé, les licences et les groupes sont ajustés, et les appartenances aux groupes peuvent être exportées avant d'être modifiées. Les appartenances de groupe, les subordonnés directs et les parrainages des invités peuvent être transférés à un remplaçant. Un compte supprimé ne peut être restauré que pendant 30 jours.

### Prédéfinissez la stratégie de désaffectation via les paramètres du Tenant

La plupart des options de ce runbook sont pilotées par les paramètres du Tenant, de sorte qu'une organisation peut définir sa stratégie de désaffectation une seule fois et masquer les champs correspondants aux opérateurs. L'exemple ci-dessous prédéfinit chaque option et masque les champs ; ne conservez que les champs que les opérateurs doivent encore décider à chaque exécution.

```json
{
    "Settings": {
        "OffboardUserPermanently": {
            "userTypeRestriction": 0,
            "deleteUser": true,
            "disableUser": true,
            "revokeAccess": true,
            "exportGroupMemberships": true,
            "licensesMode": 0,
            "groupsMode": 0,
            "groupToAdd": "",
            "groupsToRemovePrefix": "",
            "replaceManagerReferences": true,
            "replaceSponsorReferences": true
        },
        "RJReport": {
            "StorageAccount": {
                "ResourceGroup": "rj-test-runbooks-01",
                "StorageAccountName": "rjrbexports01",
                "LinkExpiryDays": 6
            }
        }
    },
    "Runbooks": {
        "rjgit-user_general_offboard-user-permanently": {
            "ParameterList": [
                { "Name": "UserTypeSelector", "Hide": true },
                { "Name": "DisableUser", "Hide": true },
                { "Name": "RevokeAccess", "Hide": true },
                { "Name": "ChangeLicensesSelector", "Hide": true },
                { "Name": "ChangeGroupsSelector", "Hide": true },
                { "Name": "GroupToAdd", "Hide": true },
                { "Name": "GroupsToRemovePrefix", "Hide": true },
                { "Name": "CallerName", "Hide": true }
            ]
        }
    }
}
```

Signification des paramètres :

* `userTypeRestriction`: `0` autorise tous les types d'utilisateurs, `1` membres uniquement, `2` invités uniquement. Un utilisateur ne correspondant pas au critère interrompt l'exécution avant toute modification.
* `deleteUser`: supprimer le compte (`vrai`) ou le conserver (`faux`).
* `disableUser`, `revokeAccess`: bloque la connexion et met fin aux sessions de l'utilisateur.
* `exportGroupMemberships`: exporte les appartenances aux groupes vers le compte de stockage des rapports (voir `RJReport.StorageAccount`) et renvoie un lien de téléchargement avant que les groupes et les licences ne soient modifiés.
* `licensesMode`: `0` conserve les licences attribuées directement, `2` les supprime toutes.
* `groupsMode`: `0` conserve les groupes, `1` supprime les groupes commençant par `groupsToRemovePrefix`, `2` supprime tous les groupes. Les deux `1` et `2` ajoutent ou conservent `groupToAdd`.
* `replaceManagerReferences`, `replaceSponsorReferences`: transfère les subordonnés directs et les parrainages de l'utilisateur à la personne de remplacement.

Pour plus d'informations sur la façon de personnaliser les runbooks, veuillez vous reporter au [Guide de personnalisation du runbook](https://docs.realmjoin.com/automation/runbooks/runbook-customization).

### Emplacement

Utilisateur → Général → Désaffecter définitivement l'utilisateur

**Nom complet du runbook**

rjgit-user\_general\_offboard-user-permanently

### Détails

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

### Autorisations

#### Autorisations d’application

* **Type**: Microsoft Graph
  * User.ReadWrite.All
    * *Désactive la connexion, révoque les sessions, supprime les licences, remplace les références au responsable et au parrain, puis supprime l'objet utilisateur*
  * Group.ReadWrite.All
    * *Lit les groupes et transfère ou supprime les droits de propriété de groupe de l'utilisateur*
  * GroupMember.ReadWrite.All
    * *Ajoute et supprime des appartenances aux groupes pendant le nettoyage des groupes*
* **Type**: Office 365 Exchange Online
  * Exchange.ManageAsApp
    * *Ouvre la session Exchange Online en mode application utilisée pour retirer l'utilisateur des groupes de distribution*

#### Notes sur les autorisations

Azure Storage Account : rôle « Reader and Data Access » pour l'identité managée du compte Automation sur le compte de stockage cible - le téléversement récupère les clés du compte via listKeys (requis uniquement lorsque exportGroupMemberships est utilisé)

#### rôles RBAC

* Administrateur d’utilisateurs
  * *Requis pour que l'identité en mode application puisse bloquer la connexion, révoquer les sessions et supprimer l'utilisateur*
* Administrateur Exchange
  * *Requis pour la session Exchange Online en mode application qui supprime les appartenances aux groupes de distribution*

### Paramètres

#### Nom d'utilisateur

Nom principal de l'utilisateur sur lequel le runbook agit. Défini par le portail à partir de l'utilisateur sélectionné.

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

#### UserTypeSelector

S'exécute uniquement pour le type d'utilisateur choisi : tous les utilisateurs, membres uniquement ou invités uniquement. En cas de non-correspondance, l'exécution s'arrête avant toute modification.

| Propriété                  | Valeur                              |
| -------------------------- | ----------------------------------- |
| Obligatoire                | faux                                |
| Valeur par défaut          | 0                                   |
| Type                       | Int32                               |
| Nom d’affichage du portail | Restreindre à un type d'utilisateur |

**Options du portail**

| Option du portail                                            | Valeur |
| ------------------------------------------------------------ | ------ |
| Autoriser tous les types d'utilisateurs (membres et invités) | 0      |
| Membres uniquement                                           | 1      |
| Invités uniquement                                           | 2      |

#### DeleteUser

Supprimer efface l'objet utilisateur. Conserver laisse le compte en place ; ce qu'il en advient dépend des autres options.

| Propriété                  | Valeur                           |
| -------------------------- | -------------------------------- |
| Obligatoire                | faux                             |
| Valeur par défaut          | Faux                             |
| Type                       | Booléen                          |
| Nom d’affichage du portail | Supprimer ou conserver le compte |

**Options du portail**

| Option du portail   | Valeur |
| ------------------- | ------ |
| Supprimer le compte | vrai   |
| Conserver le compte | faux   |

#### DésactiverUtilisateur

Empêche le compte de se connecter.

| Propriété         | Valeur  |
| ----------------- | ------- |
| Obligatoire       | faux    |
| Valeur par défaut | Vrai    |
| Type              | Booléen |

#### RevokeAccess

Met fin aux sessions actives de l'utilisateur et invalide ses jetons d'actualisation.

| Propriété         | Valeur  |
| ----------------- | ------- |
| Obligatoire       | faux    |
| Valeur par défaut | Vrai    |
| Type              | Booléen |

#### exportGroupMemberships

Exporte les appartenances aux groupes de l'utilisateur dans un fichier et renvoie un lien de téléchargement avant que les groupes et les licences ne soient modifiés. Provient du paramètre du Tenant OffboardUserPermanently.exportGroupMemberships.

| 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 dans lequel l'export est téléversé. À définir pour chaque runbook.

| Propriété              | Valeur                                             |
| ---------------------- | -------------------------------------------------- |
| Obligatoire            | faux                                               |
| Valeur par défaut      | user-leaver-groupmemberships                       |
| 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) |

#### ChangeLicensesSelector

Supprimer tout retire toutes les licences attribuées directement ; les licences héritées des groupes restent.

| Propriété                  | Valeur                          |
| -------------------------- | ------------------------------- |
| Obligatoire                | faux                            |
| Valeur par défaut          | 0                               |
| Type                       | Int32                           |
| Nom d’affichage du portail | Licences attribuées directement |

**Options du portail**

| Option du portail                                    | Valeur |
| ---------------------------------------------------- | ------ |
| Ne pas modifier les licences attribuées              | 0      |
| Supprimer toutes les licences attribuées directement | 2      |

#### ChangeGroupsSelector

Supprimer les groupes avec le préfixe supprime les groupes nommés par le préfixe, Supprimer tous les groupes supprime chaque groupe. Les deux ajoutent ou conservent le groupe sous « Groupe à ajouter ou à conserver ». Les groupes dynamiques, attribuables à un rôle et locaux sont ignorés et répertoriés.

| Propriété                  | Valeur                    |
| -------------------------- | ------------------------- |
| Obligatoire                | faux                      |
| Valeur par défaut          | 0                         |
| Type                       | Int32                     |
| Nom d’affichage du portail | Appartenances aux groupes |

**Options du portail**

| Option du portail                     | Valeur |
| ------------------------------------- | ------ |
| Ne pas modifier les groupes attribués | 0      |
| Supprimer les groupes avec le préfixe | 1      |
| Supprimer tous les groupes            | 2      |

#### GroupToAdd

Groupe dont l'utilisateur a encore besoin après la désaffectation, par exemple un groupe de licences pour les départs. Il est ajouté s'il manque et n'est jamais supprimé.

| Propriété         | Valeur |
| ----------------- | ------ |
| Obligatoire       | faux   |
| Valeur par défaut |        |
| Type              | Chaîne |

#### GroupsToRemovePrefix

Les groupes dont le nom commence par ce texte sont supprimés, par exemple LIC\_ pour tous les groupes de licences. Utilisé uniquement avec « Supprimer les groupes avec le préfixe ».

| Propriété         | Valeur |
| ----------------- | ------ |
| Obligatoire       | faux   |
| Valeur par défaut |        |
| Type              | Chaîne |

#### RevokeGroupOwnership

Supprimer ou remplacer retire à l'utilisateur la propriété des groupes. Lorsque cet utilisateur est le dernier propriétaire, le remplaçant prend le relais ; sans remplaçant, le groupe est répertorié pour un suivi manuel. Conserver laisse les propriétés telles quelles.

| Propriété                  | Valeur                 |
| -------------------------- | ---------------------- |
| Obligatoire                | faux                   |
| Valeur par défaut          | Vrai                   |
| Type                       | Booléen                |
| Nom d’affichage du portail | Propriétés des groupes |

**Options du portail**

| Option du portail                                      | Valeur |
| ------------------------------------------------------ | ------ |
| Conserver les propriétés de l'utilisateur              | faux   |
| Supprimer ou remplacer les propriétés de l'utilisateur | vrai   |

#### ManagerAsReplacementOwner

Prend le responsable de l'utilisateur dans Entra ID comme propriétaire, responsable et parrain de remplacement. Si un responsable est défini, il est utilisé à la place de la « personne de remplacement ».

| Propriété                  | Valeur                                     |
| -------------------------- | ------------------------------------------ |
| Obligatoire                | faux                                       |
| Valeur par défaut          | Vrai                                       |
| Type                       | Booléen                                    |
| Nom d’affichage du portail | Utiliser le responsable comme remplaçant ? |

#### ReplacementOwnerName

Personne qui prend en charge les propriétés, les subordonnés directs et les parrainages lorsque le responsable n'est pas utilisé ou que cet utilisateur n'en a pas.

| Propriété         | Valeur |
| ----------------- | ------ |
| Obligatoire       | faux   |
| Valeur par défaut |        |
| Type              | Chaîne |

#### ReplaceManagerReferences

Définit le remplaçant comme responsable de toutes les personnes qui rendent compte à cet utilisateur. Sans remplaçant, ces utilisateurs sont seulement répertoriés.

| Propriété                  | Valeur                              |
| -------------------------- | ----------------------------------- |
| Obligatoire                | faux                                |
| Valeur par défaut          | Faux                                |
| Type                       | Booléen                             |
| Nom d’affichage du portail | Responsable des subordonnés directs |

**Options du portail**

| Option du portail                                                      | Valeur |
| ---------------------------------------------------------------------- | ------ |
| Conserver cet utilisateur comme responsable de ses subordonnés directs | faux   |
| Définir le remplaçant comme responsable des subordonnés directs        | vrai   |

#### ReplaceSponsorReferences

Remplace cet utilisateur en tant que parrain partout où il l'est, généralement pour les utilisateurs invités. Sans remplaçant, ces utilisateurs sont seulement répertoriés. Les parrainages détenus via un groupe sont conservés. Cela analyse tous les utilisateurs du Tenant.

| Propriété                  | Valeur              |
| -------------------------- | ------------------- |
| Obligatoire                | faux                |
| Valeur par défaut          | Faux                |
| Type                       | Booléen             |
| Nom d’affichage du portail | Parrain des invités |

**Options du portail**

| Option du portail                                                  | Valeur |
| ------------------------------------------------------------------ | ------ |
| Conserver cet utilisateur comme parrain                            | faux   |
| Remplacer cet utilisateur comme parrain des utilisateurs (invités) | vrai   |

[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/user/general/offboard-user-permanently.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.
