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.
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é
Étape | Action | Commentaire |
---|---|---|
1 | Vérifier et recréer le mappage | Écarter un mappage fantôme : net use O: /delete puis net use O: \\Fileserver1\Shared /persistent:no . |
2 | Contrôler les ACL NTFS | Détecter héritage cassé ou Deny indésirable : icacls \\Fileserver1\Shared . |
3 | Purger le cache hors connexion | Côté client : Offlines Files → Supprimer. Côté serveur : désactiver temporairement la mise en cache du partage. |
4 | Examiner les journaux et tester en verbeux | Observateur d’événements (audits 5145) et test robocopy pour obtenir un code d’erreur précis. |
5 | Recréer le partage | Supprimer/recréer dans Dossiers partagés : réinitialise les attributs SMB sans toucher aux données NTFS. |
6 | Actualiser GPO ou scripts de connexion | Forcer 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 :
- Côté client : ouvrez Fichiers hors connexion (
control.exe /name Microsoft.OfflineFiles
) et supprimez le contenu lié au chemin concerné. Redémarrez. - 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 :
- Dans Gestion de l’ordinateur → Dossiers partagés → Partages, notez le nom et les autorisations du partage actuel.
- Supprimez le partage (les fichiers restent sur le disque, seuls les paramètres SMB sont retirés).
- 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
puiscmdkey /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
versO:\
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 code | Piste privilégiée | Action |
---|---|---|
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èle | Cache CSC, EDR, latence DFS. | Purger CSC, dfsutil /pktflush , tester en excluant l’EDR. |
Partage introuvable via O:, UNC OK | MUP/MRX cache, GPO non appliquée. | net use * /delete , gpupdate /force , remapper. |
UNC et O: OK en lecture, copie échoue | FSRM, attributs de partage, filtre EDR | Recré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
Objectif | Commande |
---|---|
Supprimer et recréer le lecteur | net use O: /delete && net use O: \\Fileserver1\Shared /persistent:no |
Vérifier ACL NTFS | icacls \\Fileserver1\Shared /verify |
Purger cache DFS côté client | dfsutil /pktflush |
Afficher connexions SMB | Get-SmbConnection |
Désactiver temporairement la mise en cache du partage | Set-SmbShare -Name Shared -CachingMode None |
Forcer l’application des stratégies | gpupdate /force |
Test verbeux de copie | robocopy %temp% O:\ /Z /FFT /R:0 /W:0 /V /TEE |
Matrice de diagnostic
UNC direct | Lettre mappée | Diagnostic le plus probable | Action prioritaire |
---|---|---|---|
OK | Échec | Mappage, CSC, DFS, EDR | Remapper, purger CSC/DFS, tester EDR, recréer partage |
Échec | OK | Résolution de nom, chemin erroné, crédentials divergents | Corriger cible, unifier les identifiants |
Échec | Échec | Droits NTFS/partage, indisponibilité serveur | Vé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: /delete
→net 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.