IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseaux Discussion :

Script netsh batch changement masque réseau


Sujet :

Réseaux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Script netsh batch changement masque réseau
    Bonjour à vous

    J'aimerai avoir votre aide sur un script que je suis en train de faire mais sur lequel je rencontre un probleme, voici les explications.

    Dans le cadre d'une restructuration réseau chez un client je dois changer le masque de chaque carte réseau qui est actuellement en /24 et qui doit passer en /16. J'ai une centaine de postes à faire donc plutôt que de me déplacer sur chaque poste l'idée était de le faire depuis un PC et le faire à distance via les outils PSTOOLS. Sur chaque poste nous avons une ip fixe.
    D'après ce que j'ai pu voir il est impossible de changer uniquement le masque de sous réseau via netsh du coups je dois générer ne commande complète avec l'IP, le masque et eventuellement la gateway
    Du coups je me suis penché sur la commande netsh mais je rencontre un probleme de variable qu'il est apparemment impossible de mettre dans cette commande.
    L'idée du script est donc de récupérer l'IP fixe, de la stocker en mémoire et de changer le masque et d'y ré inscrire la gateway par défaut (IP, Gateway et DNS reste inchangé)

    Voici une ébauche de mon script

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
    for /F "tokens=15-17 delims=:." %%i in ('ipconfig^|find "Adresse IPv4"') do set ADDRESSEIP=%%i
    rem ipconfig
    for /F "delims=," %%i in ('ipconfig /all^|find "Adresse IP"') do set ADDRESSEIP=%%i
     
    echo %ADDRESSEIP%
     
    set ADDRESSEIP=ADDRESSE
     
     
     
    echo Mise a jour de la configuration TCP/IP du PC. Patientez...
     
     
    netsh interface ip set address "Connexion au réseau local" static %ADDRESSE% 255.255.0.0 192.168.1.254 1
    netsh interface ip set dns "Connexion au réseau local" static 192.168.1.1 primary

    Pensez vous qu'il existe une solution via le batch ou alors dois je changer totalement de langage pour faire ce que je voudrais ?

    Par avance merci pour vos réponses

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Salut,

    Si je devais faire ce genre de chose, j'opterais pour du powershell

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par becket Voir le message
    Salut,

    Si je devais faire ce genre de chose, j'opterais pour du powershell
    Salut ok je vais regarder cela voir quels sont les outils mis à disposition

    Le fait d'avoir des client XP et win 7, cela modifie t'il le choix de Powershell ?


    Merci

  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Absolument !
    Pas de powershell par defaut dans XP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par becket Voir le message
    Absolument !
    Pas de powershell par defaut dans XP

    ok donc je suis un peu dans la caca obligé de faire avec le batch dans ce cas. Du coups je crois que je suis obligé de récup l'IP avant d’exécuter le script et de la mettre en dur dans le fichier pour chaque poste

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Dans ce cas là, je suis plutôt en train de bosser sur un export de la partie IP dans un fichier TXT et ensuite importer le contenu de ce fichier txt (c'est à dire l'ip en question) dans la commande netsh

    Dans un premier temps j'exporte la conf actuelle et ensuite je fais une demande manuelle de l'ip par l'utilisateur connecté

    Pensez vous que cela soit faisable ?

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
    rem Export de la conf initiale réseau avant modif
    Ipconfig /all >.\ipinfo.txt 2>NUL
     
    set /p IP=veuillez entrer l'adresse IP voulu :
    rem set /p MSR=Votre masque de sous reseau :
    rem set /p PASS=Votre passerel par default :
    netsh interface ip set address "Connexion au r‚seau local" static %IP% 255.255.0.0 192.168.1.254 1
     
    rem set /p DNS1=veuillez entrer l'adresse DNS primaire voulu : 
    rem set /p DNS2=veuillez entrer l'adresse DNS secondaire voulu : 
     
     
    netsh interface ip set dns "Connexion au r‚seau local" static 192.168.1.254
     
    rem netsh interface ip add dns name="Connexion au r‚seau local" addr=%DNS2% index=2



    Merci pour votre feedback

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    J'avance un peu

    Avec ce script j'arrive exporter uniquement l'ip dans un fichier txt

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /f "tokens=2 delims=:" %%a in ('ipconfig^|find "IPv4 Address"') do (
    set ip=%%a
    goto :BREAK
    )
     
    :BREAK
    echo %ip: =% >ip.txt


    Maintenant comment faire pour importer le contenu (qui est donc l'ip) dans mon script suivant plutot que de demander à l'utilisateur d'en rentrer une ?



    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    set /p IP=veuillez entrer l'adresse IP voulu :
    rem set /p MSR=Votre masque de sous reseau :
    rem set /p PASS=Votre passerel par default :
    netsh interface ip set address "Connexion au r‚seau local" static %IP% 255.255.0.0 192.168.1.254 1
     
    rem set /p DNS1=veuillez entrer l'adresse DNS primaire voulu : 
    rem set /p DNS2=veuillez entrer l'adresse DNS secondaire voulu : 
     
     
    netsh interface ip set dns "Connexion au r‚seau local" static 192.168.1.254
     
    rem netsh interface ip add dns name="Connexion au r‚seau local" addr=%DNS2% index=2

Discussions similaires

  1. Post script après changement du réseau
    Par tchize_ dans le forum Réseau
    Réponses: 0
    Dernier message: 07/01/2016, 18h13
  2. Réponses: 2
    Dernier message: 03/07/2012, 17h06
  3. [Xcopy et batch sur un réseau] Problème avec /d
    Par Oliv92120 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 17/07/2008, 10h13
  4. Script , Shell , Batch , Bash?
    Par A_B dans le forum Windows XP
    Réponses: 8
    Dernier message: 05/06/2007, 21h23
  5. Réponses: 21
    Dernier message: 10/11/2004, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo