Ci-dessous quelques astuces que j'ai développées. Ils ne sont pas élégants, mais peuvent être fonctionnels dans votre environnement d'entreprise.
HOMEDRIVE seulement
Il semble que de nombreuses applications utilisent uniquement HOMEDRIVE / HOMEPATH. Dans ce cas, vous pouvez créer un script de démarrage qui réaffecte la lettre du lecteur de base à votre chemin d'utilisateur local via le chemin d'administration du lecteur UNC:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
net use g: /delete
net use g: \\localhost\C$\Users\username
HOMEDRIVE Local Default
Si vous n'avez pas du tout besoin d'accéder à «Serveur» par son nom, vous pouvez provoquer l'échec du paramètre de stratégie de groupe et son retour sur votre ordinateur local. Pour ce faire, le moyen le plus simple consiste à ajouter une entrée à C: \ Windows \ System32 \ drivers \ etc \ hosts comme:
127.0.0.1 Server
Après le redémarrage, vous devriez voir quelque chose comme:
set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\username
HOMEDRIVE / SHARE avec chemins UNC hybrides locaux / distants
Si vous souhaitez accéder à "Serveur" par nom pour certains chemins UNC, mais en substituer d'autres aux chemins locaux, j'ai développé l'abomination suivante. Remarque: les connexions de serveur directes vers "Serveur" seront toujours résolues sur votre ordinateur local. Je recommande cette solution uniquement si "Serveur" est uniquement un serveur de fichiers:
Modifiez C: \ Windows \ System32 \ drivers \ etc \ hosts pour rediriger "Serveur" vers votre ordinateur local:
127.0.0.1 Server
Ajoutez la valeur de Registre multi-chaînes suivante à HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0 pour autoriser la transmission des informations d'identification au chemin UNC local:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\
BackConnectionHostNames = Server
Créez un répertoire factice qui servira de racine du serveur:
set DUMMY_LOC=C:\Server_Dummy
mkdir %DUMMY_LOC%
cd /D %DUMMY_LOC%
Pour chaque chemin UNC que vous souhaitez diriger vers le vrai serveur:
rem Alternatively you can use an IP below, but it is more likely to break if DNS changes
set SERVER_FQDN=Server.network.blah.com
rem Take a look at what's available...
net view \\%SERVER_FQDN%\
mklink /D Remote_Example \\%SERVER_FQDN%\Remote_Example
net share Remote_Example=%DUMMY_LOC%\Remote_Example /grant:everyone,FULL
Pour chaque partage UNC que vous souhaitez définir localement (par exemple, Utilisateurs):
rem The link isn't really necessary for the share, I just find it easier to manage when all of these hacks are in the same directory
mklink /D Users C:\Users
net share Users=%DUMMY_LOC%\Users /grant:everyone,FULL
Redémarrage
Pour l'exemple, cela permettrait de résoudre les chemins UNC suivants:
\\Server\Remote_Example => \\Server.network.blah.com\Remote_Example
\\Server\Users => C:\Users
Cette résolution de chemin doit avoir lieu avant les mappages de lecteurs. Tant que les chemins UNC associés aux mappages sont valides (qu'ils soient locaux ou distants), les lettres de lecteur doivent se comporter comme prévu.
Par exemple, dans ma configuration, les variables suivantes sont forcées par le domaine:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
Mais à cause de mes correspondances, le résultat est:
G: => \\Server\Users\username => C:\Users\username