Impossible de copier vers le lecteur réseau O: (SMB/Windows) alors que l’UNC fonctionne : causes, correctifs et check‑list

Après une migration de fichiers, vos utilisateurs ne peuvent plus coller sur le lecteur réseau O:, alors que le chemin UNC direct fonctionne. Voici une analyse claire des causes possibles et une procédure pas à pas, sûre et reproductible, pour rétablir les copies via la lettre mappée.

Sommaire

Contexte et symptômes observés

Le contexte typique est une bascule de données vers un nouveau serveur de fichiers. Les postes clients continuent d’accéder aux ressources via un lecteur mappé O: pointant vers \\Fileserver1\Shared. Les symptômes relevés :

  • L’opération Coller échoue sur O: (message d’erreur générique ou code Win32).
  • Les mêmes utilisateurs peuvent créer manuellement un fichier vide sur O: (clic droit → Nouveau).
  • Les mêmes utilisateurs peuvent copier/coller vers le chemin UNC complet \\Fileserver1\Shared.
  • Les autorisations de partage semblent larges (Everyone : Contrôle total), et les droits NTFS n’ont pas été modifiés de façon intentionnelle.

Cette combinaison est paradoxale à première vue, mais elle est révélatrice : quand la création simple fonctionne et que la copie via l’UNC fonctionne, le problème réside très souvent dans la chaîne de résolution de la lettre mappée (mappage corrompu, cache client, alias DFS) ou dans un composant côté client (cache hors connexion, filtre EDR) qui n’est pas sollicité de la même manière par l’UNC brut.

Pourquoi l’UNC réussit mais la lettre réseau échoue

La lettre mappée introduit une couche de résolution supplémentaire qui n’existe pas avec un UNC direct. En simplifiant :

Explorateur ➜ O: (mapping) ➜ Redirecteur SMB (MRxSmb/MUP) ➜
  éventuel alias/DFS ➜ Cache hors connexion (CSC) ➜ Pilotes de filtre (EDR/AV) ➜ Serveur SMB

Explorateur ➜ \Fileserver1\Shared (UNC direct) ➜ Redirecteur SMB ➜ Pilotes de filtre ➜ Serveur SMB 

Un mappage obsolète, un cache CSC hérité d’avant migration, une cible DFS non mise à jour ou un pilote de sécurité qui accroche spécifiquement les lettres réseau peuvent bloquer les opérations CopyFile/MoveFile tout en laissant passer la création de fichiers et le chemin UNC.

Causes probables

  • Mapping corrompu ou obsolète : la lettre O: pointe encore vers l’ancienne cible, ou un cache de session garde une résolution erronée.
  • Cache hors connexion (CSC) : des métadonnées ou un état « hors connexion » hérité bloquent certaines écritures.
  • Paramètres propres au partage : quotas FSRM, filtrage d’extensions, ou héritage NTFS incohérent appliqués à ce partage précis.
  • Alias/DFS non mis à jour : la lettre référence un nom logique (\\Domaine\Namespace\Share) qui redirige ailleurs que l’UNC direct.
  • Filtrage antivirus/EDR : certains agents inspectent différemment les flux via lettres mappées qu’en UNC direct.

Plan de résolution recommandé

ÉtapeActionCommentaire
1Vérifier et recréer le mappageÉcarter un mappage fantôme : net use O: /delete puis net use O: \\Fileserver1\Shared /persistent:no.
2Contrôler les ACL NTFSDétecter héritage cassé ou Deny indésirable : icacls \\Fileserver1\Shared.
3Purger le cache hors connexionCôté client : Offlines Files → Supprimer. Côté serveur : désactiver temporairement la mise en cache du partage.
4Examiner les journaux et tester en verbeuxObservateur d’événements (audits 5145) et test robocopy pour obtenir un code d’erreur précis.
5Recréer le partageSupprimer/recréer dans Dossiers partagés : réinitialise les attributs SMB sans toucher aux données NTFS.
6Actualiser GPO ou scripts de connexionForcer la mise à jour côté client : gpupdate /force.

Procédure détaillée pas à pas

Recréer proprement le mappage du lecteur

Commencez par retirer tout résidu de mapping :

net use O: /delete
net use * /delete /y   &rem facultatif pour nettoyer tous les mappings
klist purge            &rem purger les tickets Kerberos si nécessaire

