0

IP とサブネット マスクを変更するユーティリティを開発していますが、デフォルトに戻すか、少なくとも「IP アドレスを自動的に取得する」に設定できるようにしたいと考えています。

public void setIPAndSub(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);
                MessageBox.Show("Setup complete");
            }
            catch (Exception)
            {
                MessageBox.Show("Error");
            }
        }
    }
}

これは例からのものであり、動作します。私が見逃しているのは、設定をリセットする方法です...または「IPアドレスを自動的に取得する」。私は文字通りどこから始めればよいかわかりません.オンラインでいくつかの調査を行っていますが、見つけたものを機能させるための知識がありません.

4

1 に答える 1

0

DHCP を有効にするには (「IP アドレスを自動的に取得する」とは、DHCP/autoip を使用することを意味します):

objMO.InvokeMethod("EnableDHCP", null, null);

詳細については、Win32_NetworkAdapterConfiguration クラスのドキュメントを参照してください。

于 2013-09-06T12:01:16.113 に答える