Page 1 of 1

Get public and Private IP Addresses

Posted: Tue Dec 23, 2025 10:34 am
by admin

Code: Select all

Option Explicit
wscript.echo localIP
wscript.echo publicIP

function localIP
Dim objWMIService, colItems, objItem, strIPAddress, ComputerName, wshShell,ipCount

  Set objWMIService = GetObject("winmgmts://./root/CIMV2")
  Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE AND MACAddress > ''")
  strIPAddress = ""
     For Each objItem In colItems
          If IsArray(objItem.IPAddress) Then
                 for ipCount = 0 to ubound(objItem.IPAddress)
                       strIPAddress = strIPAddress & objItem.IPAddress(ipCount)
                           if instr(objItem.IPAddress(ipCount),":") > 0 then strIPAddress = strIPAddress & " (IP v6)"
                           if ipCount <> ubound(objItem.IPAddress) then strIPAddress=strIPAddress & vbcrlf & "          "
                 next
              localIP = strIPAddress
              Exit For
         End If
    Next
  localIP = "Local IP: " & strIPAddress
  Set objItem = Nothing
  Set colItems = Nothing
  Set objWMIService = Nothing
  Set wshShell = Nothing
end function

function publicIP
Dim http 

 Set http = CreateObject( "MSXML2.ServerXmlHttp" )
   http.Open "GET", "https://icanhazip.com", False
   http.Send
   publicIP = "Public IP: " & http.responseText
 Set http = Nothing
end function