@echo off
rem ###########################################################################
rem            Configuration IP automatique pour windows NT-2000-XP
rem               Laurent MOREAU - www.moreau-fr.net - Mars 2004
rem ###########################################################################
rem                                 PARAMETRES
rem ###########################################################################
rem  Specifier vos parametres dans les sections suivantes puis enregistrer
rem  ce fichier (en conservant son extension: "confipi.bat")
rem  Executer ensuite le script.
rem  Vous devez definir 4 parametres par section correspondant a:
rem  1- Ligne "adr" = Adresse IP que vous voulez assigner a votre interface
rem  2- Ligne "masq" = Masque de sous reseau correspondant a l'adresse specifiee
rem  3- Ligne "gate" = Adresse de la passerelle a utiliser
rem  4- Ligne "DNS1" = Adresse du serveur DNS a utiliser
rem  Remarque: vous n'etes pas obliges de completer toutes les sections, mais
rem  seulement celles dont vous comptez vous servir.
rem ###########################################################################
rem ----------------------
rem Section CHOIX A
rem ----------------------
set adr_a=0.0.0.0
set masq_a=0.0.0.0
set gate_a=0.0.0.0
set dns1_a=0.0.0.0
rem ----------------------
rem Section CHOIX B
rem ----------------------
set adr_b=0.0.0.0
set masq_b=0.0.0.0
set gate_b=0.0.0.0
set DNS1_b=0.0.0.0
rem ----------------------
rem Section CHOIX C
rem ----------------------
set adr_c=0.0.0.0
set masq_c=0.0.0.0
set gate_c=0.0.0.0
set dns1_c=0.0.0.0
rem ----------------------
rem Section CHOIX D
rem ----------------------
set adr_d=0.0.0.0
set masq_d=0.0.0.0
set gate_d=0.0.0.0
set dns1_d=0.0.0.0
rem ----------------------
rem Section CHOIX E
rem ----------------------
set adr_e=0.0.0.0
set masq_e=0.0.0.0
set gate_e=0.0.0.0
set dns1_e=0.0.0.0
rem ----------------------
rem Section CHOIX F
rem ----------------------
set adr_f=0.0.0.0
set masq_f=0.0.0.0
set gate_f=0.0.0.0
set dns1_f=0.0.0.0
rem ----------------------
rem Section MAISON
rem ----------------------
set adr_m=192.168.0.3
set masq_m=255.255.255.0
set gate_m=192.168.0.1
set dns1_m=192.168.0.1
rem ----------------------
rem Section SLIS
rem ----------------------
set adr_s=172.16.0.200
set masq_s=255.255.0.0
set gate_s=172.16.0.1
set dns1_s=172.16.0.1
rem ----------------------
rem Section PINGOO
rem ----------------------
set adr_p=192.168.17.200
set masq_p=255.255.0.0
set gate_p=192.168.0.1
set dns1_p=192.168.0.1
rem ----------------------
rem Section IUFM
rem ----------------------
set adr_i=192.168.1.203
set masq_i=255.255.0.0
set gate_i=192.168.1.1
set dns1_i=192.168.0.1
rem ----------------------
rem Section EXTRANET
rem ----------------------
set adr_v=0.0.0.0
set masq_v=0.0.0.0
set gate_v=0.0.0.0
set dns1_v=0.0.0.0
rem ###########################################################################
rem
rem                  ! NE MODIFIER RIEN DANS CETTE SECTION !
rem
rem ###########################################################################
rem                             DEBUT de SCRIPT
rem ###########################################################################
@echo off
TITLE Configuration IP automatique [Laurent MOREAU - www.moreau-fr.net - 03/2004]
:DEBUT
set carte="LAN_1"
cls
rem -----------------------------------------------------------
rem Sauvegarde de la configuration d'origine
rem -----------------------------------------------------------
netsh -c interface ip dump > %TEMP%\LAN_1.txt
rem -----------------------------------------------------------
rem VERIFICATION si nom interface reseau = LAN
rem -----------------------------------------------------------
find "LAN_1" %TEMP%\LAN_1.txt > nul
if %ERRORLEVEL%==1 goto ERR_NOM
rem ###########################################################################
rem                                 MENU
rem ###########################################################################
@echo off
cls
:MENU
cls
color 0F
echo         ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo         º                                                            º
echo         º    CONFIGURATION IP AUTOMATIQUE pour WINDOWS NT-2000-XP    º
echo         º                                                            º
echo         ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo                          Bonjour cher(e) %USERNAME%
echo.
echo              Nous sommes le %date%, il est %time%
echo.
echo         ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo         º                                                            º
echo         º     (M) = MAISON     (A) = Perso A      (1) = INFOS        º
echo         º     (S) = SLIS       (B) = Perso B      (2) = TCP/IP       º
echo         º     (P) = PINGOO     (C) = Perso C      (3) = ROUTES       º
echo         º     (I) = IUFM       (D) = Perso D      (4) = STAT         º
echo         º     (V) = VISIO      (E) = Perso E      (R) = RESTAURER    º
echo         º     (H) = DHCP       (F) = Perso F      (Q) = QUITTER      º
echo         º                                                            º
echo         º                      (aide) = Aide                         º
echo         ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo.
set /P confnet=Faites votre choix (aide):
for %%r in (A B C D E F M S P I V H 1 2 3 4 Q R aide) do if /i %confnet%==%%r goto %%r
echo.
echo Option est invalide !
echo.
goto AIDE
rem ###########################################################################
rem                                   CORPS
rem ###########################################################################
rem -----------------------------------------------------------
rem PASSAGE DES PARAMETRES
rem -----------------------------------------------------------
:A
set adresse=%adr_a%
set masque=%masq_a%
set gate=%gate_a%
set dns1=%dns1_a%
goto TEMPIP
:B
set adresse=%adr_b%
set masque=%masq_b%
set gate=%gate_b%
set dns1=%dns1_b%
goto TEMPIP
:C
set adresse=%adr_c%
set masque=%masq_c%
set gate=%gate_c%
set dns1=%dns1_c%
goto TEMPIP
:D
set adresse=%adr_d%
set masque=%masq_d%
set gate=%gate_d%
set dns1=%dns1_d%
goto TEMPIP
:E
set adresse=%adr_e%
set masque=%masq_e%
set gate=%gate_e%
set dns1=%dns1_e%
goto TEMPIP
:F
set adresse=%adr_f%
set masque=%masq_f%
set gate=%gate_f%
set dns1=%dns1_f%
goto TEMPIP
:M
set adresse=%adr_m%
set masque=%masq_m%
set gate=%gate_m%
set dns1=%dns1_m%
goto TEMPIP
:S
set adresse=%adr_s%
set masque=%masq_s%
set gate=%gate_s%
set dns1=%dns1_s%
goto TEMPIP
:P
set adresse=%adr_p%
set masque=%masq_p%
set gate=%gate_p%
set dns1=%dns1_p%
goto TEMPIP
:I
set adresse=%adr_i%
set masque=%masq_i%
set gate=%gate_i%
set dns1=%dns1_i%
goto TEMPIP
:V
set adresse=%adr_v%
set masque=%masq_v%
set gate=%gate_v%
set dns1=%dns1_v%
goto TEMPIP
rem -----------------------------------------------------------
rem AFFECTION IP TEMPORAIRE
rem -----------------------------------------------------------
cls
:TEMPIP
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º              AFFECTATION IP TEMPORAIRE           º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo J'affecte une adresse IP temporaire de la forme:
echo.
echo [A].[B].[C].[251]
echo.
echo Patience ...
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
    set A1=%%A.%%B.%%C
