Script .vbs pour saisir ip et masque réseau

Bonjour,
Je ne connais pas du tout le language pour paramétrer des scripts vbs et je voudrais savoir si il existe un script .vbs permettant de renseigner l'ip et le masque sous réseau via une boite de dialogue ceci afin de faciliter le paramétrage après la réalisation d'un ghost.
J'ai essayé de réaliser un fichier .bat avec la commande netsh mais celle-ci ne fonctionne pas avec mon OS en XP Embedded qui ne possède pas tous les composants requis.

Merci de vos réponses.
Configuration: Windows XP Embedded
Internet Explorer 6.0

2 réponses

  1. Contributeur
    Bonjour,
    Tu peux essayer un truc comme ça (j'ai pas testé mais ça devrait etre bon...):
    strIP = inputbox("Veuillez entre l'adresse IP et le masque" & chr(13) & "(Format : 192.168.1.141, 255.255.255.0)", "IP?")
    strGateway = inputbox("Adresse Passerelle ?" & chr(13) & "(Format : 192.168.1.100)", "Passerelle") & ", 1"
    
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set colNetAdapters = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
     
    For Each objNetAdapter in colNetAdapters
        errEnable = objNetAdapter.EnableStatic(strIP)
        errGateways = objNetAdapter.SetGateways(strGateway)
        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

    Tiens nous au courant....

    Tom
    1
    1. Bonjour,
      Merci pour votre aide, mais en lançant le script .vbs j'ai bien ma boîte de dialogue qui se lance en me demandant de renseigner mon ip, mon masque et ma passerelle, mais ensuite j'ai un message d'erreur comme suit :

      Windows script host

      script : C:\test.vbs
      ligne : 12
      caract. : 5
      erreur : types non correspondants
      code : 80041005
      source : SWbemobjectEx

      Et les infos ip ne sont pas renseignés.
      Si vous avez une idée je vous serez très reconnaissant.

      Merci.
      0
    2. @cabzingEssaie comma ça (attention, saisir l'IP et le masque entre guillemets, la passerelle est définie dans le code) :

      strIP1 = inputbox("Veuillez entre l'adresse IP "& chr(13) & "(Format : "&chr(34)&"192.168.1.141"&chr(34)&")", "IP?")
      strmask1 = InputBox ("Veuillez entrer le masque de sous réseau"& chr(13) & "(Format : "&chr(34)&"255.255.255.0"&chr(34)&")", "Mask?")

      strIP = Array(strIP1)
      strmask = Array(strmask1)

      strGateway = Array("192.168.1.100")
      strGatewayMetric = Array(1)

      strComputer = "."
      Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

      Set colNetAdapters = objWMIService.ExecQuery _
      ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

      For Each objNetAdapter in colNetAdapters
      errEnable = objNetAdapter.EnableStatic(strIP, strmask)
      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

      Laila
      0
  2. Contributeur
    Re,

    Essaie comma ça (attention, saisir l'IP et le masque entre guillemets, la passerelle est définie dans le code) :
    strIP1 = inputbox("Veuillez entre l'adresse IP "& chr(13) & "(Format : "&chr(34)&"192.168.1.141"&chr(34)&")", "IP?")
    strmask1 = InputBox ("Veuillez entrer le masque de sous réseau"& chr(13) & "(Format : "&chr(34)&"255.255.255.0"&chr(34)&")", "Mask?")
    
    strIP = Array(strIP1)
    strmask = Array(strmask1)
    
    strGateway = Array("192.168.1.100")
    strGatewayMetric = Array(1)
    
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set colNetAdapters = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
     
    For Each objNetAdapter in colNetAdapters
        errEnable = objNetAdapter.EnableStatic(strIP, strmask)
        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

    Tom
    0
    1. resalut Tom,
      cette fois-ci j'ai le message "the IP address could not be changed"
      0
    2. resalut Tom, excuse moi en fait c'est bon ça fonctionne sans mettre les guillemets...
      Merci pour ton aide précieuse...
      0
    3. @cabzingOuai c'est bien beau tout ça mais un conseil : essaie d'apprendre vbs avant d'utiliser es scripts ;)
      0