有人能告诉我如何获得网络适配器中的可用带宽和IP地址。 首先,我将告诉我做了什么。我尝试使用 Win32_PerfFormattedData 和 Win32_PerfFormattedData_Tcpip_NetworkInterface 类的 Windows Management Instrumentation(WMI)查询。 Win32_PerfFormattedData - 从这个类我可以获得适配器的当前带宽。 Win32_PerfFormattedData_Tcpip_NetworkInterface - 从这个类我可以获得适配器中的ip地址。 问题是,我不知道如何找到两者之间的关系如果我在系统中有多个网络适配器,因为我没有找到这两个类属性之间的任何常见属性。请帮我解决这个问题。建议如果有任何其他方法来获取当前带宽和网络适配器的IP地址。
答案 0 :(得分:0)
改为使用Win32_NetworkAdapter
和Win32_NetworkAdapterConfiguration
。这是简单的PowerShell脚本示例:
$objWMi = get-wmiobject -Query "Select * from Win32_NetworkAdapter where PhysicalAdapter = True"
foreach ($obj in $objWmi)
{
write-host "AdapterType:" $obj.AdapterType
write-host "Caption:" $obj.Caption
write-host "CommunicationStatus:" $obj.CommunicationStatus
write-host "Description:" $obj.Description
write-host "DeviceName:" $obj.DeviceName
write-host "MACAddress:" $obj.MACAddress
write-host "Speed:" $obj.Speed
write-host "Name:" $obj.Name
$config = get-wmiobject -Query "select * from Win32_NetworkAdapterConfiguration where InterfaceIndex = $($obj.InterfaceIndex)"
foreach($data in $config)
{
write-host "NetworkAddress:" $config.IPAddress
}
write-host
write-host "########"
write-host
}
在Windows 8及更高版本中,您应使用MSFT_NetAdapter
类而不是Win32_NetworkAdapter
。此外,Win32_NetworkAdapterConfiguration
仅返回IPv4配置数据。有关其他信息,请参阅this。