Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changement adresse IP par script...

3 réponses
Avatar
Pat
Bonjour à tous,

Je souhaiterais par le biais d'un fichier de commande (.bat ou exe VB)
changer les caractéristiques d'adressage d'une carte réseau. Quelqu'un
aurait-il déjà pratiqué ?
D'avance merci,
Pat.

3 réponses

Avatar
Fabricem [MS]
BOnjour

C'est faisable en wmi avec un bon vbs

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

Const ForReading = 1

strIPAddress = @ip
strSubnetMask = masque
strGateway = passerelle
strGatewayMetric = metrique

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
If errEnable = 0 Then
WScript.Echo "The IP address has been changed."
Else
WScript.Echo "The IP address could not be changed."
End If
Next



en ligne de commande avec netsh lancer dans un .bat
http://support.microsoft.com/kb/242468/fr

cdlt


--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


"Pat" wrote in message
news:419bd0b6$0$6397$
Bonjour à tous,

Je souhaiterais par le biais d'un fichier de commande (.bat ou exe VB)
changer les caractéristiques d'adressage d'une carte réseau. Quelqu'un
aurait-il déjà pratiqué ?
D'avance merci,
Pat.


Avatar
Myriam
Bonjour !
Voici un P'tit batch (bat ou cmd) que j'utilise sur 2000 et XP

_____________________________

@echo off
set carte="Connexion au r,seau local"
set masque%5.255.255.0

echo .
echo Configurations r,seau Disponibles :
echo .
echo 49 : Agence 49
echo 85 : Agence 85
echo 79 : Agence 79
echo 44 : Agence 44
echo 17 : Agence 17
echo NL : Agence NL
echo .
echo XX : Pour Quitter maintenant...
echo .

set /P confnet= Saisir votre choix (exemple : 49) :
for %%r in (49) do if %confnet%==%%r goto 49
for %%r in (85) do if %confnet%==%%r goto 85
for %%r in (79) do if %confnet%==%%r goto 79
for %%r in (44) do if %confnet%==%%r goto 44
for %%r in (17) do if %confnet%==%%r goto 17
for %%r in (NL nl) do if %confnet%==%%r goto NL
for %%r in (XX xx) do if %confnet%==%%r goto end

echo .
echo Votre choix est invalide!
pause .
goto end

:49
echo .
Echo *** Configuration Agence 49 ***
set adrfixe2.201.49.60
set passerelle2.201.49.90
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
goto fin

:85
echo .
Echo *** Configuration Agence 85 ***
set adrfixe2.201.85.60
set passerelle2.201.85.90
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
goto fin

:79
echo .
Echo *** Configuration Agence 79 ***
set adrfixe2.201.79.60
set passerelle2.201.79.90
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
goto fin

:44
echo .
Echo *** Configuration Agence 44 ***
set adrfixe2.201.44.60
set passerelle2.201.44.90
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
goto fin

:17
echo .
Echo *** Configuration Agence 17 ***
set adrfixe2.201.17.60
set passerelle2.201.17.90
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
goto fin

:NL
echo .
Echo *** Configuration NL ***
set adrfixe2.17.10.60
set passerelle2.17.10.90
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
goto fin


:fin
echo .
Echo ************* Configuration R,seau Agence Termin,e ************
echo .
Pause
:end

__________________________________
Salut !

"Pat" a écrit dans le message de news:
419bd0b6$0$6397$
Bonjour à tous,

Je souhaiterais par le biais d'un fichier de commande (.bat ou exe VB)
changer les caractéristiques d'adressage d'une carte réseau. Quelqu'un
aurait-il déjà pratiqué ?
D'avance merci,
Pat.


Avatar
Jean-Claude BELLAMY
Dans le message news: ,
Myriam s'est ainsi exprimé:

Bonjour !
Voici un P'tit batch (bat ou cmd) que j'utilise sur 2000 et XP

_____________________________
[...]


Je me suis permis de l'optimiser un peu !



@echo off
set carte="Connexion au r,seau local"
set masque%5.255.255.0
echo.
echo Configurations r,seau Disponibles :
echo.
echo 49 : Agence 49
echo 85 : Agence 85
echo 79 : Agence 79
echo 44 : Agence 44
echo 17 : Agence 17
echo NL : Agence NL
echo.
echo XX : Pour Quitter maintenant...
echo.

set /P confnet= Saisir votre choix (exemple : 49) :
for %%r in (49 85 79 44 17 NL XX) do if /i %confnet%.==%%r. goto %%r
echo.
echo Votre choix est invalide!
pause
:XX
goto fin
:49
:85
:79
:44
:17
echo.
Echo *** Configuration Agence %confnet% ***
set adrfixe2.201.%confnet%.60
set passerelle2.201.%confnet%.90
goto netcfg
:NL
echo.
Echo *** Configuration NL ***
set adrfixe2.17.10.60
set passerelle2.17.10.90
:netcfg
netsh interface ip set address %carte% static %adrfixe% %masque%
%passerelle% 0
:fin
echo.
Echo ************* Configuration R,seau Agence Termin,e ************
echo.
Pause



Commentaires :
Dans une boucle FOR suivie de branchements différents suivant la variable,
autant utiliser directement la variable comme étiquette.
Et pour s'affranchir de la "casse" des caractères, il suffit d'utiliser le
commutateur "/i" dans le "if"
Quant au "." ajouté de part et d'autres du signe ==, il est là pour éviter
une erreur de syntaxe si jamais l'utilisateur tape une chaine vide.

for %%r in (49 85 79 44 17 NL XX) do if /i %confnet%.==%%r. goto %%r

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *