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

VB.NET Discussion :

[VB.NET] Comment changer l'ip d'un adaptateur réseau ?


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 18
    Points
    18
    Par défaut [VB.NET] Comment changer l'ip d'un adaptateur réseau ?
    Bonjour,

    Je cherche à pouvoir via code changer l'adresse ip d'une carte réseau. J'ai trouvé cette fonction à l'origine en c# que j'ai convertit en VB.NET, elle fonctionne a merveille (aucune exception) mais l'ip ne change pas : : Quelqu'un voit une faute ou une erreur ?

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Public Sub setIP(ByVal IPAddress() As String, ByVal SubnetMask() As
     String, ByVal Gateway() As String)
     
     
            Dim objMC As Management.ManagementClass = New
     Management.ManagementClass("Win32_NetworkAdapterConfiguration")
            Dim objMOC As Management.ManagementObjectCollection =
     objMC.GetInstances()
     
     
            Dim objMO As Management.ManagementObject
            For Each objMO In objMOC
                If (CType(objMO("IPEnabled"), Boolean) And objMO
    ("Index").ToString() = "11") Then
                    Try
                        Dim objNewIP As Management.ManagementBaseObject =
     Nothing
                        Dim objSetIP As Management.ManagementBaseObject =
     Nothing
                        Dim objNewGate As Management.ManagementBaseObject =
     Nothing
     
                        objNewIP = objMO.GetMethodParameters("EnableStatic")
                        objNewGate = objMO.GetMethodParameters
    ("SetGateways")
     
                        'Set DefaultGateway
                        objNewGate("DefaultIPGateway") = Gateway
     
                        'Dim x() As Integer = {1}
                        'objNewGate("GatewayCostMetric") = x
     
                        'Set IPAddress and Subnet Mask
                        objNewIP("IPAddress") = IPAddress
                        objNewIP("SubnetMask") = SubnetMask
     
                        objMO.InvokeMethod("EnableStatic", objNewIP, Nothing)
                        objMO.InvokeMethod("SetGateways", objNewGate, Nothing)
                        MessageBox.Show("Ip Updated")
                    Catch ex As Exception
                        MessageBox.Show("Unable to Set IP : " + ex.Message)
                    End Try
                End If
            Next
        End Sub
    Merci d'avance de votre aide,

    Amicalement,

    Looney

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    As-tu verifier pas à pas pour constater s'il entrait bien dans cette condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (CType(objMO("IPEnabled"), Boolean) And objMO("Index").ToString() = "11")

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Salut Neguib,

    Oui je l'ai vérifier pas à pas il passe par toutes les étapes sans aucun prob et également j'ai bien mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show("Ip Updated")
    qui se fait.

    Amicalement,

    Looney

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    as-tu déjà essayé cet article WMI or How to change my IP address

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Cette source la marche beaucoup mieux . J'étais passé dessus dans mes recherches mais je ne l'avais pas relevée

    Me reste plus qu'à la traduire en vb mais ca devrait pas poser trop de problèmes

    Merci à toi neguib

    Amicalement,

    Looney

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Code sur dotnet247
    Salut,

    J'ai vu le code sur le site dotnet247, mais je ne sais pas comment le passer en vb.net.

    Si tu a réussi peut tu me poster le code en vb.net.

    Merci

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Non testé désolé
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    Imports System
    Imports System.Management
    Imports System.Threading
     
    Namespace WmiIpChanger
     
     Class IpChanger
     
      <MTAThread()> _
      Shared Sub Main(ByVal args As String())
        ReportIP
        SwitchToStatic
        Thread.Sleep(5000)
        ReportIP
        Console.WriteLine("end.")
      Sub
     
      Shared Sub SwitchToDHCP()
        Dim inPar As ManagementBaseObject = Nothing
        Dim outPar As ManagementBaseObject = Nothing
        Dim mc As ManagementClass = New ManagementClass
    ("Win32_NetworkAdapterConfiguration")
        Dim moc As ManagementObjectCollection = mc.GetInstances
     
        For Each mo As ManagementObject In moc
          If CType(mo("IPEnabled"), Boolean) Then
            inPar = mo.GetMethodParameters("EnableDHCP")
            outPar = mo.InvokeMethod("EnableDHCP", inPar, Nothing)
            Exit For
          End If
        Next
      End Sub
     
      Shared Sub SwitchToStatic()
        Dim inPar As ManagementBaseObject = Nothing
        Dim outPar As ManagementBaseObject = Nothing
        Dim mc As ManagementClass = New ManagementClass
    ("Win32_NetworkAdapterConfiguration")
        Dim moc As ManagementObjectCollection = mc.GetInstances
     
        For Each mo As ManagementObject In moc
          If CType(mo("IPEnabled"), Boolean) Then
            inPar = mo.GetMethodParameters("EnableStatic")
            inPar("IPAddress") = New String() {"192.168.1.1"}
            inPar("SubnetMask") = New String() {"255.255.255.0"}
            outPar = mo.InvokeMethod("EnableStatic", inPar, Nothing)
            Exit For
          End If
        Next
      End Sub
     
      Shared Sub ReportIP()
        Console.WriteLine("****** Current IP addresses:")
     
        Dim mc As ManagementClass = New ManagementClass
    ("Win32_NetworkAdapterConfiguration")
        Dim moc As ManagementObjectCollection = mc.GetInstances
     
        For Each mo As ManagementObject In moc
          If CType(mo("IPEnabled"), Boolean) Then
             Console.WriteLine("{0}" & Microsoft.VisualBasic.Chr(10) & " SVC:
     '{1}' MAC: [{2}]", CType(mo("Caption"), String), CType(mo
    ("ServiceName"), String), CType(mo("MACAddress"), String))
     
             Dim addresses As String() = CType(mo("IPAddress"), String())
             Dim subnets As String() = CType(mo("IPSubnet"), String())
     
             Console.WriteLine(" Addresses :")
             For Each sad As String In addresses
               Console.WriteLine("" & Microsoft.VisualBasic.Chr(9) & "'{0}'", sad)
             Next
     
             Console.WriteLine(" Subnets :")
             For Each sub As String In subnets
               Console.WriteLine("" & Microsoft.VisualBasic.Chr(9) & "'{0}'", sub)
             Next
           End If
         Next
       End Sub
     End Class 
    End Namespace

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2006, 12h30
  2. [CF][VB.Net] Comment changer la date système du PDA ?
    Par zitoun dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 07/03/2006, 17h26
  3. [VB.NET] Comment changer la resolution d'écran ?
    Par letel dans le forum Windows Forms
    Réponses: 12
    Dernier message: 16/12/2005, 09h46
  4. Réponses: 4
    Dernier message: 26/07/2005, 11h45

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