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

VBScript Discussion :

Tester une adresse Ip


Sujet :

VBScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 55
    Points
    55
    Par défaut Tester une adresse Ip
    Bonjour à tous !
    L'objectif de mon script est le suivant :
    Tester l'adresse Ip de la machine si elle commence par "192.168.0" OU si elle commence par "192.168.3" alors on configura un serveur WINS.

    En voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colNetCards = objWMIService.ExecQuery _
        ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each objNetCard in colNetCards
        If objNetCard.IPAddress(0).StartWith("192.168.0") OR objNetCard.IPAddress(0).StartWith("192.168.3") Then
        strPrimaryServer = "192.168.0.9"
        strSecondaryServer = ""
        objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
    End If
    Next
    Mon problème est que si l'adresse ip de la machine commence par les deux valeurs indiquée la configuration est rentrée. MAIS si l'adresse Ip est "n'importe" quelle autre valeur le serveur WINS est aussi configuré.
    Mon test est donc toujours vrai ?

    Je n'ai pas eu de formation en VbScript j'ai commencé mon apprentissage ce matin donc si il y à des erreurs de débutant merci de me les indiquer.

    A la base j'ai repris ce script sur un forum et je le "customise" pour qu'il réponde à mes besoins.

    Merci d'avance de votre attention

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Peux-tu ajouter un msgbox et nour dire le résultat ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colNetCards = objWMIService.ExecQuery _
        ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each objNetCard in colNetCards
        MsgBox objNetCard.IPAddress(0).StartWith("192.168.0")
        If objNetCard.IPAddress(0).StartWith("192.168.0") OR objNetCard.IPAddress(0).StartWith("192.168.3") Then
        strPrimaryServer = "192.168.0.9"
        strSecondaryServer = ""
        objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
    End If
    Next

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Je ne suis pas dans un environement de dév mais j'édite mon script sous notepadd ++ et je l'exécute en double cliquant dessus.
    Aucun affiche pas de boite de dialogue.

    Je vais me renseigner sur le net pour lancer le script via dos et pouvoir en suivre l'exécution.

    Edit :
    J'ai modifié le code de la façon suivante, pour écrire dans un fichier ""
    Code : 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
    17
    18
    19
    20
    21
    On Error Resume Next
    
    Const ForReading = 1, ForWriting = 2
      Set WshShell = WScript.CreateObject("WScript.Shell")
       Dim fso, f
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.OpenTextFile("C:\Documents and Settings\Desktop\ecr.txt", ForWriting,true)
    
    
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colNetCards = objWMIService.ExecQuery _
        ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each objNetCard in colNetCards
           f.write(objNetCard.IPAddress(0).StartWith("192.168.0"))
        If (objNetCard.IPAddress(0).StartWith("192.168.0") OR objNetCard.IPAddress(0).StartWith("192.168.3")) Then
        strPrimaryServer = "192.168.0.9"
        strSecondaryServer = ""
        objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
    End If
    Next
    Dans ce cas le fichier est vide. Si je modifie la ligne qui écrit dans le fichier de la façcon qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.write(objNetCard.IPAddress(0))
    J'ai bien l'@Ip de ma machine dans le fichier.

    Je vais chercher un autre moyen de tester la sting contenant l'@Ip

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    As-tu essayé de lancer ton script en enlevant "on error resume next" ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Es-tu certain de "StartWith"?
    Essaye avec un test du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if instr(objNetCard.IPAddress(0), "192.168.0.") > 0 then ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé une solution qui consiste à utiliser la Methode Mid() pour enregistrer dans une String le début des adresse Ip et ensuite comparé à l'aide d'un simple signe égale cette String et "192.168.....".
    C'est à dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    strAdr = Mid(objNetCard.IPAddress(0), 1, 9)
        If (strAdr = "192.168.0" OR strAdr = "192.168.3") Then
    ....
    Merci de l'attention que vous avez porté à mon problème.
    La méthode StartWith ne doit pas exister en Vbscript ou je l'ai mal utilisée....
    Si elle existait pas il m'aurais crié dessus je pense

    Bref maintenant mon script marche le vendredi avant de partir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester une adresse Internet
    Par Thomas Lebrun dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/12/2010, 23h10
  2. Tester une adresse IP Java
    Par touma10 dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 12/09/2010, 12h57
  3. tester une adresse ip
    Par scarfunk dans le forum VB.NET
    Réponses: 7
    Dernier message: 21/04/2010, 10h12
  4. Tester une adresse URL
    Par acryline dans le forum Langage
    Réponses: 4
    Dernier message: 20/05/2009, 16h58
  5. Comment tester une adresse mail ?
    Par jackop dans le forum Langage
    Réponses: 5
    Dernier message: 08/09/2005, 16h19

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