我正在使用 VBScript 使用 Win32_PingStatus 检索远程计算机的地址,如下所示:
dnsServer = "myComputerName"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
colIpQuery = "Select * from Win32_PingStatus where Address='" + dnsServer + "' AND ResolveAddressNames=TRUE"
Set colIPAddrs = objWMIService.ExecQuery(colIpQuery)
For Each colIPAddr In colIPAddrs
If CStr(colIpAddr.StatusCode) = 0 Then
dnsServerIp = colIpAddr.ProtocolAddress
End If
Next
这里的问题是,如果“myComputerName”正在运行 IPv6,colIpAddr.ProtocolAddress
将始终只返回 IPv6 地址,但我需要 IPv4 地址。我无法禁用 IPv6、跳过 IPv6 地址等。有没有其他方法可以在不使用外部方法(ping、powershell 等)的情况下检索 IPv4 地址?