Ricavare gli indirizzi IP di un Host tramite WMI e VbScript

Dim wmiQuery, objWMIService, objPing, objStatus
    
wmiQuery = “Select * From Win32_PingStatus Where Address = ‘HostName‘”
    
Set objWMIService = GetObject(“winmgmts:\\.\root\cimv2”)
Set objPing = objWMIService.ExecQuery(wmiQuery)
    
For Each objStatus In objPing
If objStatus.StatusCode = 0 Then
    msgbox(objStatus.ProtocolAddress)
Else
    msgbox(“Unreachable”)
End If
Next

Set wmiQuery = Nothing
Set objWMIService = Nothing
Set objPing = Nothing
Set objStatus = Nothing

Ovviamente il codice può essere trasportato anche in applicazioni .NET

UPDATE:
Come detto da Marco Minerva nel suo post:
http://blogs.ugidotnet.org/marcom/archive/2007/01/25/68646.aspx

Se la necessità è solo quella di ricavare gli indirizzi IP il .NET Framework offre nativamente la classe  System.Net.DNS.GetHostEntry

Se invece l’esigenza è di taglio più sistemistico e serve sapere l’ip solo nel caso in cui l’host è raggiungibile (via ping) e magari con quali temistiche la Win32_PingStatus può tornare utile.
http://msdn2.microsoft.com/en-us/library/aa394350.aspx