Perguntas #1 – Ativando DHCP em uma conexão

Vez ou outra me deparo com esse tipo de pergunta:

Pergunta

Olá, Vinícius

Gostaria de saber como fazer para obter ip automático das conexões de redes do notebook

Estou usando este script.vbs mas ele só altera a conexão da rede local (cabo rj45) mas a conexão da wireless e a outra complemento da wireless não muda e obtem apenas o ip: 0.0.0.0 e a mascara 255.0.0.0, o dns não fica automatico.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _ 
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strDNS=array()

For Each objNetAdapter In colNetAdapters 
    errEnable = objNetAdapter.EnableDHCP() 
    objNetAdapter.SetDNSServerSearchOrder strDNS

Observação: uso duas conexões com ip’s diferentes em casa e no trabalho e quando vou pra faculdade precisa zerar tudo para ip automático para alcançar o wireless.

veja o código que uso para casa e trabalho, mundando, claro as cadeias de ips.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colNetAdapters = objWMIService.ExecQuery _ 
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 
strIPAddress = Array("10.4.0.149") 
strSubnetMask = Array("255.255.255.0") 
strGateway = Array("10.4.0.240") 
strGatewayMetric = Array(1) 
strDNS = Array("10.4.0.240")

For Each objNetAdapter in colNetAdapters 
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) 
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric) 
objNetAdapter.SetDNSServerSearchOrder strDNS 
If errEnable = 0 Then 
WScript.Echo "O endereco IP foi alterado com sucesso !" 
Else 
WScript.Echo "Ocorreu um erro! O endereco IP não foi alterado..." 
End If 
Next

Aguardando. Muito grato !

Resposta

Simples e direto:

netsh int ip set addr "Local Area Connection" dhcp

ou ainda

netsh interface ip set address "Local Area Connection" dhcp  # muda para o DHCPnetsh int ip set addr lan static 192.168.1.50 255.255.255.0 192.168.1.1 1 # muda para ip estáticonetsh /?

Análise

Há normalmente mais de uma forma de resolver o problema. Pondere sempre todas as alternativas. No caso acima, a solução via CMD é muito, mas muito mais simples.

Vou procurar responder as melhores dúvidas. Entendo por melhores dúvidas as que forem realmente interessantes, que me chamem a atenção. Além do mais, a pergunta deve ser bem escrita (odeio frases sem sentido) e, acima de tudo, que o autor tenha a boa vontade de procurar em um site de busca antes de mandar para meu endereço. =)

As perguntas e respostas estarão identificadas pela tag Perguntas e Respostas.

Até a próxima!

Categorias dessa postagem: , ,

Comentários

Adelmo : NO windows 7 funciona? gostei muito do script, mas rodo no7 e nada o que tenho que fazer??? [2/6/10 07:15 - link]