Profili di rete: ecco qualche script per facilitare le cose

Qual'è la cosa che al giorno d'oggi su un computer non ne possiamo proprio fare a meno? Sbagliato... non è Facebook. Si tratta ovviamente della rete. Chi fa uso di dispositivi portatili: come laptop, conosce il disagio causato dal trovarsi connesso ad una rete con i parametri TCP/IP errati, perchè riferiti ad un'altra rete. E il DHCP in molti casi non ci toglie questo problema dal groppone. Se ci serve un IP statico preciso o il DHCP è configurato a regola d'arte oppure non ce ne facciamo niente.
Pensate a quei 2 minuti persi per entrare nel menù della scheda di rete e modificare IP, gateway, DNS. Ebbene io ora vi dico che tutto questo sta per finire 😀

Premetto che esistono moltissimi programmi che creano profili per le schede di rete ( ad esempio Intel Proset/Wireless ). Ma voi sapete quanto io sia riluttante ad installare software inutile che funzioni ininterrottamente in background quando il sistema operativo ci dà nativamente tutti gli strumenti per risolvere il problema. 🙂

Quindi ecco due soluzioni. L'una vale l'altra. La prima è una soluzione basata su VBScript. Per l'occasione ho rispolverato le mie conoscenze su questo linguaggio di scripting. L'altra invece si basa su netsh, un'utilità di sistema, disponibile dalla cmd di Windows. Vediamole:

VBScript is the way!!!

L'archivio rar che trovate qui sotto contiene due file vbs, dhcp.vbs e static.vbs. Prima di eseguirli dovete ovviamente impostare i parametri desiderati.

dhcp-and-static-vbs-script (2927 download )

La prima cosa che vi serve è il nome della scheda di rete a cui applicare lo script. Questo lo potete trovare in "Pannello di controllo -> Centro di connessioni di rete e condivisione -> Modifica impostazioni scheda ( menù a sinistra )". Prendete il nome corretto, come nella foto. Lo script funziona con il nome della scheda di rete, non con quello della connessione.

Apriamo il file dhcp.vbs con un editor di test qualsiasi ( Notepad++, non mi stuferò mai di far pubblicità a questo software 😀 ) ed inseriamo il nome della scheda al posto di "HERE THE NAME" in questo blocco:

' EDIT THIS VALUE IF YOU WANT TO CHANGE NETWORK CARD NAME
dim interfaceName
interfaceName = "HERE THE NAME" ' network card's name

Il DHCP è ok. Passiamo ora al file static.vbs.
Qui dovremmo inserire, nome scheda, indirizzo ip, subnet mask, gateway, DNS ( primario e, opzionale, il secondario ).

' EDIT THESE VALUES IF YOU WANT TO CHANGE NETWORK CARD SETTINGS
dim interfaceName, strIPAddress, strSubnetMask, strGateway, strGatewayMetric, strDNS
interfaceName = "HERE THE NAME" 'network card's name
strIPAddress = Array("192.168.1.2") ' ip address
strSubnetMask = Array("255.255.255.0") ' subnetmak
strGateway = Array("192.168.1.1") ' gateway address
strGatewayMetric = Array(1) ' don't touch
strDNS = Array("212.216.112.112", "208.66.222.222") ' dns address array

Facendo doppio click sul file dhcp.vbs la scheda di rete da voi scelta sarà impostata su modalità DHCP ( IP e DNS ). Un popup vi confermerà che il dhcp è stato attivato.
Il secondo file, static.vbs, una volta eseguito imposterà la scheda su IP statico. Anche in questo caso sarete notificati da un popup sull'effettiva modifica.

Per gestire più reti vi basterà salvare lo stesso file con parametri diversi. Con un semplice doppio click varierete le impostazioni della scheda di rete secondo le vostre esigenze. 😉

I due script dovrebbero funzionare anche su Windows XP e Windows Vista.

netsh, un po' meno geek ma ugualmente efficace

Oltre agli script vbscript che ho creato, i parametri delle schede di rete si possono modificare utilizzando i comandi netsh. Dato che per effettuare un settaggio completo dovremmo dare più comandi netsh, per velocizzare l'operazione utilizzeremo un file batch ( estensione .bat ).
Creiamo quindi un file chiamandolo ad esempio dhcp-wifi.bat e all'interno scriviamo le seguenti stringhe:

netsh interface ipv4 set address name="Connessione rete wireless" source=dhcp
netsh interface ipv4 set dns name="Connessione rete wireless" source=dhcp
netsh set wins name="Connessione rete wireless" source=dhcp

IMPORTANTE: A differenza dello script da me scritto, netsh vuole il nome della connessione, e non quello della scheda.

Per configurare la scheda in modalità statica creiamo un file static-wifi.bat ( ad esempio ) e scriviamo:

netsh interface ipv4 set address name="Connessione rete wireless" source=static addr=192.168.1.5 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0
netsh interface ipv4 set dns "Connessione rete wireless" static 193.70.152.25 Primary
netsh add dns "Connessione rete wireless" addr=208.67.222.222 index=2

Quello sopra è un esempio, inserite i vostri valori di ip, mask gateway. Il secondo comando associa all'indirizzo 193.70.152.25 il DNS primario ( Libero DNS, in questo caso ), mentre il terzo comando inserisce un indirizzo DNS secondario ( OpenDNS ).
Anche qui, doppio click ed il gioco è fatto. 😉

Spero di esservi stato utile, e di avervi fatto risparmiare tempo.

P.S.
La voglia di trovare una soluzione a questo "problemuccio" mi è nata dopo un'incazzatura. Ogni volta che sposto il portatile mi toccava sta lì a modificare tutti i parametri. Una cosa insopportabile.