> 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/collab/pre-provision-onedrive.md).

# Préprovisionner OneDrive

Demander le OneDrive de cet utilisateur avant la première connexion

### Description

Demande le OneDrive de cet utilisateur dans SharePoint Online afin qu’il soit disponible avant la première connexion. Le compte doit être activé et, lorsque la vérification de licence est activée, avoir un plan de service SharePoint attribué. Aucune demande n’est envoyée si le OneDrive existe déjà. SharePoint crée le OneDrive en arrière-plan, généralement en quelques minutes et parfois seulement après 24 heures, et l’exécution n’attend pas sa création.

### Fonctionnement

À chaque exécution, le runbook :

1. Se connecte à Microsoft Graph et à SharePoint Online (PnP PowerShell) avec l’identité managée du compte Automation. L’URL du centre d’administration SharePoint est dérivée automatiquement depuis le site racine du Tenant.
2. Lit l’utilisateur sélectionné (`Nom d'utilisateur`) depuis Microsoft Entra ID et s’arrête si le compte n’existe pas ou est **désactivés**.
3. Vérifie éventuellement que l’utilisateur dispose d’un **SharePoint** plan de service (voir [Vérification de licence](#license-check)).
4. Vérifie si le OneDrive de l’utilisateur existe déjà en tant que collection de sites active - si oui, l’exécution se termine sans envoyer de demande.
5. Recherche un OneDrive supprimé de l’utilisateur dans la corbeille du Tenant et affiche un avertissement si l’un d’eux est trouvé.
6. Met en file d’attente la création du OneDrive via `New-PnPPersonalSite` et affiche le résultat.

Le runbook est lancé à partir de l’objet utilisateur dans le portail RealmJoin, donc l’utilisateur est toujours présélectionné - il n’y a aucune saisie en texte libre.

#### Le compte doit être activé

SharePoint ne crée un OneDrive que pour les utilisateurs autorisés à se connecter. Les demandes pour les utilisateurs bloqués sont acceptées mais ignorées silencieusement, ce qui produirait un message « en file d’attente » trompeur. Le runbook s’arrête donc avec une erreur lorsque `accountEnabled` est `faux`. Activez d’abord le compte et relancez le runbook.

Un blocage de connexion imposé par **Conditional Access** ne peut pas être détecté par le runbook.

#### Vérification de licence

Avec **Vérifier d’abord la licence SharePoint ?** (`CheckSharePointLicense`, activé par défaut) le runbook s’arrête lorsque l’utilisateur n’a aucun plan de service SharePoint activé. La vérification évalue les `assignedPlans`, donc toutes les sources de licence comptent :

* Suites Microsoft 365 / Office 365 (p. ex. E3, E5, F3, Business Standard)
* Plans autonomes SharePoint Online Plan 1 / Plan 2 et OneDrive
* Attributions de licence directes et basées sur des groupes

Si la vérification est désactivée, la demande est quand même mise en file d’attente - mais SharePoint ne créera pas le OneDrive tant qu’aucune licence SharePoint n’est attribuée. Après l’attribution d’une licence, laissez un peu de temps à l’attribution pour prendre effet avant d’exécuter le runbook.

#### Conçu pour être idempotent

* Si le OneDrive existe déjà en tant que collection de sites active, le runbook renvoie `AlreadyProvisioned` et n’envoie aucune demande.
* Envoyer une demande pour un utilisateur qui possède déjà un OneDrive est sans danger - SharePoint l’ignore.

#### OneDrive supprimé dans la corbeille

Si un OneDrive supprimé de l’utilisateur (correspondant au propriétaire du site) est trouvé dans la corbeille du Tenant, le runbook affiche un avertissement avec l’URL et l’heure de suppression. Restaurer le OneDrive existant peut être préférable à la création d’un nouveau OneDrive vide. L’avertissement n’arrête pas l’exécution.

#### Provisionnement asynchrone

Le runbook se contente de **mettre en file d’attente** la demande ; le OneDrive est créé plus tard par un travail de minuterie SharePoint. Cela prend généralement quelques minutes, mais peut prendre jusqu’à 24 heures ou plus. Le runbook n’attend pas la fin - utilisez le runbook **Vérifier l’état de OneDrive** (Org \ Collab) pour vérifier le résultat.

Le runbook renvoie un objet avec `UserPrincipalName`, `Statut` (`AlreadyProvisioned` ou `ProvisioningRequested`), `OneDriveUrl` et `RequestedAt` (UTC).

#### Prérequis

Les autorisations sur l’ **Office 365 SharePoint Online** API ne peuvent pas être attribuées par la configuration automatique des autorisations pour Microsoft Graph. Accordez-les une fois par Tenant à l’identité managée attribuée par le système du compte Automation avant la première exécution.

### Emplacement

Utilisateur → Collab → Préprovisionnement OneDrive

**Nom complet du runbook**

rjgit-user\_collab\_pre-provision-onedrive

### Détails

| Propriété      | Valeur                                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------------------- |
| Version        | 1.0.1                                                                                                                 |
| Modules requis | <p>RealmJoin.RunbookHelper (>= 0.8.10)<br>Microsoft.Graph.Authentication (>= 2.41.2)<br>PnP.PowerShell (>= 3.4.1)</p> |
| Planifiable    | non                                                                                                                   |

### Autorisations

#### Autorisations d’application

* **Type**: Microsoft Graph
  * Sites.Read.All
    * *Lit le site racine du Tenant (/sites/root) pour dériver l’URL du centre d’administration SharePoint utilisée par Connect-PnPOnline.*
  * User.Read.All
    * *Lit l’utilisateur sélectionné (accountEnabled, userPrincipalName, assignedPlans) pour vérifier que le compte est activé et, éventuellement, qu’un plan de service SharePoint activé est attribué avant l’envoi de la demande de provisionnement.*
* **Type**: Office 365 SharePoint Online
  * Sites.FullControl.All
    * *Requis par Connect-PnPOnline contre le centre d’administration SharePoint et par les cmdlets d’administration du Tenant Get-PnPTenantSite, Get-PnPTenantDeletedSite et New-PnPPersonalSite, qui examinent les sites personnels OneDrive, la corbeille du Tenant et mettent en file d’attente la création du OneDrive ; des portées de site inférieures ne suffisent pas pour le point de terminaison d’administration du Tenant.*
  * User.ReadWrite.All
    * *Documenté par PnP PowerShell comme requis pour New-PnPPersonalSite avec des autorisations d’application (service de profil utilisateur) ; couvre aussi la lecture de PersonalUrl via Get-PnPUserProfileProperty.*

#### Notes sur les autorisations

SharePoint Online : accordez les autorisations d’application 'Sites.FullControl.All' et 'User.ReadWrite.All' sur l’API Office 365 SharePoint Online (AppId 00000003-0000-0ff1-ce00-000000000000) à l’identité managée attribuée par le système du compte Automation. Cet octroi app-only SharePoint ne peut pas être effectué via l’automatisation standard d’affectation de rôles d’application utilisée pour Microsoft Graph et doit être attribué manuellement par Tenant.

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

#### CheckSharePointLicense

Lorsqu’elle est activée, le runbook s’arrête si cet utilisateur n’a aucun plan de service SharePoint activé provenant d’une quelconque licence, attribuée directement ou par groupe. Lorsqu’elle est désactivée, la demande est envoyée quand même, mais SharePoint ne crée le OneDrive qu’une fois qu’une licence a été attribuée.

| Propriété                  | Valeur                                   |
| -------------------------- | ---------------------------------------- |
| Obligatoire                | faux                                     |
| Valeur par défaut          | Vrai                                     |
| Type                       | Booléen                                  |
| Nom d’affichage du portail | Vérifier d’abord la licence SharePoint ? |

[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/collab/pre-provision-onedrive.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.
