VBS: check the IP address and open the URL (but only once)

I am trying to create VBScript that will detect if the computer on which it is running is running on our local network, checking its IPv4 address (assigned by DHCP) and then opening a specific URL depending on whether inside or outside our network. The script will be mainly used on laptops that will move between work (10.12.90.0/22) and the home (usually 192.168 / 23, but it could be something really). In both cases, I need to open the URL only once, because there will almost always be more than one network adapter (wired / wireless / bluetooth, etc.).

The following shows how the script works when I tested it, but I am not a programmer. I am not sure if there is a better way to do this. Ideally, I would like to avoid pinging servers due to latency.

strComputer = "." strInternal = "http://intranet/" strExternal = "http://www.mydomain.com/" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True",,48) For Each objItem in colItems strIPAddress = objItem.IPAddress(0) arrIPAddress = Split(strIPAddress, ".") If (arrIPAddress(0) = "10") And (arrIPAddress(1) = "12") Then ipChecked = 1 Run strInternal Else If ipChecked = 1 Then WScript.Sleep(10) Else ipChecked = 1 Run strExternal End If End If Next Sub Run(ByVal sFile) Dim shell Set shell = CreateObject("WScript.Shell") shell.Run Chr(34) & sFile & Chr(34), 1, false Set shell = Nothing End Sub 
+4
source share
1 answer

How to check if the internal website is accessible, download it if it downloads a public website? You can use this function:

 Function UrlExists(xURL) On Error Resume Next Err.Clear Dim objXML Set objXML = CreateObject("Microsoft.XMLHTTP") objXML.Open "HEAD",xURL,False objXML.Send If Err.Number <> 0 Or objXML.Status <> 200 Then UrlExists = False Else UrlExists = True End If Set objXML = Nothing End Function 

and then call it from the main script:

 strInternal = "http://intranet/default.htm" strExternal = "http://www.mydomain.com/" If URLExists(strInternal) Then Run strInternal Else Run strExternal End If 
+1
source

All Articles