Como alterar a configuração dos interfaces de rede do Windows, programaticamente?

Em algumas situações excepcionais é necessário alterar a configuração dos interfaces de rede do Windows frequentemente.

Por exemplo:

  1. Um portátil que use um endereço IP fixo numa organização, e outro noutra organização, mas o utilizador não controla a atribuição automática de endereços IP via DHCP, (caso contrário o portátil usaria sempre DHCP para obter endereços IP, e seriam usadas reservas DHCP que atribuiriam os endereços IP fixos correctos em cada organização);
  2. Um portátil que, por um qualquer motivo excepcional, deva numa organização usar determinados servidores DNS para resolver nomes, diferente daqueles propostos pelo serviço DHCP, usando outra resolução DNS quando migra para outra organização. Este cenário é plausível durante migrações faseadas de utilizadores e máquinas para outro domínio Windows.

Nestes casos é possível criar batch scripts *.bat que reconfiguram os interfaces de rede, e executar esses scripts sempre que necessário.

Por exemplo, para configurar o interface denominado "Ethernet" para resolver DNS através dos servidores 172.16.6.200 e 172.16.6.199, o batch script deveria incluir os seguintes comandos (a executar com permissões de administrador):

netsh interface ipv4 set dns name="Ethernet" source=static address=172.16.6.200 register=none validate=no
netsh interface ipv4 add dnsserver name="Ethernet" address=172.16.6.199 index=2 validate=no

Para reconfigurar o mesmo interface "Ethernet" para resolver DNS através dos servidores propostos pela atribuição automática DHCP de endereços IP, poderíamos ter outro batch script com os seguintes comandos (a executar com permissões de administrador):

netsh interface ipv4 set dns name="Ethernet" source=dhcp

PS: Um agradecimento ao Luís Salgado <lmsalgado@lacticoop.pt> por esta informação.



Article ID: 94
Last updated: 30 Aug, 2024
Revision: 1
Administração de sistemas -> Windows -> Como alterar a configuração dos interfaces de rede do Windows, programaticamente?
https://kb.3gnt.net/index.php?View=entry&EntryID=94