VB/WMI script to read remote registry to get IP address information
December 23, 2011 in Scripting, VBScript by Ying Li
Here is a VB/WMI script to read remote registry to get IP address information for server. First, it uses WMI to read a string and to determine which network card to use. Then it will read a multi-string value to get the IP addresses. The IP address is actually stored in an Array, we will need to use Join function to place the elements in a string and then use split function to get the specific Octet we are interested.
GetIPInfo.vbs:
On Error Resume Next
strComputer = Inputbox ("Enter The Server Name")
Const HKEY_LOCAL_MACHINE = &H80000002
‘Use WMI provider to connect to remote registry
Set oReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
‘Determine which network card to use
sNICSearch = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1" ‘the number may vary”
sServiceName = "ServiceName"
oReg.GetStringValue _
HKEY_LOCAL_MACHINE,sNICSearch,sServiceName,strValue
‘To get the IP address
sInterfaceskey = "System\CurrentControlSet\Services\TCPIP\Parameters\Interfaces\"
sIPAddressKey = sInterfacesKey & strValue
sIPAddress = "IPAddress"
oReg.GetMultiStringValue _
HKEY_LOCAL_MACHINE,sIPAddressKey,sIPAddress,arrValues
‘To manipulate the array(Join & Split) to get the Octets Information
strDelimiter = "."
strIPAddress = Join(arrValues, strDelimiter)
Wscript.Echo strIPAddress
strIPOctets = split (strIPAddress, strDelimiter)
ThirdOctet = strIPOctets (2)
Wscript.Echo ThirdOctet







