Auto-configurando redes wireless pelo SSID
|
|
Sunday, 22 April 07 - 12:10 AM (GMT) By Victor Bathke in wireless |
|
Por Victor Augusto Bathke
A não ser que você seja sortudo que só frequenta redes wireless com DHCP funcionando, quem possuí um notebook com Windows XP equipado com wi-fi sabe o quanto é chato ter que configurar o IP da máquina pelo Painel de Controle cada vez que troca de rede wireless. Quem frequenta até quatro redes em um único dia como eu certamente consegue ficar irritado com isso.
Assim andei pesquisando o que poderia ser feito para que minhas configurações se adaptassem sem qualquer intervenção minha. Como resultado da pesquisa escrevi uma adaptação do script escrito pelo "Beetle" apresentado no Shmoocon. O script encontra o SSID das redes ao alcance, assim quando um SSID que desejo estiver disponível o script atriburá a configuração de rede correspondente.
Interessou-se? Basicamente o que deve ser feito é escrever as configurações das redes que você frequenta nos blocos de ifs do código em VBScript a seguir.
on error resume next
set objSWbemServices = GetObject("winmgmts:\\.\root\wmi")
set colInstances = objSwbemServices.ExecQuery("SELECT * FROM MSNDis_80211_BSSIList")
for each obj in colInstances
if left(obj.InstanceName, 4) <> "WAN " and right(obj.InstanceName, 8) <> "Miniport" then
for each rawssid in obj.Ndis80211BSSIList
ssid = ""
for i=0 to ubound(rawssid.Ndis80211SSid)
decval = rawssid.Ndis80211Ssid(i)
if (decval > 31 AND decval < 127) then
ssid = ssid & Chr(decval)
end if
next
next
'Deste local em diante você deve adaptar com suas configurações de rede
'Mude o que está em negrito
'Não esqueça de consertar as quebras de linha!
'Rede configurada manualmente
if ssid = "ssidDaRede1" then
CreateObject("Wscript.Shell").Run("netsh int ip set address name=""nomeDaConexaoWireless"" source=static 192.168.1.4 255.255.255.0 192.168.1.1 1"), 2 ,true
CreateObject("Wscript.Shell").Run("netsh int ip set dns ""nomeDaConexaoWireless"" static 192.168.1.1"), 2 ,true
Exit For
end if
'Rede configurada com DHCP
if ssid = "ssidDaRede2" then
CreateObject("Wscript.Shell").Run("netsh int ip set address name=""nomeDaConexaoWireless"" source=dhcp"), 2 ,true
CreateObject("Wscript.Shell").Run("netsh int ip set dns ""nomeDaConexaoWireless"" dhcp"), 2 ,true
Exit For
end if
end if
next 1"), 2 ,true
Para finalizar salve o script com o nome ssidSetNetwork.vbs, coloque este script no menu Inicializar/Starup e seja livre.
... More items are available in my News Archive