Puis recréez le mapping avec la cible attendue et sans persistance (pour le diagnostic) :

net use O: \\Fileserver1\Shared /persistent:no
  • Vérifiez que net use affiche bien la cible et l’utilisateur courant.
  • Si la GPO Drive Maps définit ce lecteur, configurez-la en mode Remplacer plutôt que Mettre à jour afin de supprimer les anciens liens, puis gpupdate /force.
  • Si un alias DFS est attendu (ex. \\Domaine\DFS\O), testez le mapping vers cet alias et comparez le referral avec l’UNC direct (voir section DFS plus bas).

Vérifier les droits NTFS et l’héritage

Une création simple qui réussit mais des copies qui échouent proviennent rarement d’un manque de droits NTFS. Néanmoins, vérifiez rapidement :

icacls \\Fileserver1\Shared
icacls \\Fileserver1\Shared /verify
whoami /groups
  • Recherchez des entrées Deny ou un héritage rompu sur des sous-dossiers.
  • Assurez-vous que les permissions NTFS sont définies au dossier cible (les droits de partage ne suffisent pas).
  • Si des sous-dossiers sont affectés, comparez avec un dossier témoin fonctionnel.

Purger ou neutraliser le cache hors connexion

Le cache CSC peut conserver un état incohérent après migration (chemin identique, serveur différent). Procédez ainsi :

  1. Côté client : ouvrez Fichiers hors connexion (control.exe /name Microsoft.OfflineFiles) et supprimez le contenu lié au chemin concerné. Redémarrez.
  2. Côté serveur : désactivez temporairement la mise en cache du partage (Propriétés du partage → décochez « Autoriser la mise en cache »), validez, attendez quelques minutes, testez, puis remettez la configuration désirée.

Option avancée — réinitialiser complètement CSC (déconseillée en premier recours, car elle efface tous les fichiers hors connexion de la machine) :

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\CSC\Parameters ^
 /v FormatDatabase /t REG_DWORD /d 1 /f
shutdown /r /t 0

Après reboot, re-testez les copies sur O:. Si cela résout le problème, vous avez confirmé un artefact du cache.

Inspecter les journaux et obtenir un code d’erreur fiable

Les messages de l’Explorateur sont souvent peu verbeux. Utilisez robocopy pour forcer une copie « bruyante » et obtenir un code de retour précis :

robocopy %temp% O:\ /Z /FFT /R:0 /W:0 /V /TEE
echo ExitCode=%errorlevel%

En parallèle, ouvrez l’Observateur d’événements :

  • Audit de partage de fichiers sur le serveur (Security) → évènements 5145 pour les accès SMB détaillés.
  • SMBClient sur le poste client → journaux Connectivity/Operational pour les erreurs de session.

Ces journaux permettent de discriminer une interdiction (accès refusé), un dépassement de quota FSRM, un fichier filtré, ou un blocage par un pilote tiers.

Recréer le partage sans toucher aux données

Quand l’UNC fonctionne et que tout pointe vers un artefact de partage, recréer le partage est souvent l’action la plus rapide :

  1. Dans Gestion de l’ordinateurDossiers partagésPartages, notez le nom et les autorisations du partage actuel.
  2. Supprimez le partage (les fichiers restent sur le disque, seuls les paramètres SMB sont retirés).
  3. Recréez le partage vers le même dossier, en reconstituant les autorisations de partage souhaitées.

Equivalent PowerShell :

# Sauvegarder la configuration actuelle
Get-SmbShare -Name Shared | Format-List *

# Retirer puis recréer

Remove-SmbShare -Name Shared -Force
New-SmbShare -Name Shared -Path 'D:\Données\Shared' -FullAccess 'Everyone'

# Ajuster au besoin : -ChangeAccess, -ReadAccess, -FolderEnumerationMode, -CachingMode, etc.

Après recréation, testez immédiatement O: et l’UNC. La recréation réinitialise les descripteurs du partage et les attributs SMB côté serveur, ce qui élimine de nombreux états incohérents post-migration.

Actualiser GPO, scripts et caches de résolution

Une fois la cible stabilisée :

gpupdate /force
dfsutil /pktflush
ipconfig /flushdns
klist purge
  • Dans Préférences > Windows Settings > Drive Maps : privilégiez le mode Remplacer pour casser les mappages hérités.
  • Si des informations d’identification stockées existent, nettoyez-les : cmdkey /list puis cmdkey /delete:<cible>.

