Eu tenho um programa em um computador remoto que eu corro e se eu mudar a rede, especificando outro gateway e endereço dns no adaptador proprietes o programa funciona como de costume, nenhum problema irá ocorrer.
No entanto, quando faço a comutação de rede a partir da linha de comando, como segue:
netsh int ip set address "Local Area Connection" static 169.254.144.10 255.255.255.0 169.254.144.200 1
netsh int ip set dns "Local Area Connection" static 169.254.144.200 primary validate=no
Ele fará o programa parar no windows 8, no windows 7 ele funcionará normalmente até você tentar sair da janela, só então ele dirá que não está respondendo.
Eu tentei descarregar a configuração e restaurá-la ( netsh interface dump
e netsh exec dumpfile.dat
), mas não consegui testar esse método, pois no arquivo despejado não há menção de gateway ou dns - não tenho ideia do porquê não está incluído lá como isso é essencial ...
Testei esse comportamento em mais computadores. Para mim, parece que a mudança por comandos é de alguma forma mais oportuna, como quando eu executo o script com os comandos acima, vejo alguns ícones relacionados on-line na minha barra de tarefas desligados e depois reconectados. Quando eu faço o interruptor com a mão, eles nem piscam. Suponho que o mapeamento da unidade seja desconectado por um momento e é por isso que o programa trava ...
Então, qual é a diferença entre mudar a rede "manualmente" e pelo comando netsh? Como mudar de comando para conseguir o switch da mesma maneira?
O programa tem uma interface de usuário de texto, aberta na janela de comando. Ele precisa ser executado a partir de uma unidade mapeada, pois o cmd não suporta caminhos UNC.
Os detalhes quando é interrompido:
Problem signature:
Problem Event Name: InPageError
Error Status Code: c000020c
Faulting Media Type: 00000000
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1048
Additional Information 1: 9189
Additional Information 2: 9189fca27356e4825c153d6761541c45
Additional Information 3: 5c2b
Additional Information 4: 5c2b4817a0e33e756d6f79da7728e015
O computador remoto é um servidor do Windows 2008, mas estou executando o programa localmente.
Meu dumpfile:
#========================
# Interface configuration
#========================
pushd interface
popd
# End of interface configuration
# ----------------------------------
# IPHTTPS Configuration
# ----------------------------------
pushd interface httpstunnel
reset
popd
# End of IPHTTPS configuration
# ----------------------------------
# IPv4 Configuration
# ----------------------------------
pushd interface ipv4
reset
set global icmpredirects=enabled
add route prefix=0.0.0.0/0 interface="Local Area Connection" nexthop=169.254.144.200 metric=1 publish=Yes
add address name="VirtualBox Host-Only Network" address=192.168.56.1 mask=255.255.255.0
add address name="VMware Network Adapter VMnet1" address=192.168.6.1 mask=255.255.255.0
add address name="VMware Network Adapter VMnet8" address=192.168.111.1 mask=255.255.255.0
add address name="Local Area Connection" address=169.254.144.155 mask=255.255.255.0
popd
# End of IPv4 configuration
# ----------------------------------
# IPv6 Configuration
# ----------------------------------
pushd interface ipv6
reset
set interface interface="Teredo Tunneling Pseudo-Interface" forwarding=disabled advertise=disabled mtu=1280 metric=0 siteprefixlength=0 nud=disabled routerdiscovery=disabled managedaddress=disabled otherstateful=disabled weakhostsend=disabled weakhostreceive=disabled ignoredefaultroutes=disabled advertisedrouterlifetime=0 advertisedefaultroute=disabled currenthoplimit=0 forcearpndwolpattern=disabled enabledirectedmacwolpattern=disabled
popd
# End of IPv6 configuration
# ----------------------------------
# ISATAP Configuration
# ----------------------------------
pushd interface isatap
popd
# End of ISATAP configuration
# ----------------------------------
# 6to4 Configuration
# ----------------------------------
pushd interface 6to4
reset
popd
# End of 6to4 configuration
# ----------------------------------
# ISATAP Configuration
# ----------------------------------
pushd interface isatap
popd
# End of ISATAP configuration
#========================
# Port Proxy configuration
#========================
pushd interface portproxy
reset
popd
# End of Port Proxy configuration
# ----------------------------------
# TCP Configuration
# ----------------------------------
pushd interface tcp
reset
set global rss=enabled chimney=automatic autotuninglevel=normal congestionprovider=none ecncapability=disabled timestamps=disabled netdma=enabled dca=enabled
Dump has failed when retreiving chimneyapplication settings.
Dump has failed when retreiving chimneyapplication settings.
Dump has failed when retreiving chimneyapplication settings.
Dump has failed when retreiving chimneyapplication settings.
popd
# End of TCP configuration
# ----------------------------------
# Teredo Configuration
# ----------------------------------
pushd interface teredo
set state type=client servername=teredo.ipv6.microsoft.com. servervirtualip=0.0.0.0
popd
# End of Teredo configuration
# ----------------------------------
# 6to4 Configuration
# ----------------------------------
pushd interface 6to4
reset
popd
# End of 6to4 configuration