rem adresse temporaire:
    set /A A2=251
    )
set tmpip=%A1%.%A2%
netsh interface ip set address %carte% static %tmpip% 255.255.255.0 %A1%.1 1
rem -----------------------------------------------------------
rem VERIFICATION si adresse IP client libre sur LAN
rem -----------------------------------------------------------
:@INCREM
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º           VERIFICATION ADRESSE LOCALE            º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo je verifie que l'adresse [%adresse%] n'est pas utilisee
echo sur le reseau local avant d'appliquer ce parametre.
echo.
echo Patience ...
ping -n 4 %adresse% > %TEMP%\ping.txt
find "perte 100" %TEMP%\ping.txt > nul
if %ERRORLEVEL%==0 goto SUITE
find "inconnu" %TEMP%\ping.txt > nul
if %ERRORLEVEL%==0 goto SUITE
goto RESERVE
:SUITE
echo.
echo Ok, l'adresse [%adresse%] est libre sur le reseau
echo.
rem -----------------------------------------------------------
rem APPLICATION des PARAMETRES
rem -----------------------------------------------------------
:CHOIX
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º           APPLICATION des PARAMETRES             º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo J'applique les parametres suivant :
echo.
echo Adresse : %adresse%
echo Masque : %masque%
echo Passerelle : %gate%
echo Dns1 : %dns1%
echo.
echo Patience ...
netsh interface ip set address %carte% static %adresse% %masque% %gate% 1
netsh interface ip set dns %carte% static %dns1%
echo.
echo les parametres ont ete appliques avec succes !
echo.
pause
goto TEST
rem ===========================================================
rem TEST PASSERELLE
rem ===========================================================
:TEST
cls
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                  TEST PASSERELLE                 º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo je ping votre paserelle [%gate%]
echo.
echo Patience ...
ping -n 4 %gate% > %temp%\pingg.txt
find "perte 100" %temp%\pingg.txt > nul
if %ERRORLEVEL%==0 goto NOPINGG
find "inconnu" %temp%\pingg.txt > nul
if %ERRORLEVEL%==0 goto NOPINGG
echo.
echo Bien !
echo.
echo Votre passerelle %passerelle%a repondu aux PING.
echo.
rem ===========================================================
rem TEST SORTIE INTERNET
rem ===========================================================
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º          VERIFICATION  acces INTERNET            º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Maintenant, je ping le site "www.yahoo.fr" pour verifier
echo que votre passerelle est fonctionnelle et determiner ainsi si
echo votre acces au reseau internet est operationel.
echo Patience ...
ping -n 4 www.yahoo.fr > %temp%\pingy.txt
find "perte 100" %temp%\pingy.txt > nul
if %ERRORLEVEL%==0 goto NOPINGY
find "inconnu" %temp%\pingy.txt > nul
if %ERRORLEVEL%==0 goto NOPINGY
echo.
echo Bien !
echo.
echo www.yahoo.fr a correctement repondu aux PING
goto CONFIRM
pause
rem ###########################################################################
rem                             FONCTIONS
rem ###########################################################################
rem ===========================================================
rem INCREMENTATION IP +1 bloc "D" [A.B.C.D+1] Dmax=254
rem ===========================================================
:INCREM
rem verification du dernier bloc  [D]
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
    set A1=%%A.%%B.%%C
    set /A A2=%%D
    )
