簡體   English   中英

C#-啟用/禁用DHCP

[英]C# - enable / disable DHCP

我正在尋找一種在給定的網絡適配器上使用C#啟用或禁用DHCP的方法。 尋找最簡單的解決方案。

謝謝。

也許..

        const string networcCardName = "[00000007] Intel(R) Ethernet Connection I217-LM"; //Example NIC name
        var management = new ManagementClass("Win32_NetworkAdapterConfiguration");
        var moc = management.GetInstances();

        foreach (var o in moc)
        {
            var mo = (ManagementObject) o;
            if (!(bool) mo["IPEnabled"]) continue;
            if (!mo["Caption"].Equals(networcCardName)) continue;

            var ndns = mo.GetMethodParameters("SetDNSServerSearchOrder");
            ndns["DNSServerSearchOrder"] = null;
            var enableDhcp = mo.InvokeMethod("EnableDHCP", null, null);
            var setDns = mo.InvokeMethod("SetDNSServerSearchOrder", ndns, null);
        }

您可以使用Process觸發netsh命令來設置網絡對話框中的所有屬性。

例如:在適配器上設置靜態ipaddress

netsh interface ip set address "Local Area Connection" static 192.168.0.10 255.255.255.0 192.168.0.1 1

要將其設置為dhcp

netsh interface ip set address "Local Area Connection" dhcp

從C#做到這一點將是

Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo("netsh", "interface ip set address \"Local Area Connection\" static 192.168.0.10 255.255.255.0 192.168.0.1 1");
p.StartInfo = psi;
p.Start();

設置為靜態可能需要花費好幾秒鍾的時間,因此,如果需要,請確保等待該過程退出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM