Abaixo estão alguns hacks que eu desenvolvi. Eles não são elegantes, mas podem ser funcionais em seu ambiente corporativo.
HOMEDRIVE Apenas
Parece que muitos aplicativos usam apenas HOMEDRIVE / HOMEPATH. Nesse caso, você pode criar um script de inicialização que remapeie a letra da unidade base para o caminho do usuário local por meio do caminho de administração da unidade UNC:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\Server\Users\username
net use g: /delete
net use g: \localhost\C$\Users\username
HOMEDRIVE Padrão local
Se você não precisar acessar "Servidor" pelo nome, poderá fazer com que a configuração da política de grupo falhe e retorne à sua máquina local. A maneira mais fácil de fazer isso é adicionar uma entrada ao C: \ Windows \ System32 \ drivers \ etc \ hosts como:
127.0.0.1 Server
Após a reinicialização, você verá algo como:
set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\username
HOMEDRIVE / SHARE com Caminhos UNC Híbridos Locais / Remotos
Se você quiser acessar "Servidor" por nome para alguns caminhos UNC, mas substituir outros por caminhos locais, desenvolvi a seguinte abominação. Nota: as conexões diretas do servidor para "Servidor" ainda serão resolvidas para sua máquina local. Eu recomendo esta solução somente se "Servidor" for apenas um servidor de arquivos:
-
Modifique C: \ Windows \ System32 \ drivers \ etc \ hosts para redirecionar "Servidor" para sua máquina local:
127.0.0.1 Server
-
Adicione o seguinte valor de registro Multi-String a HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0 para permitir que as credenciais sejam passadas para o caminho UNC local:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\ BackConnectionHostNames = Server
-
Crie um diretório fictício que servirá como a raiz do servidor:
set DUMMY_LOC=C:\Server_Dummy mkdir %DUMMY_LOC% cd /D %DUMMY_LOC%
-
Para cada caminho UNC que você deseja direcionar ao 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 compartilhamento UNC que você deseja definir localmente (como Usuários):
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
-
Reinicializar
Para o exemplo, isso permitiria que os seguintes caminhos UNC fossem resolvidos:
\Server\Remote_Example => \Server.network.blah.com\Remote_Example
\Server\Users => C:\Users
Esta resolução de caminho deve ocorrer antes dos mapeamentos de unidade. Desde que os caminhos UNC associados aos mapeamentos sejam válidos (sejam locais ou remotos), as letras de unidade devem se comportar conforme o esperado.
Por exemplo, na minha configuração, as seguintes variáveis são forçadas pelo domínio:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\Server\Users\username
Mas devido aos meus mapeamentos, o resultado é:
G: => \Server\Users\username => C:\Users\username