Vérifications rapides côté serveur

  • État des sessions SMB et dialectes : assurez-vous que la version négociée est cohérente avec les partages fonctionnels.
# Sessions actives (utile pour voir le client, l’utilisateur et les fichiers ouverts)
Get-SmbSession | Select-Object ClientComputerName, UserName, NumOpens, Dialect

# Partages et paramètres clés

Get-SmbShare | Select-Object Name, Path, CachingMode, FolderEnumerationMode
Get-SmbShareAccess -Name Shared 
  • Quotas et filtrage : si vous utilisez FSRM, vérifiez qu’un quota ou un File Screen n’interdit pas silencieusement l’opération (ex. extension bloquée).
  • Mise en cache du partage : pour neutraliser CSC le temps d’un test, positionnez : Set-SmbShare -Name Shared -CachingMode None.

Vérifications rapides côté client

  • Mappage cohérent : net use doit refléter la bonne cible, le bon état et l’utilisateur attendu.
  • Explorateur : videz les emplacements récents/accès rapides si des raccourcis pointent vers l’ancien serveur.
  • État hors connexion : dans Centre de synchronisation, supprimez les associations liées à O:.
  • Comparaison UNC vs lettre : copiez un même fichier de test avec robocopy vers O:\ puis vers \\Fileserver1\Shared\ et comparez les journaux.

Scénarios DFS et alias

Si la lettre mappée référence un nom DFS (\\Domaine\Namespace\Share), il est possible que le referral pointe encore vers l’ancien serveur, alors que l’UNC direct vise déjà le nouveau. Pour éviter toute ambiguïté :

dfsutil /pktinfo
dfsutil /pktflush
  • Après /pktflush, rempez O: et testez à nouveau. Assurez-vous que la cible DFS renvoie le bon serveur.
  • Si vous avez un mix d’alias NetBIOS, d’enregistrements DNS et de DFS, normalisez la référence de la GPO (toujours vers le nom logique unique).

Antivirus et EDR

Certains agents de sécurité appliquent des inspections plus strictes aux opérations transitant par des lettres mappées (interception des API CopyFile/MoveFile, validation d’extension, analyse à l’écriture) qu’aux flux UNC directs. Pour lever le doute :

  • Désactivez temporairement la protection en temps réel (si la politique le permet) et refaites le test de copie.
  • Ajoutez une exclusion temporaire pour le processus de test (ex. robocopy.exe) et pour la cible \\Fileserver1\Shared.
  • Consultez les journaux de l’agent pour un verdict explicite (bloqué / mis en quarantaine / analysé trop longtemps).

Journalisation et codes d’erreur utiles

Quelques retours fréquents et leur interprétation :

Symptôme ou codePiste privilégiéeAction
Accès refusé uniquement sur O:Mappage vers une autre cible, crédentials obsolètes.net use O: /delete, cmdkey /list → nettoyer, remapper.
Temps d’attente dépassé / copie qui gèleCache CSC, EDR, latence DFS.Purger CSC, dfsutil /pktflush, tester en excluant l’EDR.
Partage introuvable via O:, UNC OKMUP/MRX cache, GPO non appliquée.net use * /delete, gpupdate /force, remapper.
UNC et O: OK en lecture, copie échoueFSRM, attributs de partage, filtre EDRRecréer le partage, vérifier FSRM et EDR.

Bloc de diagnostic reproductible

Pour capturer un état exploitable en support :

:: 1) Vider les caches de résolution
dfsutil /pktflush
ipconfig /flushdns
klist purge

\:: 2) Nettoyer/remapper
net use O: /delete
net use O: \Fileserver1\Shared /persistent\:no

\:: 3) Test verbeux
robocopy %temp% O:\ /Z /FFT /R:0 /W:0 /V /TEE /LOG:%temp%\testO.log
robocopy %temp% \Fileserver1\Shared\ /Z /FFT /R:0 /W:0 /V /TEE /LOG:%temp%\testUNC.log

\:: 4) Comparer les logs et relever ExitCode
type %temp%\testO.log | more
type %temp%\testUNC.log | more 

Questions fréquentes

Recréer le partage est-il risqué ?
Non. Le partage est un « pointeur » SMB : l’opération ne touche pas aux données NTFS. Veillez simplement à réappliquer les permissions de partage désirées. Les ACL NTFS, elles, ne bougent pas.