echo %A2%>%TEMP%\plagec.txt
find "250" %TEMP%\plagec.txt > nul
if %ERRORLEVEL%==0 goto CLASSIP
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
    set A1=%%A.%%B.%%C
    set /A A2=%%D+1
    )
set adresse=%A1%.%A2%
echo.
echo Nouvelle adresse IP proposee: [%adresse%]
echo.
pause
goto @INCREM
rem ===========================================================
rem INCREMENTATION IP +1 bloc "C" [A.B.C+1.D] Dmax=255
rem ===========================================================
:INCREMP
rem verification du bloc [C]
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
    set A1=%%A.%%B
    set /A A2=%%C
    set /A A3=%%D
    )
echo %A2%>%TEMP%\plagec.txt
find "255" %TEMP%\plagec.txt > nul
if %ERRORLEVEL%==0 goto CLASOUT
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
    set A1=%%A.%%B
    set /A A2=%%C+1
    )
rem saut de plage, depart bloc [D] a 1
set A3=1
set adresse=%A1%.%A2%.%A3%
echo.
echo Nouvelle adresse IP proposee: %adresse%
echo.
pause
goto @INCREM
rem ===========================================================
rem DHCP
rem ===========================================================
:H
cls
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                       DHCP                       º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
find "dhcp" %temp%\LAN_1.txt > nul
if %ERRORLEVEL%==0 goto DHCP_ON
goto F_DHCP
:F_DHCP
echo.
echo J'applique la configuration DHCP.
echo.
echo Patience ...
netsh interface ip set address %carte% dhcp
netsh interface ip set dns %carte% dhcp
netsh interface ip set wins %carte% dhcp
echo.
echo Votre interface LAN est configuree en mode DHCP.
echo.
pause
goto Q
:DHCP_ON
echo L'interface LAN est deja configurer en mode DHCP.
echo.
echo             Que voulez vous faire ?
echo.
echo                 ---------------
echo                 1 : Forcer DHCP
echo                 2 : Quitter
echo                 ---------------
echo.
set /P confnet=Faites votre choix (1-2):
for %%r in (1) do if %confnet%==%%r goto F_DHCP
for %%r in (2) do if %confnet%==%%r goto FIN
echo.
echo Option invalide !
echo.
pause
goto DHCP_ON
rem ===========================================================
rem RESTAURATION
rem ===========================================================
:R
cls
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                   RESTAURATION                   º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Je restaure vos parametres d'origines.
echo.
echo Patience ...
netsh -f %temp%\LAN_1.txt
echo.
echo Vos parametres d'origine ont ete restaures avec succes !
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ===========================================================
rem EDIT
rem ===========================================================
:EDIT
edit confipi.bat
goto EXIT
rem ###########################################################################
rem                                ERREUR
rem ###########################################################################
rem ===========================================================
rem ERREUR nom "LAN"
rem ===========================================================
:ERR_NOM
cls
color 0F
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                   ! PROBLEME !                   º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo je vous conseille de consulter l'aide :
echo.
echo Aucune interface reseau ne repond au nom de "LAN_1"
echo.
echo Renommer l'interface reseau que vous voulez configurer
echo en la nommant "LAN_1" (depuis l'explorateur de Windows)
echo.
echo NOTE: respecter la "casse"
echo ("LAN_1" doit etre ecrit en MAJUSCULE)
echo.
echo Vous pouvez cependant continuer mais vous ne pourrez pas
echo modifier vos parametres automatiquement.
echo.
SET /P reponse=Aide/Continuer/Quitter (A/C/Q):
if /i %reponse%==c goto MENU
if /i %reponse%==q goto EXIT
if /i %reponse%==a goto AIDE
echo.
echo Option invalide !
echo.
pause
goto MENU
echo
rem ===========================================================
rem ADRESSE RESERVEE
rem ===========================================================
:RESERVE
cls
color 0F
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                   ! PROBLEME !                   º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo l'adresse [%adresse%] est deja utilisee sur votre reseau local.
echo Par consequent, il est vivement deconseille d'appliquer ce
echo parametre afin d'eviter tout conflit d'adresses.
echo.
echo              Que voulez vous faire ?
echo.
echo        ------------------------------------------------
echo        1 : Incrementer automatiquement l'adresse de + 1
echo        2 : Modifier ce parametre manuellement
echo        3 : Forcer ce parametre
echo        4 : Quitter
echo        ------------------------------------------------
echo.
echo Si vous decidez de modifier manuellement ce parametre,
echo n'oubliez pas d'enregistrer en quittant "edit".
echo Il faudra ensuite relancer le script.
echo.
set /P confnet=Faites votre choix (1-4):
for %%r in (1) do if %confnet%==%%r goto INCREM
for %%r in (2) do if %confnet%==%%r goto EDIT
for %%r in (3) do if %confnet%==%%r goto %CHOIX%
for %%r in (4) do if %confnet%==%%r goto EXIT
echo.
echo Option invalide !
echo.
pause
goto RESERVE
rem ===========================================================
rem ERREUR PING PASSERELLE
rem ===========================================================
:NOPINGG
cls
color 0F
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                   ! PROBLEME !                   º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Pas bien !
echo.
echo Votre passerelle ne reponds pas au PING.
echo.
echo Verifier votre connexion au reseau local...
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ===========================================================
rem ERREUR SORTIE INTERNET
rem ===========================================================
:NOPINGY
cls
color 0F
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                   ! PROBLEME !                   º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Pas bien !
echo.
echo www.yahoo.fr ne repond pas au PING.
echo.
echo Verifier votre connexion internet ...
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ===========================================================
rem Nombre maxi atteint IP=A-B-C-254 => saut de plage ;o)
rem ===========================================================
:CLASSIP
echo.
echo Votre adresse: [%adresse%] se trouve en fin de plage,
echo.
SET /P reponse=Voulez-vous passer dans la classe superieure(O/N)? :
if /i %reponse%==o goto INCREMP
if /i %reponse%==n goto MENU
goto INCREMP
rem ===========================================================
rem Nombre [C] maxi atteint IP=A-B-255-C => manuel ;o(
rem ===========================================================
:CLASOUT
echo.
echo Votre adresse: [%adresse%] se trouve en fin de plage.
echo Je n'ai pas de solution automatique a vous proposer.
echo Vous pouvez cependant editer ce parametre manuellment
echo.
echo.
SET /P reponse=Edit/Menu/Quitter(E/M/Q)? :
if /i %reponse%==e goto EDIT
if /i %reponse%==m goto MENU
if /i %reponse%==q goto EXIT
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ###########################################################################
rem                                BONUS
rem ###########################################################################
rem ===========================================================
rem INFORMATIONS DIVERSES
rem ===========================================================
:1
cls
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                 Informations diverses            º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo OS = %OS%
echo processeur = %NUMBER_OF_PROCESSORS%
echo Architecture = %PROCESSOR_ARCHITECTURE%
echo Identification du processeur = %PROCESSOR_IDENTIFIER%
echo Niveau du processeur = %PROCESSOR_LEVEL%
echo revison du processeur = %PROCESSOR_REVISION%
echo Nom de machine = %COMPUTERNAME%
echo Domaine = %USERDOMAIN%
echo Authentifie par = %LOGONSERVER%
echo Utilisateur connecte = %USERNAME%
echo Repertoire de depart = %HOMEPATH%
echo Repertoire utilisateur = %USERPROFILE%
echo Repertoire temporaire = %TEMP%
echo repertoire systemroot = %SystemRoot%
echo repertoire des programmes = %CommonProgramFiles%
echo.
set /P confnet=Quitter (O-N):
for %%r in (o) do if /i %confnet%==%%r goto EXIT
for %%r in (n) do if /i %confnet%==%%r goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ===========================================================
rem IP
rem ===========================================================
:2
cls
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º        Info relative a la configuration IP       º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
ipconfig /all
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ===========================================================
rem ROUTE
rem ===========================================================
:3
cls
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º       Info relatives a la table de routage       º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
route print
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ===========================================================
rem STAT
rem ===========================================================
:4
cls
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º               Connexions en cours                º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
netstat -n
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ###########################################################################
rem                                 AIDE
rem ###########################################################################
:AIDE
cls
echo.
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                        AIDE                      º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
=============================
echo POUR QUI ET POURQUOI CE BATCH :
echo =============================
echo.
echo   Pour tous ceux qui changent de réseau plus souvent que de chemises !
echo Dote d'un ordinateur portable, je suis amene a me connecter sur differents
echo reseaux locaux ne possedant pas toujours de serveur DHCP (ca existe ...)
echo Ainsi, lasse par d'incessant aller et retour vers la boite de dialogue
echo"connexions reseaux" (j'en ai fais des Kilometre-O-klic ;o)
echo je me suis decide a passe a l'action ...
echo.
echo =========
echo FONCTIONS :
echo =========
echo.
echo OS supportés: Windows NT - 2000 - XP
echo Ce batch a pour fonction d'appliquer automatiquement certains parametres
echo TCP/IP a une interface reseau donnee en proposant plusieurs choix predefinis.
echo Il donne par ailleurs quelques informations relatives au systeme (Bonus ;o)
echo.
echo =====================
echo PARAMETRAGE DES SITES :
echo =====================
echo.
echo   On parametre les differents sites sur lesquels on est amene a se connecter
echo en modifiant le contenu des rubriques definies dans la section "PARAMETRES".
echo Ces rubriques correspondent aux entrees du menu (EX : MAISON, SLIS ...)
echo.
echo ===========
echo UTILISATION :
echo ===========
echo.
echo   Apres avoir renseigner la section [PARAMETRE] en fonction de vos besoins.
echo Verifier que l'interface locale ou "carte reseau" sur pour laquelle vous
echo appliquer ces configurations IP se nomme bien "LAN_1".
echo Si tel n'etait pas le cas, vous pourriez facilement renommer cette interface
echo via l'explorateur de windows.
echo ==============
echo FONCTIONNEMENT:
echo ==============
echo.
echo   Lorsque que le script s'execute, il commence par sauvegarder les parametres
echo de vos interfaces reseaux "locale". Il verifie ensuite qu'au moins une de
echo vos interface se nomme LAN_1. C'est sur cette derniere que ce script va
echo agir. Si aucune interface reseau ne se nomme LAN_1, un message invite
echo l'utilisateur a rennomer cette derniere de maniere adequat "LAN_1"
echo   En choisissant une option du menu, le script va appliquer les
echo parametres de la section correspondante identifiee en debut de script.
echo Les parametres suivant sont alors appliques a l'interface reseau locale LAN_1:
echo.
echo   + Adresse IP
echo   + Masque de sous reseau
echo   + Passerelle
echo   + Serveur DNS
echo.
echo   Cependant, avant d'assigner une adresse IP a l'interface LAN_1, le script
echo verifie que cette adresse n'est pas utilisee sur le reseau local.
echo (Pour cela, le script assigne une adresse temporaire a l'interface LAN_1 de la
echo forme: [A.B.C.251] ou A.B.C correspond a l'adressage de la section choisie)
echo Si cette derniere est deja utilisee sur le reseau, vous avez plusieurs choix:
echo
echo   + Incrementer l'adresse automatiquement de +1
echo   + Modifier manuellement le parametre (via "edit")
echo   + Forcer l'affectation de cette adresse
echo
echo  Note: Adresse de la forme [A.B.C.D]
echo        Lors de l'incrementation, le script verifie que le numero d'hote
echo        atteint ne depasse pas 254 sur le dernier octet(D)
echo        Si cette limite est atteinte, il incremente alors le 3eme octet(C)
echo        en affectant par defaut 1 au bloc (D)
echo
echo   Il affecte ensuite les differents parametres.
echo   Il teste alors le fonctionnement de l'equipement en effectuant un:
echo.
echo   + Ping de la passerelle
echo   + Ping d'une machine situee sur le reseau internet (ww.yahooh.fr)
echo.
echo =====
echo NOTES:
echo =====
echo.
echo   Dans mon cas de figure, je n'ai pas besoin de serveurs "WINS" mais il est
echo tout a fait envisageable de passer ces parametres.
echo Idem pour la defintion d'un seul DNS.
echo Idem pour d'autres protocoles.
echo.
echo   Si vous souhaitez que ce script evolue, contactez moi.
echo.
echo =============
echo REMERCIEMENTS:
echo =============
echo.
echo   Je tiens tout particulierement a remercier Jean-Claude BELLAMY pour les
echo precieux renseignements qu'il maura fournit.
echo http://www.bellamyjc.net
echo.
echo ======
echo AUTEUR:
echo ======
echo.
echo Laurent MOREAU
echo Mail: laurent@moreau-fr.net
echo http://www.moreau-fr.net
echo.
SET /P reponse=Quitter (O/N)? :
if /i %reponse%==o goto EXIT
if /i %reponse%==n goto MENU
echo.
echo Option invalide !
echo.
pause
goto MENU
rem ###########################################################################
rem FIN DE BATCH
rem ###########################################################################
echo.
goto Q
rem ===========================================================
rem CONFIRMATION
rem ===========================================================
:CONFIRM
echo.
echo Votre acces internet est operationnel !
echo.
echo Bon surf ;o)
goto Q
rem ===========================================================
rem FIN
rem ===========================================================
:Q
echo.
set /P confnet=Quitter ?(O-N):
for %%r in (o) do if %confnet%==%%r goto EXIT
for %%r in (n) do if %confnet%==%%r goto MENU
goto EXIT
rem ===========================================================
rem SORTIE
rem ===========================================================
:EXIT
exit