私は 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 アドレスを取得する他の方法はありますか?