:: ConfigIP-xxx.cmd - Créer par Tlem le 20/02/2016 :: ConfigIP est un Batch qui permet de configurer automatiquement :: les paramètres de la carte réseau désignée par son identifiant. :: Batch testé sous Windows Vista, 7, 8.x et 10 :: :: Configurez les paramètres ci-dessous ou laissez vide pour le DHCP. :: LanIdx correspond à l'index de la carte réseau et permet d'automatiser :: la configuration sans demander à l'utilisateur. :: FullAuto (1 ou 0) rens le batch tout automatique si tout est renseigné. @Echo Off Cls ::======================================== :: Paramètres ::======================================== Set LanIdx= Set IP=192.168.1.110 Set Mask=255.255.255.0 Set Gateway=192.168.1.1 Set DNS1=80.10.246.2 Set DNS2=80.10.246.129 Set NewName=%IP% Set FullAuto=1 ::======================================== ::======================================== :: Demande des droits administrateur :--------------------------------------------------------------------------------------------------------------- :GetAdminRight :--------------------------------------------------------------------------------------------------------------- REM --> Contrôle des permissions (Version 29/02/2016). >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" REM --> Si erreur, pas de droits Admin ... If '%errorlevel%' NEQ '0' ( Echo Demande des privileges administratifs ... Ping -n 2 127.0.0.1>NUL Goto UACPrompt ) Else ( Goto GotAdmin ) :UACPrompt Rem CHCP 1250 est utilisé pour les machines dont le 8.3 est désactivé et pour copier les accents. CHCP 1250>NUL Echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\Getadmin.vbs" Echo UAC.ShellExecute "cmd.exe","^/c" ^& """%~s0 %~s1""", "", "runas", 1 >> "%temp%\GetAdmin.vbs" Cscript //Nologo "%temp%\GetAdmin.vbs" Exit ::Exit /B 1 :GotAdmin If Exist "%temp%\GetAdmin.vbs" (Del "%temp%\GetAdmin.vbs") Pushd "%CD%" CD /D "%~dp0" :--------------------------------------------------------------------------------------------------------------- :--------------------------------------------------------------------------------------------------------------- :: Attribution de quelques variables afin d'éviter des problèmes If "%NewName%"=="" Set NewName=Ethernet If /I "%IP%"=="" Set IP=DHCP :: Si l'interface est connue on passe l'écran du choix de l'interface If Not "%LanIdx%"=="" Goto :GetInterfaceName :: Affichage de la liste des interfaces reseau. netsh interface ipv4 show interface Echo. :: Choix de l'index de l'interface. Set /p LanIdx="Veuillez entrer le numero d'index de la carte a modifier : " Echo. :GetInterfaceName :: Recherche du nom de la carte par rapport a l'index. Setlocal EnableDelayedExpansion For /F "Tokens=1-4,5* Delims= " %%a in ('netsh interface ipv4 show interface') Do ( If %%a==%LanIdx% ( If Not "%%f"=="" Set Space= Set AdapterName=%%e!Space!%%f ) ) :: Verifie que le nom ne soit pas vide. If "%AdapterName%"=="" ( Color 0C Echo Erreur sur la recuperation du nom de la carte Echo Appuyez sur une touche pour quitter Pause>NUL Exit ) :CheckInsterface :: Vérifie les parametres de l'interface. netsh interface ipv4 show interface "%AdapterName%">NUL If errorlevel 1 ( Color 0C Echo Le nom "%AdapterName%" ne correspond pas a une interface reseau valide ! Echo Appuyez sur une touche pour quitter Pause>NUL Exit ) :: Si on est en mode FullAuto, on passe la récap. If /I "%FullAuto%"=="1" Goto :Go :: Affichage des paramètres récapitulatifs. Echo. Echo ---------- Parametres actuel de la carte reseau : ---------- netsh interface ipv4 show config "%AdapterName%" Echo. Echo ---------- Nouveaux parametres de la carte reseau : ---------- Echo. Echo Nom de la carte reseau : %NewName% Echo Adresse IP : %IP% Echo Masque de sous reseau : %Mask% Echo Adresse IP Passerelle : %Gateway% Echo Adresse IP DNS 1 : %DNS1% Echo Adresse IP DNS 2 : %DNS2% Echo. :: Validation du choix :Choice Set /p Go="Veuillez confirmer la mise en place des parametres : o/n (Oui par defaut)" If /I "%Go%"=="" Goto :Go If /I "%Go%"=="o" Goto :Go If /I "%Go%"=="n" Exit Goto Choice :: Traitement des paramètres. :Go If /I "%IP%"=="dhcp" Goto :DHCP :: Configuration IP statique :Static netsh interface set interface name="%AdapterName%" newname="%NewName%" netsh.exe interface ipv4 set address name="%NewName%" source=static address=%IP% mask=%Mask% gateway=%Gateway% netsh interface ipv4 set dns "%NewName%" static %DNS1% netsh interface ipv4 add dns "%NewName%" %DNS2% index=2 Goto :End :: Configuration IP dynamique :DHCP netsh interface set interface name="%AdapterName%" newname="%NewName%" netsh.exe interface ipv4 set address name="%NewName%" source=dhcp netsh interface ipv4 set dns "%NewName%" dhcp :: Ecran de temporisation, le temps que les paramètres soient appliqués. :End Cls Echo. Echo. Echo ******************************************* Echo * Mise en place des parametres en cours * Echo ******************************************* Ping -n 5 127.0.0.1>NUL Cls Color 0A Echo ---------- Nouveaux parametres de la carte reseau : ---------- netsh interface ipv4 show config "%NewName%" Echo. Echo. :: Si on est en mode FullAuto, on ferme automatiquement la fenêtre. If /I "%FullAuto%"=="1" ( Echo Fermeture automatique dans 8 secondes. Ping -n 8 127.0.0.1>NUL Goto Quit ) Echo Appuyez sur une touche pour quitter Pause>NUL :Quit :: Fermeture du batch Exit