Faut-il redémarrer le serveur ?
Généralement non. Un redémarrage peut aider si un pilote tiers accroche le partage, mais dans la plupart des cas, la recréation de partage et la purge des caches suffisent.

Pourquoi la création d’un fichier fonctionne-t-elle quand la copie échoue ?
La création peut aboutir car elle manipule un descripteur simple et ne déclenche pas les mêmes chemins de code (attributs étendus, flux alternatifs, métadonnées) que la copie depuis l’Explorateur. D’où l’intérêt de robocopy pour révéler la vraie erreur.

Le problème peut-il venir d’un quota ?
Oui, surtout si seuls certains dossiers sont touchés. Les quotas et file screens s’appliquent côté serveur et peuvent réagir différemment selon l’emplacement exact ciblé par la lettre mappée.

Résumé opérationnel

  • Si l’UNC brut fonctionne mais pas O:, suspectez d’abord le mappage et le client, pas les droits NTFS.
  • Recréez le mappage, purgez CSC/DFS, testez avec robocopy pour obtenir un code précis.
  • Si le doute persiste, recréez le partage côté serveur : action rapide, peu risquée et efficace.
  • Actualisez GPO/scripts pour imposer la nouvelle définition du lecteur.
  • Si un EDR est en place, refaites les tests avec les exclusions temporaires adéquates pour confirmer ou écarter un blocage applicatif.

Annexes utiles

Commandes essentielles

ObjectifCommande
Supprimer et recréer le lecteurnet use O: /delete && net use O: \\Fileserver1\Shared /persistent:no
Vérifier ACL NTFSicacls \\Fileserver1\Shared /verify
Purger cache DFS côté clientdfsutil /pktflush
Afficher connexions SMBGet-SmbConnection
Désactiver temporairement la mise en cache du partageSet-SmbShare -Name Shared -CachingMode None
Forcer l’application des stratégiesgpupdate /force
Test verbeux de copierobocopy %temp% O:\ /Z /FFT /R:0 /W:0 /V /TEE

Matrice de diagnostic

UNC directLettre mappéeDiagnostic le plus probableAction prioritaire
OKÉchecMappage, CSC, DFS, EDRRemapper, purger CSC/DFS, tester EDR, recréer partage
ÉchecOKRésolution de nom, chemin erroné, crédentials divergentsCorriger cible, unifier les identifiants
ÉchecÉchecDroits NTFS/partage, indisponibilité serveurVérifier ACL, disponibilité, quotas

Bonnes pratiques pour éviter la récidive

  • Centralisez les lecteurs mappés via GPO en mode Remplacer et référencez un nom logique unique (DFS ou alias DNS) plutôt qu’un nom physique.
  • Maintenez une parité UNC/DFS : toute migration doit mettre à jour la cible de l’alias/namespace, pas seulement le serveur.
  • Documentez et sauvegardez la configuration des partages (Get-SmbShare) avant migration.
  • Validez les agents EDR/AV en environnement de préproduction et définissez des exclusions minimales pour les chemins réseau critiques.
  • Sur les postes mobiles, surveillez l’état des fichiers hors connexion après les grandes bascules.

L’utilisateur souhaitait éviter de supprimer le partage, mais a finalement conclu qu’il devra le recréer : cette démarche est bénigne tant que les permissions NTFS restent intactes.


Checklist express

  • Remapper : net use O: /deletenet use O: \\Fileserver1\Shared /persistent:no.
  • Purger DFS/CSC : dfsutil /pktflush, nettoyage Offline Files, redémarrage.
  • Tester en verbeux avec robocopy et relever l’ExitCode.
  • Contrôler ACL NTFS et éventuels quotas/filtrages FSRM.
  • Recréer le partage si l’UNC est OK mais la lettre échoue encore.
  • Actualiser GPO/scripts, nettoyer credentials (cmdkey), purger tickets (klist).
  • Isoler un blocage EDR/AV par exclusion temporaire ciblée.

En suivant cette feuille de route, vous traitez d’abord les causes probables et peu intrusives (mappage, caches), vous obtenez une trace exploitable, et vous disposez d’une issue rapide et sûre (recréer le partage) lorsque la stack SMB a besoin d’un « reset » côté serveur.

Sommaire