Andrea Beggi

"I'm brave but I'm chicken shit"

Netsh: un esempio di utilizzo

Netsh E’ un comando della shell che funziona sia in modalità interattiva che batch e permette di gestire tutte le impostazioni del networking di Windows.
Vediamo come utilizzare questo utile comando per automatizzare il cambio di indirizzo IP della scheda di rete.
Supponiamo di avere un portatile che debba lavorare in due diversi ambienti: in uno l’indirizzo IP viene servito da un server DHCP, quindi le impostazioni devono essere “Ottieni indirizzo IP automaticamente”, nell’altro ambiente di rete è necessario impostare tutti i parametri dell’IP in modo statico. Nesth ci viene in aiuto: è possibile creare due files batch per attivare le modifiche con un semplice doppio click.
Lanciamo un prompt dei comandi e come prima cosa procuriamoci il nome dell’interfaccia di rete, tramite il comando netsh interface show interface. Nella colonna Nome interfaccia identifichiamo il valore che ci serve, supponiamo che sia “Connessione alla rete locale (LAN)”.
Adesso creiamo un file dhcp.bat con il seguente contenuto:

netsh interface ip set address name="Connessione alla rete locale (LAN)" source=dhcp

netsh interface ip set dns name="Connessione alla rete locale (LAN)" source=dhcp

netsh set wins name="Connessione alla rete locale (LAN)" source=dhcp
(Vanno scritti su tre righe solamente)

L’ultima riga serve solo se la rete usa un servizio WINS.

Creiamo anche un file ip_statico.bat con:

netsh interface ip set address name="Connessione alla rete locale (LAN)" source=static addr=a.a.a.a mask=b.b.b.b gateway=c.c.c.c gwmetric=0

netsh interface ip set dns "Connessione alla rete locale (LAN)" static d.d.d.d Primary

netsh add dns "Connessione alla rete locale (LAN)" addr=e.e.e.e index=2
(Anche questi vanno scritti su tre sole righe)

dove:
a.a.a.a = indirizzo IP statico da assegnare
b.b.b.b = subnet mask
c.c.c.c = indirizzo del gateway
d.d.d.d = indirizzo del DNS primario
e.e.e.e = indirizzo del DNS secondario (se avete solo il primario, omettete questa riga)

A questo punto basta lanciare il .bat con la configurazione desiderata per cambiare al volo la configurazione della rete.


Pubblicato

in

da

Commenti

57 risposte a “Netsh: un esempio di utilizzo”

  1. Avatar KLEIN
    KLEIN

    Complimenti Andrea Beggi per i contenuti del tuo spazio web. A chi potesse essere utile volevo suggerire: http://www.milnersolutions.com/netprofiles/ consente di creare diversi profili di rete, ed è completamente freeware. Occorre installare il Framework .NET però…
    saluti KLEIN

  2. Avatar Andrea Melis

    Grande!
    Anche se il post a quasi 5 anni a fatto il suo dovere!

    A.

  3. Avatar oscar
    oscar

    ho settato il server proxy nel campo connessioni lan avanzate ma ogni volta che accendo il pc mi ritrovo scritto un’altro server proxy …quello che utilizzavo prima cioè il vecchio:perchè

  4. Avatar Silvio
    Silvio

    Grazie della guida. Ti segnalo però che per il DNS secondario ho dovuto usare questo comando:

    netsh interface ip add dns “Connessione alla rete locale (LAN)” addr=e.e.e.e index=2

  5. Avatar Simone7719
    Simone7719

    ho fatto un programmino che sfrutta netsh semplicissimo da usare cerco tester io ho modo di provarlo solo su Win7 e Win Vista il tutto funziona, in teoria funziona anche con XP e 2000 chi lo vuole provare mi contatti pure su [email protected] desidererei anche qualche consiglio su cosa posso aggiungere per migliorarlo grazie a tutti!
    CIAU!!!

  6. Avatar Carl077
    Carl077

    Salve a tutti

    Non riesco a fare uno script per abilitare una scheda e disabilitarne un’altra.
    Premesso che ho due interfacce:
    netsh interface show interface

    Stato admin Stato Tipo Nome interfaccia
    ————————————————————
    Disabilitato Disconnesso Dedicato Rete 100Mbps Lan
    Abilitato Connessione Dedicato Rete 1Gbps Wan

    Utilizzando ad esempio questo comando:
    netsh interface set interface name=”Rete 100Mbps Lan” admin=ENABLED
    Mi da questo errore:
    Nessuna interfaccia registrata sul router con questo nome.

    Dove sto sbagliando?

  7. Avatar emanuele
    emanuele

    Salve a tutti, avrei una domanda: come mai se provo a settare i dns con win7 mi dice che il comando non è valido?