2017-01-21 3 views
1

C#で書かれたアプリケーションがあり、Windowsのネットワークアダプタを設定できる必要があります。私は1つの静的IPを設定することができていますが、私はこれが1つの静的IPを設定するのに役立ちますC#を使用してプログラムで複数の静的IPを構成する方法は?

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; 
       } 


      } 
     } 
    } 

を期待されるように複数の静的IPが仕事をしたいです。 1つ以上のIPを設定したい

+1

私は1つの静的IPを設定するためのコードを追加しました。 –

+0

ありがとうございました。ここには+1ありますよね。 – MickyD

+0

複数の静的IPを追加するコードを共有してください。 –

答えて

0

コードが既に示すように、EnableStaticメソッドには、2つの文字列配列のパラメータがあります。これにより、複数のIPアドレスとサブネットマスクのペアを設定できます。 IPアレイのドキュメントには、「現在のネットワークアダプタのすべての静的IPアドレスを一覧表示する」とサブネットマスクに「IPAddressパラメータの値を補完するサブネットマスク」と記載されています。したがって、次のようにコードしてください:

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

その作業。どうもありがとう –

関連する問題