1

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

4

1 に答える 1