我们如何枚举所有网络连接以使用 WMI 提取 VPN 连接的 IP 地址?在 XP 上,Win32_NetworkAdapterConfiguration 工作正常,但在 Vista 上它似乎只枚举物理连接......
最佳答案
如果您查看 Win32_NetworkAdapterConfiguration 文档下的注释,您会在处理 Vista 时看到对 Win32_NetworkAdapter 的引用。
'Vista only code???
Set colAdapters = objWMIService.Execquery ("SELECT * FROM Win32_NetworkAdapter WHERE NetEnabled = True")
For Each nic in colAdapters
msg = "nic.DeviceId: " & nic.DeviceId & vbCRLF _
& "nic.Name: " & nic.Name & vbCRLF _
Next
从这里您应该能够检索 InterfaceIndex 并从 Win32_IP4RouteTable 类中查找 IP 地址。
与使用 Win32_NetworkAdapterConfiguration 相比,这当然是一种获取信息的迂回方式。
关于wmi - 在 Vista 上通过 WMI 获取 VPN IP 地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/819251/