A continuación hay algunos trucos que he desarrollado. No son elegantes, pero pueden ser funcionales en su entorno corporativo.
HOMEDRIVE Only
Parece que muchas aplicaciones solo usan HOMEDRIVE / HOMEPATH. En ese caso, puede crear una secuencia de comandos de inicio que reasigne la letra de la unidad base a su ruta de usuario local a través de la ruta de administración de la unidad UNC:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
net use g: /delete
net use g: \\localhost\C$\Users\username
HOMEDRIVE Local predeterminado
Si no necesita acceder a "Servidor" por su nombre, puede hacer que la configuración de la directiva de grupo falle y vuelva a su máquina local. La forma más fácil de hacer esto es agregar una entrada a C: \ Windows \ System32 \ drivers \ etc \ hosts como:
127.0.0.1 Server
Después de reiniciar, debería ver algo como:
set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\username
HOMEDRIVE / SHARE con rutas UNC híbridas locales / remotas
Si desea acceder al "Servidor" por nombre para algunas rutas UNC, pero anula otras con rutas locales, he desarrollado la siguiente abominación. Nota: las conexiones directas del servidor al "Servidor" aún se resolverán en su máquina local. Recomiendo esta solución solo si "Servidor" es solo un servidor de archivos:
Modifique C: \ Windows \ System32 \ drivers \ etc \ hosts para redirigir "Servidor" a su máquina local:
127.0.0.1 Server
Agregue el siguiente valor de registro de cadenas múltiples a HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0 para permitir que las credenciales se pasen a la ruta UNC local:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\
BackConnectionHostNames = Server
Cree un directorio ficticio que servirá como raíz del servidor:
set DUMMY_LOC=C:\Server_Dummy
mkdir %DUMMY_LOC%
cd /D %DUMMY_LOC%
Para cada ruta UNC que desee dirigir al servidor real:
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
Para cada recurso compartido UNC que desee definir localmente (como Usuarios):
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
Reiniciar
Por ejemplo, esto permitiría resolver las siguientes rutas UNC:
\\Server\Remote_Example => \\Server.network.blah.com\Remote_Example
\\Server\Users => C:\Users
Esta resolución de ruta debe ocurrir antes de las asignaciones de unidades. Siempre que las rutas UNC asociadas con las asignaciones sean válidas (ya sean locales o remotas), las letras de unidad deben comportarse como se espera.
Por ejemplo, en mi configuración, las siguientes variables son forzadas por el dominio:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
Pero debido a mis asignaciones, el resultado es:
G: => \\Server\Users\username => C:\Users\username