Networking C#如何获取网络适配器指标?
我想获取Windows中特定网络适配器的“度量”。如何使用C#代码实现这一点 我可以使用此代码获取所有网络适配器,但我不知道如何获取“Metric”Networking C#如何获取网络适配器指标?,networking,Networking,我想获取Windows中特定网络适配器的“度量”。如何使用C#代码实现这一点 我可以使用此代码获取所有网络适配器,但我不知道如何获取“Metric” foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { //?? } 您可以调用返回接口度量的PowerShell cmdlet: PowerShell ps = Power
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
//??
}
您可以调用返回接口度量的PowerShell cmdlet:
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-NetIPInterface");
// ps.AddParameter("AddressFamily", "IPv4");
Collection<PSObject> psObjects = ps.Invoke();
foreach (PSObject psObject in psObjects)
{
foreach (PSPropertyInfo propInfo in psObject.Properties)
{
// extract values...
}
}
PowerShell ps=PowerShell.Create();
ps.AddCommand(“获取网络接口”);
//ps.AddParameter(“AddressFamily”、“IPv4”);
集合psObjects=ps.Invoke();
foreach(PSObject中的PSObject PSObject)
{
foreach(psObject.Properties中的PSPropertyInfo-propInfo)
{
//提取值。。。
}
}
这可能包含您需要的所有信息,因此您不必使用NetworkInterface.GetAllNetworkInterfaces()
。但是,如果仍要映射2个结果,则可以使用AddressFamily(IPv4/IPv6)和接口索引。
Get-NetIPInterface返回的“InterfaceIndex”和“AddressFamily”属性都是整数。可以将第二个值转换为枚举值。在NetworkInterface上,您可以通过GetIPProperties().GetIPv4Properties().index
或GetIPProperties().GetIPv6Properties().index
访问接口索引,具体取决于您感兴趣的地址族。您可以调用返回接口度量的PowerShell cmdlet:
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-NetIPInterface");
// ps.AddParameter("AddressFamily", "IPv4");
Collection<PSObject> psObjects = ps.Invoke();
foreach (PSObject psObject in psObjects)
{
foreach (PSPropertyInfo propInfo in psObject.Properties)
{
// extract values...
}
}
PowerShell ps=PowerShell.Create();
ps.AddCommand(“获取网络接口”);
//ps.AddParameter(“AddressFamily”、“IPv4”);
集合psObjects=ps.Invoke();
foreach(PSObject中的PSObject PSObject)
{
foreach(psObject.Properties中的PSPropertyInfo-propInfo)
{
//提取值。。。
}
}
这可能包含您需要的所有信息,因此您不必使用NetworkInterface.GetAllNetworkInterfaces()
。但是,如果仍要映射2个结果,则可以使用AddressFamily(IPv4/IPv6)和接口索引。
Get-NetIPInterface返回的“InterfaceIndex”和“AddressFamily”属性都是整数。可以将第二个值转换为枚举值。在NetworkInterface上,您可以通过
GetIPProperties().GetIPv4Properties().index
或GetIPProperties().GetIPv6Properties().index
访问接口索引,具体取决于您感兴趣的地址族。指标应用于路由,不是接口。@RonMaupin在Windows 10中,也有一个与接口相关联的度量,可以直接在接口设置中设置。如果我理解正确的话,这是一种对绑定顺序的替换。检查这个PInvoke代码,它通过WinApi检索度量。似乎NetworkInterface.GetAllNetworkInterfaces不返回该信息。度量值应用于路由,而不是接口。@RonMaupin在Windows 10中,也有一个与接口相关联的度量值,可以直接在接口设置中设置。如果我理解正确的话,这是一种对绑定顺序的替换。检查这个PInvoke代码,它通过WinApi检索度量。似乎NetworkInterface.GetAllNetworkInterfaces不返回该信息。