venerdì 18 settembre 2009

Batch per impostare IP su WinXP

questo script permette l'impostazione degli ip statici o dinamici su winXP con un semplice click e tre scelte:
  1. IP statico preimpostato
  2. DHCP
  3. IP Statico da impostare
Avendo un pò di esperienza di programmazione, la prima opzione si può replicare in modo da ottenere molteplici IP statici preimpostati.



lo script è semplicissimo e utilizza il comando windows "netsh" che probabilmente funziona anche con Windows Vista:

@ECHO OFF
CLS
:LOOP
ECHO Scegli come configurare la rete:
ECHO – A per l'IP statico preimpostato
ECHO – B per la rete DHCP
ECHO – C inserisci IP statico
ECHO – Q per terminare

REM “SET /P” per definire la variabile in base all’input dell’utente

SET Choice=
SET /P Choice=Scrivi la lettera e premi ENTER:

REM Estraggo la scelta prendendo una stringa lunga 1 carattere
REM a partire dalla posizione 0

IF NOT ‘%Choice%’==” SET Choice=%Choice:~0,1%
ECHO.

REM Uso /I perchè la scelta sia case insensitive

IF /I ‘%Choice%’==’A’ GOTO ItemA
IF /I ‘%Choice%’==’B’ GOTO ItemB
IF /I ‘%Choice%’==’C’ GOTO ItemC
IF /I ‘%Choice%’==’Q’ GOTO End

ECHO Hai scelto “%Choice%”: non ci siamo, le scelte sono A, B o Q. Vedi sopra.
ECHO.

GOTO Loop

:ItemA
REM “SET /P” per definire la variabile in base all’input dell’utente
set varip=10.10.10.100
set varsm=255.255.255.0
set vargw=10.10.10.1
set vardns1=10.10.10.1
set vardns2=10.10.10.1
ECHO Sto configurando IP e Subnet Mask
netsh int ip set address name = "Connessione alla rete locale (LAN)" source = static addr = %varip% mask = %varsm%

ECHO Sto configurando il Gateway
netsh int ip set address name = "Connessione alla rete locale (LAN)" gateway = vargw% gwmetric = 1

ECHO Sto configurando il Primary DNS
netsh int ip set dns name = "Connessione alla rete locale (LAN)" source = static addr = %vardns1%

ECHO Sto configurando il Secondary DNS
netsh int ip add dns name = "Connessione alla rete locale (LAN)" addr = %vardns2%

GOTO Again

:ItemB
ECHO Sto configurando la rete via DHCP
netsh int ip set address name = "Connessione alla rete locale (LAN)" source = dhcp
netsh int ip set dns name = "Connessione alla rete locale (LAN)" source = dhcp
GOTO Again

:ItemC

set varip=
set /P varip=Scegli indirizzo IP X.X.X.X e premi ENTER:
set varsm=
set /P varsm=Scegli SubnetMask S.S.S.S e premi ENTER:
set vargw=
set /P vargw=Scegli Default Geteway G.G.G.G e premi ENTER:
set vardns1=
set /P vardns1=Scegli DNS Primario D1.D1.D1.D1 e premi ENTER:
set vardns2=
set /P vardns2=Scegli DNS Secondario D2.D2.D2.D2 e premi ENTER:


ECHO Sto configurando IP e Subnet Mask
netsh int ip set address name = "Connessione alla rete locale (LAN)" source = static addr = %varip% mask = %varsm%

ECHO Sto configurando il Gateway
netsh int ip set address name = "Connessione alla rete locale (LAN)" gateway = %vargw% gwmetric = 1

ECHO Sto configurando il Primary DNS
netsh int ip set dns name = "Connessione alla rete locale (LAN)" source = static addr = %vardns1%
ECHO Sto configurando il Secondary DNS
netsh int ip add dns name = "Connessione alla rete locale (LAN)" addr = %vardns2%

GOTO Again

:Again
PAUSE
CLS
GOTO Loop
:End

Basta copiare tutto in un file di testo e rinominare il file con estensione .bat (eg. "ipconfig.bat"). Sono invece da modificare i valori per l'opzione A, e quindi l'IP statico preimpostato e il nome della scheda di rete (in questo caso "Connessione alla rete locale (LAN)" con tanto di virgolette).

N.B. spero che blogspot non modifichi nessun carattere nel copia/incolla.

2 commenti:

fred ha detto...

attenzione che qualche riga è andata a capo e necessita di modifica una volta incollato tutto nel notepad!
ciao e grazie!

Anonimo ha detto...

ho provato a correggere...adesso dovrebbe essere apposto...
grazie per la segnalazione...
se ci sono altri probl, posso mandare il mio file testato e funzionante!"!