OneDrive c’est l’exemple parfait du logiciel qu’on n’a pas demandé, qu’on ne veut pas, et qui revient quand même. Il se réinstalle, se relance, redirige vos dossiers, et vous regarde dans les yeux en souriant pendant qu’il le fait, prêt à synchroniser vos documents quelque part dans le cloud de Microsoft. Voilà comment mettre fin à cette relation toxique.
Sur un réseau d’entreprise — même une infra perso — OneDrive c’est :
- Des tâches planifiées qui tournent en arrière-plan sur toutes les machines
- Un service qui génère du trafic réseau avant même que l’utilisateur soit connecté
- Des dossiers Windows (Documents, Bureau, Images) qui ont une fâcheuse tendance à vouloir migrer vers le cloud si on ne fait pas attention
- Et évidemment, la case “Enregistrer les documents sur OneDrive par défaut” activée de base
La GPO qu’on va créer coupe tout ça à la racine, en trois couches.
Prérequis — Le Central Store ADMX
Cette GPO utilise des templates ADMX spécifiques à OneDrive. Avant de commencer, il faut s’assurer que le Central Store de votre domaine est correctement alimenté.
Créer le Central Store RAPPEL
Si vous voyez la mention “définitions récupérées à partir de l’ordinateur local” dans la GPMC, alors le Central Store n’existe pas encore. C’est un problème : les templates sont lus depuis la machine qui édite la GPO, pas depuis un emplacement centralisé. Sur une infra qui a migré de Server 2016 vers 2022 par exemple, on peu se retrouver avec des templates d’anciennes versions qui cohabitent avec les nouveaux — et des paramètres qui disparaissent ou se contredisent.
La solution propre : copier l’intégralité des templates Windows vers le Central Store.
Sur le DC, ouvre une invite de commandes en administrateur :
robocopy C:\Windows\PolicyDefinitions ^
C:\Windows\SYSVOL\sysvol\domaine\Policies\PolicyDefinitions /E
Cette commande copie tous les ADMX et ADML (tous les dossiers de langues inclus) en une passe, sans écraser les fichiers déjà présents.
Récupérer les ADMX OneDrive
Petit cadeau de Microsoft : les templates ADMX du client OneDrive ne sont pas inclus dans Windows Server. Ils sont bundlés avec le client OneDrive lui-même, qu’on ne va évidemment pas installer sur un serveur.
La méthode officielle consiste à installer OneDrive sur une station via winget pour récupérer les fichiers :
winget install Microsoft.OneDrive
Les ADMX se trouvent ensuite dans :
%localappdata%\Microsoft\OneDrive\<BuildNumber>\adm\
OneDrive.admx
fr-FR\
OneDrive.adml
Copiez ces deux fichiers vers le Central Store :
OneDrive.admx → ...\PolicyDefinitions\
OneDrive.adml → ...\PolicyDefinitions\fr-FR\
Une fois le Central Store alimenté, rechargez la GPMC. La mention doit afficher “définitions récupérées à partir du magasin central”.
Note pour les infras migrées : si vous venez de Server 2016, vous verrez peut-être deux nœuds OneDrive dans la GPMC — un issu de
SkyDrive.admx(l’ancien nom d’OneDrive, copié avec le robocopy) et un issu du nouveauOneDrive.admx. C’est normal, les deux coexistent. Le nœud SkyDrive contient le paramètreEmpêcher l'utilisation de OneDrive pour le stockage de fichiers— qui est toujours valide et qu’on va utiliser.
Architecture de la GPO — 3 couches
Une seule couche ne suffit pas. OneDrive utilise plusieurs mécanismes pour se maintenir en vie :
- Les politiques ADMX (la couche visible)
- Les clés de registre (la couche silencieuse)
- Les tâches planifiées (la couche qui ressuscite tout)
Il faut les trois.
Création de la GPO
Dans la GPMC :
Clic droit sur l'OU cible → Create a GPO in this domain and link it here
Nom : OneDrive
Lier sur Domain Controllers, SERVEURS, STATIONS — OneDrive n’a rien à faire nulle part sur ce réseau.
Couche 1 — Templates ADMX
Nœud SkyDrive (ancienne génération) :
Computer Configuration → Policies → Administrative Templates
→ Windows Components → OneDrive (nœud SkyDrive)
| Paramètre | Valeur |
|---|---|
| Empêcher l’utilisation de OneDrive pour le stockage de fichiers | Activé |
| Empêcher l’utilisation de OneDrive pour le stockage de fichiers sur Windows 8.1 | Activé |
| Enregistrer les documents sur OneDrive par défaut | Désactivé ⚠️ |
Le dernier paramètre est le piège classique : son nom peut laisser penser qu’il est inoffensif, mais le mettre à Activé force la sauvegarde vers OneDrive. Il doit être Désactivé.
Nœud OneDrive moderne :
Computer Configuration → Policies → Administrative Templates
→ Windows Components → OneDrive (nœud moderne)
| Paramètre | Valeur |
|---|---|
| Prevent the sync app from automatically signing in users with existing credentials | Activé |
| Prevent users from moving their Windows known folders to OneDrive | Activé |
| Prompt users to move Windows known folders to OneDrive | Désactivé |
| Silently move Windows known folders to OneDrive | Désactivé |
Couche 2 — GPP Registry
Computer Configuration → Preferences → Windows Settings → Registry
5 clés à créer, toutes en action “Mettre à jour” :
Clés dans HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive :
| Nom de valeur | Type | Données |
|---|---|---|
DisableFileSyncNGSC |
REG_DWORD | 1 |
DisablePersonalSync |
REG_DWORD | 1 |
DisableFileSync |
REG_DWORD | 1 |
DisableLibrariesDefaultSaveToOneDrive |
REG_DWORD | 1 |
Clé dans HKLM\SOFTWARE\Microsoft\OneDrive :
| Nom de valeur | Type | Données |
|---|---|---|
PreventNetworkTrafficPreUserSignIn |
REG_DWORD | 1 |
Cette dernière clé bloque tout trafic réseau OneDrive avant même que l’utilisateur ouvre une session. C’est elle qui empêche OneDrive de contacter les serveurs Microsoft au démarrage de la machine.
Couche 3 — Script PowerShell de démarrage
C’est la couche anti-résurrection. Les tâches planifiées OneDrive sont le principal vecteur de réinstallation silencieuse — elles se recréent après certaines mises à jour Windows et peuvent relancer le client même quand tout le reste est bloqué.
Crée un fichier onedrive_kill.ps1 :
# Désactive toutes les scheduled tasks OneDrive
Get-ScheduledTask | Where-Object { $_.TaskName -like "*OneDrive*" } | Disable-ScheduledTask
# Supprime la clé Run du profil par défaut
# (empêche l'installation automatique pour les nouveaux utilisateurs)
$DefaultProfile = "C:\Users\Default\NTUSER.DAT"
reg load HKLM\DEFAULT_USER $DefaultProfile
reg delete "HKLM\DEFAULT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /f
reg unload HKLM\DEFAULT_USER
Place ce fichier dans le dossier Scripts de la GPO et ajoute-le dans :
Computer Configuration → Policies → Windows Settings → Scripts → Démarrage
→ Onglet "Scripts PowerShell" → Ajouter → onedrive_kill.ps1
Vérification post-déploiement
Après gpupdate /force et reboot :
# Vérifier les clés registre
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive"
# Vérifier les tâches planifiées OneDrive (doit retourner vide ou Disabled)
Get-ScheduledTask | Where-Object { $_.TaskName -like "*OneDrive*" } | Select-Object TaskName, State
# OneDrive ne doit pas être dans la liste des processus
Get-Process -Name OneDrive -ErrorAction SilentlyContinue