2017-01-21 1 views
1

J'ai une application écrite en C# qui doit être capable de configurer les cartes réseau sous Windows. Je suis en mesure de configurer un IP statique mais je veux plus d'un IP statique pour travailler comme prévucomment configurer plus d'une adresse IP statique par programmation en utilisant C#?

public void setIP(string ip_address, string subnet_mask) 
    { 
     ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
     ManagementObjectCollection objMOC = objMC.GetInstances(); 

     foreach (ManagementObject objMO in objMOC) 
     { 
      if ((bool)objMO["IPEnabled"]) 
      { 
       try 
       { 
        ManagementBaseObject setIP; 
        ManagementBaseObject newIP = 
         objMO.GetMethodParameters("EnableStatic"); 

        newIP["IPAddress"] = new string[] { ip_address }; 
        newIP["SubnetMask"] = new string[] { subnet_mask }; 

        setIP = objMO.InvokeMethod("EnableStatic", newIP, null); 
       } 
       catch (Exception) 
       { 
        throw; 
       } 


      } 
     } 
    } 

Cela aide à configurer une adresse IP statique. mais je veux configurer plus de 1 IP

+1

J'ai ajouté le code pour configurer une IP statique. –

+0

Merci monsieur. Voici un +1 :) Je vous souhaite bonne chance – MickyD

+0

Pouvez-vous s'il vous plaît partager le code pour l'ajout de plus d'un IP statique –

Répondre

0

Comme votre code l'indique déjà, la méthode EnableStatic a deux paramètres de chaîne . Cela permet de définir plusieurs paires adresse IP/masque de sous-masque. La documentation de la matrice IP indique: «Répertorie toutes les adresses IP statiques pour la carte réseau actuelle» et pour le masque de sous-réseau: «Masques de sous-réseau qui complètent les valeurs du paramètre IPAddress». Donc, codez comme ceci:

newIP["IPAddress"] = new string[] { "192.168.1.2", "192.168.1.3" }; 
    newIP["SubnetMask"] = new string[] { "255.255.255.0", "255.255.255.0" }; 
+0

Son fonctionnement. Merci beaucoup –