Chi come me usa un computer portatile fornito dall’azienda per lavoro, ha spesso la necessità di modificare al volo le impostazioni di rete.
Qualche anno fa, prima di diventare un consulente, lavoravo come amministratore di rete per la stessa società in cui lavoro oggi.
Le richieste di aiuto più frequenti erano legate alla impossibilità di navigare sulla rete. Nella maggior parte dei casi passavo ore al telefono spiegando cosa fare per cambiare indirizzo IP, DNS, Proxy, …
Senza considerare poi che quasi tutti i consulenti “vorrebbero” utilizzare il portatile sdraiati sul divano davanti la tv con la scusa di “lavorare da casa”.
Oggi esistono tanti programmi in grado di modificare in tempo reale le impostazioni di rete ma qualche anno fa trovare una soluzione completa non era facile.
Di seguito vi presento due script in VB Script che ho scritto velocemente nel mio tempo libero e che aiutano l’utente a modificare le impostazioni di rete senza dover installare programmi sul portatile.
Change IP
Il primo script si chiama Change IP ed implementa un piccolo tool che raccoglie le preferenze dell’utente e le salva in un file di input compatibile con netsh (network shell).
netsh è una utilità di windows eseguibile dalla console che consente di modificare tutti i parametri di rete che normalmente vengono gestiti tramite le proprietà della periferica ovvero tramite il pannello di controllo.
Dopo aver salvato il file di input (con estensione .conf), viene creato un link a netsh sul desktop.
Basta richiamare il link (con privilegi di amministratore) per cambiare al volo le impostazioni di rete.
Nonostante fosse possibile fare a meno di netsh impiegando solo codice vbscript, scelsi questa soluzione perchè non avevo molto tempo da dedicare allo sviluppo e volevo dare all’utente la possibilità di spostare le preferenze di rete da un portatile ad un altro senza per forza dover utilizzare il codice vbs.
Per chi deve gestire una rete questo approccio torna comodo perché basta creare il file di input una sola volta per poi distribuirla su tutti i portatili aziendali.
Cosa fa il codice sorgente
Lo script si limita a catalogare le risorse di rete disponibili e raccogliere le preferenze espresse dall’utente inserendole in un file di testo con estensione .conf.
Per enumerare le periferiche di rete viene richiamato il comando netsh:
netsh interface ip show config
E questo è un esempio del risultato:
Configurazione per l’interfaccia “Connessione alla rete locale (LAN)”
DHCP abilitato: Sì
MetricaInterfaccia: 0
Server DNS configurati tramite DHCP: Nessuno
Server WINS configurati tramite DHCP: 10.0.0.20
10.0.0.130
Registratore con suffisso: Solo primario
Configurazione per l’interfaccia “Connessione rete senza fili”
DHCP abilitato: Sì
MetricaInterfaccia: 0
Server DNS configurati tramite DHCP: Nessuno
Server WINS configurati tramite DHCP: Nessuno
Registratore con suffisso: Solo primario
Di seguito riporto per comodità un esempio di file conf creato tempo fa per connettermi ad modem ethernet dotato di bootloader adam2:
#————————————————–
# Change IP 1.1 by vittorio benintende
#
# Questo file è stato generato automaticamente.
# Non modificarlo!!!
#
# Per informazioni scrivere a:
# vittorio.@lucullo.it
#————————————————–
# Configurazione IP interfaccia Connessione alla rete locale (LAN)
pushd interface ip
set address name = “Connessione alla rete locale (LAN)” source = static addr = 10.0.0.1 mask = 255.255.255.0
set dns name = “Connessione alla rete locale (LAN)” source = static
set wins name = “Connessione alla rete locale (LAN)” source = static
popd
# Termine della configurazione IP interfaccia
Change Proxy
Il secondo script si comporta in modo differente. Questa volta viene demandato al programma di salvare le preferenze dell’utente in un file (sempre con estensione .conf) e di modificare le chiavi di registro per rendere effettive le modifiche necessarie.
Le informazioni gestite con questo piccolo tools sono le stesse raggiungibili tramite l’icona Opzioni Internet ovvero Internet Explorer (Strumenti > Opzioni Internet).
All’avvio dello script un apposito menu guida l’utente tra le varie opzioni.
Le impostazioni relative alla connessione con il proxy vengono tenute nel file di registro di windows e sono reperibili tramite il comando regedit al seguente percorso:
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
VB script ed antivirus
Mi è capitato di notare che alcuni antivirus (vedi ad esempio Norton AV) inibiscono l’esecuzione degli script.
Qualora ci fossero problemi in tal senso il mio consiglio è quello di impostare l’av in modo da consentirne l’esecuzione piuttosto che disattivare il programma di scansione residente in memoria.
Sorgenti
Network Manager 1.1
Per saperne di più
Il comando netsh
Impostare il proxy in MS Windows