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.
Commenti
57 risposte a “Netsh: un esempio di utilizzo”
comodissimo, grazie di averne parlato 🙂
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 🙂
non si finisce mai di imparare! 🙂
Davvero utilissimo questo articolo.
Ad un mio amico che non sapeva come fare, gli insegnai a cambiare manualmente le impostazioni. 😀
oh.. e io che quasi pensavo fosse una leggenda metropolitana!!! GRAZIE :))
esite un modo ugualmente “easy” per cambiare al volo il grupo di lavoro?
te lo detto
sei un informatico illuminista
senza mezze misure
cose della prima enciclopedia
un amichevole fai da te
veramente un comando utile.
Gestire un portatile in 5 uffici � risultato molto pi� semplice… un doppio click e sono a posto!
Perfetto!
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
Mario: eeeeeh?
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!
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.
Simone: tramite netsh puoi fare di tutto e di pi�.
E quali righe di comando dovrei utilizzare?
Simone:
http://www.google.it/search?q=netsh+site%3Amicrosoft.com
Ci ho gi� smanettato sopra a quel sito… Ma nn riesco a trovare nulla!
Pronto???
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
[…] 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. […]
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
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.
Ciao a tutti,
il mio problema �: si pu� riuscire ad utilizzare il comando netsh non conoscendo “interface ip set address name”?
Ciao e grazie
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?
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.
Emanuele, io non lo so. Prova con San Google.
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?
ciao quondo faccio il file bath quando poi ritorno e avvio explorel non mi riconosce le nuove impostazioni come posso fare
Vorrei configurare con degli indirizzi la LAN e con altri (diversi) la scheda WIRELESS.E’ possbile?Grazie!!
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
GRAZIE !!!!!
Mi hai risolto un bel problema, visto che per lavoro devo spesso cambiare configurazione di rete.
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
Grazie,
davvero molto utile
Ciao
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
very important about netsh and tcp/ip, thanks.
difatti mi dà un problema nell’aggiungere il dns secondario.
come si deve fare?
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
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
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?
Avendo due schede di rete vorrei poterne disabilitare una abilitando l’altra e viceversa con uno script. Hai qualche suggerimento? Grazie.
Grande Grande Grande Grande Grande Grande Grande
grazie per aver messo a disposizione queste specifiche mi hanno risolto un problema con un cliente.
Miticoooooooooooooooooooooooooooo !!!!!!!!!!
Thanks
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
Un voto da uno a 10….30 e lode…grande
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
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.
Grande!!!
E’ possibile anche settare il DNS alternativo
Ho trovato quello che avevo bisogno
spero di riuscire afarlo funzionare
quello descritto è proprio il mio caso
Grazie molte
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….
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