Я пытаюсь создать VBScript, который будет определять, подключен ли компьютер, на котором он работает, к нашей локальной сети, проверяя его IPv4-адрес (назначенный DHCP), а затем открывать определенный URL-адрес в зависимости от того,внутри или вне нашей сети.Скрипт будет в основном использоваться на ноутбуках, которые будут перемещаться между работой (10.12.90.0/22) и домом (обычно 192.168 / 23, но на самом деле это может быть что угодно).В обоих случаях мне нужно открыть основной URL только один раз, потому что почти всегда будет более одного сетевого адаптера (проводной / беспроводной / Bluetooth и т. Д.).
Приведенный ниже скрипт, кажется, работает, когда я его тестировал, но не будучи программистом, я не уверен, что есть лучший способ сделать это.В идеале я бы хотел избежать проверки связи с серверами из-за задержки.
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