有没有办法在C中获取禁用/启用的网络接口列表#

我正在编写一个小脚本来更改特定Wireless80211或以太网网络接口的IPv4地址。到目前为止,一切都很好。该脚本使用命令提示符和 netsh 设置 IPv4(使用我使用的 C# 控制它)。我想添加一个功能,即脚本禁用或启用所有Wireless80211和以太网网络接口(没有特定的接口),您可以在“控制面板>网络和Internet>网络连接”中找到这些接口。System.Diagnostics

该脚本主要用于 ArtNet 到 DMX,以自动准备使用 ArtNet 的所有内容(对于对控制面板一无所知并自动执行工作流的人员)。我已经尝试了命名空间,但我只找到了一种启用网络接口的方法。一旦我禁用一个接口,就不会显示这个接口。System.Net.NetworkInformationSystem.Net.NetworkInformation


慕雪6442864
浏览 121回答 2
2回答

HUH函数

我不知道NetworkInterface.GetAllNetworkInterfaces()没有返回禁用的接口。无论如何,你可以尝试通过.NET框架中提供的WMI api(你必须将此引用添加到你的项目中),我做了一个测试,它允许你甚至与禁用的网络接口进行交互。System.Management.dll以下示例为您提供了如何通过此 API 使用 WMI 的想法,我几乎从文档中提取了它:using System;using System.Management;...void ListNetworkAdapters(){    var query = new ObjectQuery("SELECT * FROM Win32_NetworkAdapter");    using (var searcher = new ManagementObjectSearcher(query))    {        var queryCollection = searcher.Get();        foreach (var m in queryCollection)        {            Console.WriteLine("ServiceName : {0}", m["Name"]);            Console.WriteLine("MACAddress : {0}", m["Description"]);            Console.WriteLine();        }        Console.ReadLine();    }}文档可以在这里找到:https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-networkadapter

绝地无双

NetworkInterface.GetAllNetworkInterfaces()然后检查“操作状态”属性https://docs.microsoft.com/en-us/dotnet/api/system.net.networkinformation.networkinterface?view=netframework-4.7.2
打开App,查看更多内容
随时随地看视频慕课网APP