Você pode executar um pequeno script depois de se conectar à outra rede. Primeiro, crie um script em lote:
ping -n 1 some.local.ip.addy
if errorlevel 1 goto :isremote1
cp /Y %WINDIR%\System32\Drivers\etc\hosts.local %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isremote1
ping -n 1 some.remote1.ip.addy
if errorlevel 1 goto :isremote2
cp /Y %WINDIR%\System32\Drivers\etc\hosts.remote1 %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isremote2
ping -n 1 some.remote2.ip.addy
if errorlevel 1 goto :isunknownnet
cp /Y %WINDIR%\System32\Drivers\etc\hosts.remote2 %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isunknownnet
cp /Y %WINDIR%\System32\Drivers\etc\hosts.public %WINDIR%\System32\Drivers\etc\hosts
goto :eof
Add as many more networks as you like to this file...
Altere some.XXXX.ip.addy
para um IP real em cada rede. Certifique-se de que seja algo que esteja sempre disponível (o IP do roteador funcionará bem, desde que responda a uma solicitação de PING).
Em seguida, crie um arquivo de hosts ( %WINDIR%\System32\Drivers\etc\hosts.XXX
) para cada rede e coloque o que precisar nele.
192.168.0.2 my-service.mynet.dyndns.org
192.168.0.3 my-service2.mynet.dyndns.org
Depois de ter este trabalho, você pode torná-lo automático usando o gerenciador de tarefas .