Here’s an example:
On Error Resume Next
' #################################################
'Select the number of characters on the left that need to be checked
' Note the following situations:
' 10.150.9. <-- check on charleft=9 including trailing "."!
' 10.150.10
' 10.150.11
' or
' 10.150.99. <-- check on charleft=10 including trailing "."!
' 10.150.100
' 10.150.101
Const charleft = 10
' #################################################
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & ".\root\default:StdRegProv")
Set WSHShell = CreateObject("Wscript.Shell")
Set WSHNetwork = CreateObject("WScript.Network")
strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
DHCPAddress = WSHShell.RegRead("HKLM" & strKeyPath & subkey & "\DhcpIPAddress")
'Skip disconnected adapters and apipa addresses (failed dhcp)
If DHCPAddress <> "0.0.0.0" And Left(DHCPAddress,3) <> "169" Then
'wscript.echo "Interface " + subkey + " = " + DHCPAddress
TestOctet1 = left(DHCPAddress, int(charleft))
Select Case TestOctet1
case "10.150.123"
'location A with 1 ip range
WScript.Echo "this is location A"
'actions for location A
WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_A"
WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_A"
case "10.150.99.","10.150.101"
'location B with 2 ranges, note the first range with trailing "." because it's shorter
WScript.Echo "this is location B"
'actions for location A
WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_B"
WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_B"
case "192.168.2","10.150.102","10.234.234"
'location C with 3 ranges
WScript.Echo "this is location C"
'actions for location A
WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_C"
WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_C"
case "10.22.164","10.22.165"
'location D with 2 ranges
WScript.Echo "this is location D"
'actions for location A
WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_D"
WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_D"
End Select
End If
Next