加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – VBS:检查IP地址并打开URL(但只有一次)

发布时间:2020-12-14 05:39:19 所属栏目:Windows 来源:网络整理
导读:我正在尝试创建一个VBScript,它将检测运行的计算机是否通过检查其IPv4地址(由DHCP分配)连接到我们的LAN,然后根据它是在内部还是外部打开一个特定的URL我们的网络.该脚本将主要用于笔记本电脑,它将在工作(10.12.90.0/22)和家庭(通常是192.168 / 23,但这可能是
我正在尝试创建一个VBScript,它将检测运行的计算机是否通过检查其IPv4地址(由DHCP分配)连接到我们的LAN,然后根据它是在内部还是外部打开一个特定的URL我们的网络.该脚本将主要用于笔记本电脑,它将在工作(10.12.90.0/22)和家庭(通常是192.168 / 23,但这可能是真的)之间漫游.在这两种情况下,我只需要打开一次corect URL,因为几乎总会有多个网络适配器(有线/无线/蓝牙等).

下面的脚本似乎在我测试时起作用,但不是程序员我不确定是否有更好的方法来做到这一点.理想情况下,我想避免因为延迟而ping服务器.

strComputer = "."

strInternal = "http://intranet/"
strExternal = "http://www.mydomain.com/"

Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")

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

解决方法

如何查看内部网站是否可用,加载它是否加载公共网站?你可以使用这样的函数:

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

然后从主脚本中调用它:

strInternal = "http://intranet/default.htm"       
strExternal = "http://www.mydomain.com/"  

If URLExists(strInternal) Then
 Run strInternal
Else
 Run strExternal 
End If

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读