Home

"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 xlthlx
    xlthlx

    comodissimo, grazie di averne parlato 🙂

  2. Avatar Tambu

    bene. mi sono appena comprato il portatile e devo attaccarlo a 3 reti… ho installato un programma carrozzone per fare sto lavoro, che per� mi fa gi� schifo, ma questo cambia tutto 🙂

  3. Avatar silentman.it

    non si finisce mai di imparare! 🙂

  4. Avatar CyberGigi

    Davvero utilissimo questo articolo.
    Ad un mio amico che non sapeva come fare, gli insegnai a cambiare manualmente le impostazioni. 😀

  5. Avatar yellowpeppers

    oh.. e io che quasi pensavo fosse una leggenda metropolitana!!! GRAZIE :))

  6. Avatar ono-sendai
    ono-sendai

    esite un modo ugualmente “easy” per cambiare al volo il grupo di lavoro?

  7. Avatar bob

    te lo detto

    sei un informatico illuminista
    senza mezze misure
    cose della prima enciclopedia
    un amichevole fai da te

  8. Avatar Carlo
    Carlo

    veramente un comando utile.
    Gestire un portatile in 5 uffici � risultato molto pi� semplice… un doppio click e sono a posto!

    Perfetto!

  9. Avatar mario
    mario

    poich� ho la linea adsl con libero con um modem router mi da sempre lo stesso indirizzo IP e cio� 10.0.0.2 ma nn riesco a giocare in rete con un mio amico lui riesce a connettersi mentre io no ( il suo IP pur avendo la mia stessa linea ADSL ma con meodm diverso nn � come l’ho io) infine vorrei sapere come fare per cambiare il mio IP grazie mille

  10. Avatar Andrea
  11. Avatar Panfilo
    Panfilo

    Forse la tecnica che faccio seguire potrebbe essere equivalente ma per chi ha poca voglia di scrivere come me 🙂 risulta essere pi� veloce.
    Dopo avere configurato le popriet� del Protocollo Internet di Windows, aprire la finestra dei comandi DOS e digitare il comando:

    >netsh -c interface dump>configurazione_IP.txt

    tale comando crea un file configurazione.txt nella cartella indicata nel percorso dei comandi DOS. In tale fle vi sono tutte le info di configurazione IP (indirizzo IP, Netmask, Default Gateway, DNS e Wins). Ogni qual volta si vogliono caricare si pu� digitare il seguente comando

    >netsh -f configurazione_IP.txt

    Sal�t!

  12. Avatar Simone
    Simone

    Ottima chicca. Volevo sapere anche un’altra cosa: sempre con un file .bat � possibile configurare i parametri per la connessione internet attraverso la Lan? (server proxy, scrip di configurazione automatica, rileva automaticamente impostazioni, ecc…) Grazie in anticipo. Simone.

  13. Avatar Andrea

    Simone: tramite netsh puoi fare di tutto e di pi�.

  14. Avatar Simone
    Simone

    E quali righe di comando dovrei utilizzare?

  15. Avatar Simone
    Simone

    Ci ho gi� smanettato sopra a quel sito… Ma nn riesco a trovare nulla!

  16. Avatar Simone
    Simone

    Pronto???

  17. Avatar andrea
    andrea

    Prima di tutto grazie per i tuoi sempre ottimi e preziosi
    consigli, penso che nella procedura ip_statico.bat la riga giusta per il dns secondario sia:

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

  18. […] Per risolvere questo problema il buon Andrea Beggi aveva pubblicato un howto che facendo uso di netsh permetteva il salvataggio ed il ripristino delle configurazioni tramite file di testo, ma per la mia pigrizia era ancora troppo macchinoso. […]

  19. Avatar riccardo
    riccardo

    io ho il problema di gestire due IP su una stessa macchina…ma creando il file .bat l’utente (che come tale non ha gli stessi diritti dell’amministratore) non riesce a cambiare gli indirizzi IP.
    Naturalmente provando lato admin il tutto funziona regolarmente…
    potresti aiutarmi a risolvere il mio problema?
    grazie

  20. Avatar Andrea

    Riccardo: gli utenti non amministratori non hanno i privilegi sufficienti per modificare le impostazioni della scheda di rete. Ed � un bene. E’ cos� “by design”, non ci puoi fare molto, a meno di non modificare i permessi.

  21. Avatar Matteo

    Ciao a tutti,
    il mio problema �: si pu� riuscire ad utilizzare il comando netsh non conoscendo “interface ip set address name”?
    Ciao e grazie

  22. Avatar Dome
    Dome

    Argomento molto interessante, se posso propongo una curiosit� .
    scenario due reti:
    (rete A)scheda di rete con ip fisso classe IP C 192.168.x.y
    (rete B)scheda di rete con ip dinamico classe IP A 10.1.x.y l’assegnazione � con DHCP.
    E’ possibile nel momento in cui il sistema carica la configurazione di rete intercettare tale caricamento e scegliere la configurazione di rete opportuna?

  23. Avatar Emanuele
    Emanuele

    Ciao,ho letto la guida sulla netshell di windows abbastanza esaustiva ,…ma mi chiedevo se � possibile ottenere il nome della connessione utilizzata da un utente in remoto…anche perch� se un utente cambia il proprio nome della connessione non � pi� possibile applicare le modifiche alla scheda di rete tramite tale comando. Inoltre volevo sapere come posso andare a settare il proxy server di windows con tale comando o con un altro equivalente come proxycfg ad esempio…
    Grazie mille!
    Aspetter� con ansia notizie in merito,
    A presto.

  24. Avatar Andrea

    Emanuele, io non lo so. Prova con San Google.

  25. Avatar Mau
    Mau

    Ciao, di ringraziamenti te ne meriti una valigia. Passo al problema: ho un pc(A)con xp pro sempre connesso ad internet con connessione alice sul quale ho montato una scheda per connessioni wifi.In maniera esclusiva uso un portatile (B) con xp pro con cui navigo usando un getaway. Vorrei giocare con (B) in multiplayer ma ovviamente i pc dei miei amici non mi ‘vedono’ e con la maggioranza dei giochi io non ‘vedo’ loro. Assieme ad un amico abbiamo provato a smanettare con NAT ma con pochi risultati, potreste aiutarmi?

  26. Avatar andrea
    andrea

    ciao quondo faccio il file bath quando poi ritorno e avvio explorel non mi riconosce le nuove impostazioni come posso fare

  27. Avatar Matteo
    Matteo

    Vorrei configurare con degli indirizzi la LAN e con altri (diversi) la scheda WIRELESS.E’ possbile?Grazie!!

  28. Avatar Silvestro
    Silvestro

    Un grazie di cuore ad Andrea Beggi, e a tutti quelli che hanno aggiunto commenti (Panfilo ad esempio)
    ho utilizzato il comando netsh e lo trovo davvero fantastico!
    continuate così
    saluti
    Silvestro

  29. Avatar Salvatore
    Salvatore

    GRAZIE !!!!!
    Mi hai risolto un bel problema, visto che per lavoro devo spesso cambiare configurazione di rete.

  30. Avatar marco
    marco

    sto configurando il portatile per poterlo utilizzare in diverse reti senza dover maneggiare le proprietà di rete.

    sto testando le tue indicazioni preziosissime.
    una correzione:
    per cambiate il dns il comando corretto e’ :
    netsh interface ip set dns “nome della connessione” static x.x.x.x primary

    ciao e grazie per l’aiuto
    marco

  31. Avatar Eugenio
    Eugenio

    Grazie,
    davvero molto utile
    Ciao

  32. Avatar Carlomag
    Carlomag

    Grazie; suggerimento utilissimo. Vado con il mio portatile presso aziende diverse e, prima, era una pizza dover sistemare manualmente le connessioni.
    Ciao
    PS: lo hanno già segnalato anche altri, ma la riga del dns secondario deve essere scritta un po’ diversamente (hai fatto 30, …)
    Grazie di nuovo

  33. Avatar alam
    alam

    very important about netsh and tcp/ip, thanks.

  34. Avatar Fabio
    Fabio

    difatti mi dà un problema nell’aggiungere il dns secondario.
    come si deve fare?

  35. Avatar EmanueleDG
    EmanueleDG

    W lo sviluppo del TCP/IP!
    La riga di comando corretta per aggiornare il DNS secondario su Windows XP è:
    netsh interface ip add dns NOMECONNESSIONE e.e.e.e index=2

  36. Avatar EmanueleDG
    EmanueleDG

    Ho creato un filetto batch di questo tipo, alcuni colleghi sono subito andati in tilt (!):

    echo off
    cls
    cd\
    cls
    echo Programma di configurazione della scheda Wireless per l’ufficio di Roma.
    echo —————————–
    echo Le impostazioni di “Connessione alla rete senza fili” verranno modificate nel pannello di controllo.
    pause
    netsh interface ip set address name=”Connessione alla rete locale (LAN)” source=static addr=a.a.a.a mask=255.255.255.0 gateway=c.c.c.c
    netsh interface ip set dns “Connessione alla rete locale (LAN)” static d.d.d.d Primary
    netsh interface ip add dns “Connessione alla rete locale (LAN)” e.e.e.e index=2
    pause
    exit

    ihihih

  37. Avatar Dino
    Dino

    Grazie mille, davvero utile e poi mi hai evitato una grossa “rogna” con qualcuno a me caro…
    Comuque ti scrivo per dirti che una volta creato il file.bat con le indicazioni da te forniteci non riesco a caricare il DNS alternativo.
    Sono ignorante perché non so bene a cosa serve visto che la rete funziona lo stesso però visto che c’era prima…sarà il caso di lasciarlo?

  38. Avatar Franco
    Franco

    Avendo due schede di rete vorrei poterne disabilitare una abilitando l’altra e viceversa con uno script. Hai qualche suggerimento? Grazie.

  39. Avatar RobyWan
    RobyWan

    Grande Grande Grande Grande Grande Grande Grande

  40. Avatar maurizio bronzetti
    maurizio bronzetti

    grazie per aver messo a disposizione queste specifiche mi hanno risolto un problema con un cliente.

  41. Avatar Motley Crue
    Motley Crue

    Miticoooooooooooooooooooooooooooo !!!!!!!!!!

    Thanks

  42. Avatar Giovanni
    Giovanni

    Ciao Andrea,
    grazie prima di tutto per le valide indicazioni.
    Io sto scrivendo un programmino che testa la presenza di una connessione di rete locale, quindi permette di ottenere un indirizzo IP mediante DHCP oppure mediante configurazione a manina dei valori, quindi perfettamente in linea con le indicazioni che dai.
    Uso il “netsh interface show interface” sia per ottenere il nome della connessione di rete che per testarne lo stato di abilitazione, guardando il campo “Admin State” (corretto?), che normalmente vedo Enabled. Per fare una prova sul mio PC ho provato a disabilitare la Local Area Connection dal pannello “Network and Dial-up connections” per vedere se sarebbe cambiato qualcosa (fisicamente si’, ovviamente non vedo piu’ la connessione di rete ed internet), ma rilanciando il netsh interface show interface vedo sempre Enabled nell’Admin State della riga della Local Area Connection. Sai perchè? Sbaglio qualcosa?
    Grazie mille

    Giovanni

  43. Avatar Andrea

    Un voto da uno a 10….30 e lode…grande

  44. Avatar fabio
    fabio

    netsh è veramente potente. con xp , dovendo gestire due connessioni diverse, una con dhcp e una statica è possibile lasciare la configurazione dhcp (ottieni automaticamente indirizzo) e settare i parametri statici dell’altra connessione nell’area configurazione manuale.
    è abbastanza rudimentale e limitato ma tuttavia funziona

  45. Avatar Emanuele
    Emanuele

    Per chi non ha tanta dimestichezza con file batch e righe di comando consiglio questo programma NETSETMAN (http://www.netsetman.com/) che nella versione Freeware può configurare fino a 5 profili di rete.

  46. Avatar Andrea

    Grande!!!
    E’ possibile anche settare il DNS alternativo

  47. Avatar graziano
    graziano

    Ho trovato quello che avevo bisogno
    spero di riuscire afarlo funzionare
    quello descritto è proprio il mio caso
    Grazie molte

  48. Avatar Corrado
    Corrado

    Ciao a tutti, il comando netsh è veramente figo, tuttavia aggiungo un altro livello di dubbio: ho due linee hdsl, 1 per navigazione, 1 per backup.
    Quando la linea di navigazione è giu’ (grazie Telecom…), sarebbe bellissimo poter lanciare da group policy di dominio uno script netsh per variare gli indirizzi dei client, tuttavia la variazione deve essere SOLO per il GATEWAY (ed evt. anche per i DNS), mentre gli indirizzi statici dovrebbero rimanere gli stessi….

  49. Avatar Marco
    Marco

    Ciao, è possibile lanciare netsh (o qualcosa d’altro) per vedere il gruppo (amministratori power user..) a cui appartiene l’utente attualmente in uso?
    Grazie Marco