我编程一点脚本来改变一个特定Wireless80211或以太网网络接口的IPv4地址。到目前为止,一切正常。该脚本使用命令提示符和netsh设置IPv4(要使用C#控制它,我使用System.Diagnostics
)。
我要添加此功能,该脚本禁用或启用所有“ Wireless80211”和“以太网”接口(没有特定接口),您可以在“控制面板>网络和Internet>网络连接”中找到。
该脚本主要用于ARTNET到DMX自动做好一切准备使用ARTNET(人,不知道在控制面板的东西和自动化工作流程)。
我已经使用System.Net.NetworkInformation
命名空间进行了尝试,但是我只找到了一种获取启用的网络接口的方法。当我禁用接口System.Net.NetworkInformation
不显示此界面。
答案 0 :(得分:1)
我不知道NetworkInterface.GetAllNetworkInterfaces()没有返回禁用的接口。
无论如何,您可以尝试通过.NET框架中可用的System.Management.dll
使用WMI api(必须将此引用添加到您的项目中),我进行了测试,它允许您即使在禁用网络的情况下也可以进行交互接口。
以下示例为您提供了如何通过此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
答案 1 :(得分:0)
NetworkInterface.GetAllNetworkInterfaces()
然后检查OperationalStatus属性