VBS一键配置VOIP脚本代码

    代码比较长,对vbs感兴趣的朋友可以参考一下

    
    Dim ws,fso,IE
    Set IE = WScript.createobject("InternetExplorer.Application")
    Set ws = WScript.CreateObject ("WSCript.shell")
    Set fso=CreateObject("scripting.filesystemobject")
    
    Const reboot="/content.cgi?form=M_SAV"
    
    IE.menubar=0 '显示IE对象菜单栏
    IE.AddressBar=1 '显示IE对象地址栏
    IE.ToolBar=0 '显示IE对象工具栏
    IE.StatusBar=1 '不显示IE对象状态栏
    IE.FullScreen=0 '全屏化IE对象
    IE.Height=768
    IE.Width=1024
    IE.Resizable=1 '设置IE对象大小是否可以被改动
    IE.visible=1 '设置是否可见 
    
    'IE.Navigate "192.168.46.3"
    
    
    '==============读Config配置文件=========
        
    filepath=createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
    file_config=filepath&"\config.ini"
    Set file=fso.OpenTextFile(file_config,1)
        
    '===========取第一行数据:号码==============
    OneLine=file.ReadLine
    OneLineStr=Split(OneLine,"=")
    OneLineCount=UBound(split(OneLine,"="))
    'MsgBox OneLineStr(1)                   
    
        
    '===============取第二行数据:密码===========
    TwoLine=file.ReadLine
    TwoLineStr=Split(TwoLine,"=")
    TwoLineCount=UBound(split(TwoLine,"="))
    'MsgBox TwoLineStr(1)
        
    '===============取第三行数据:VOIP服务地址============
    ThreeLine=file.ReadLine
    ThreeLineStr=Split(ThreeLine,"=")
    ThreeLineCount=UBound(split(ThreeLine,"="))
    'MsgBox ThreeLineStr(1)
        
    '===============取第四行数据:对讲设备地址============
    FourLine=file.ReadLine
    FourLineStr=Split(FourLine,"=")
    FourLineCount=UBound(split(FourLine,"="))
    'MsgBox FourLineStr(1)
        
    '===============取第五行数据:浏览器安装目录============
    FiveLine=file.ReadLine
    FiveLineStr=Split(FiveLine,"=")
    FiveLineCount=UBound(split(FiveLine,"="))
    'MsgBox FiveLineStr(1)
        
    'MainWeb()
    
    Main()
    '==================================================
    
    Function Main()
    
        IE.Navigate FourLineStr(1)
            
        Do 
            WScript.Sleep 500
            
        Loop Until IE.ReadyState=4
        
        
        Login()
        SipSetting()
        InputParm()
        VOIP()
        RebootSys()
    
    End Function 
    '======================================================
    '登录系统
    Function Login()
    
        WScript.Sleep 1000
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys "admin"
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys "admin"
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{ENTER}"
    
    End Function 
    '================================================
    '进入sipsetting菜单
    Function SipSetting()
    
        If IE.ReadyState=4 Then 
        
            WScript.Sleep 1000
            ws.SendKeys "{TAB 5}"
            WScript.Sleep 500
            ws.SendKeys "{ENTER}"
            WScript.Sleep 500
            ws.SendKeys "{TAB}"
            WScript.Sleep 500
            ws.SendKeys "{ENTER}"
            WScript.Sleep 2000
        Else 
        
         MsgBox "进入配置界面失败!"
         
        End If 
    
    End Function 
    '=============================================
    '切换输入界面
    Function InputParm()
    
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200    
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        
        
        ws.SendKeys "{DOWN}"  '选择开启状态
        WScript.Sleep 300
    
    End Function 
    '=========================================
    '配置参数
    Function VOIP()
    
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys OneLineStr(1)  'display name
        
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys OneLineStr(1)   'user number
        
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys OneLineStr(1)   'auth id
        
        ws.SendKeys "{TAB}"    
        WScript.Sleep 200
        ws.SendKeys "^a"
        WScript.Sleep 200            
        ws.SendKeys TwoLineStr(1)   'password
        
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys ThreeLineStr(1)   'proxy ip
        
        ws.SendKeys "{TAB}"        'domain
        WScript.Sleep 200
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys ThreeLineStr(1)
        
        '=============保存===========
        ws.SendKeys "{TAB 48}"
        WScript.Sleep 500
        ws.SendKeys "{TAB}"
        WScript.Sleep 500
        ws.SendKeys "{ENTER}"
        WScript.Sleep 1500
        
    End Function 
    
    '========================================================
    '修改参数后重启
    Function RebootSys()
    
        WScript.Sleep 500
        ws.SendKeys "{F4}"
        WScript.Sleep 500
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys FourLineStr(1)&reboot 
        
        WScript.Sleep 500    
        
    '   Set test=IE.document.getElementsByTagName ("Button")
        ws.SendKeys "{ENTER}"
        
        WScript.Sleep 2000
        
        Set ALL = Ie.Document.getElementsByTagName("input")  '检测网页元素是否标签为input,且值等于Reboot
    
        For Each i In ALL
    
        If i.value="Reboot" Then
    
           'i.Click  '点击reboot按钮
           
            WScript.Sleep 1000
           
            Ie.Document.parentwindow.execScript("top.location='content.cgi?_method_=reboot'")  '直接执行reboot确认操作
    
            Exit For
    
         
        End If
    
        Next
        
        WScript.Sleep 3000    
        
        MsgBox "配置已完成,设备正在重启,请耐心等待...",,"提示"
    
        If ws.AppActivate("来自网页的消息") Then 
        
        
            ws.SendKeys "{ENTER}"
            WScript.Sleep 2000
            
            MsgBox "配置已完成,设备正在重启,请耐心等待...",,"提示"
            
        Else 
            'MsgBox "配置未成功,请重新检查配置!",,"提示"
            
        End If 
    
    End Function 
    
    
    '====================================================================
    
    Function MainWeb()
    
        '=============启动地址=====================
    '方式一:自定义浏览器启动,需配置路径
    '   Function login()
            
    '       ws.run FiveLineStr(1)
    '       WScript.Sleep 3000
    '       ws.SendKeys "{F4}"
    '       WScript.Sleep 200
    '       ws.SendKeys "^a"
    '       WScript.Sleep 500
    '       ws.SendKeys FourLineStr(1)
    '       WScript.Sleep 500
    '       ws.SendKeys "{ENTER}"
                    
    '   End Function    
    
    '方式二:用系统默认浏览器启动 
        ws.Run FourLineStr(1)
    
        '===============登录设备=====================
        WScript.Sleep 5000
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys "admin"
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys "admin"
        ws.SendKeys "{ENTER}"
        
        '============进入sip setting菜单=============
        WScript.Sleep 2000
        ws.SendKeys "{TAB 5}"
        WScript.Sleep 500
        ws.SendKeys "{ENTER}"
        WScript.Sleep 500
        ws.SendKeys "{TAB}"
        WScript.Sleep 500
        ws.SendKeys "{ENTER}"
        WScript.Sleep 2000
        
        
        '==============进入编辑状态=======================
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200    
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        
        
        
        ws.SendKeys "{DOWN}"  '选择开启状态
        WScript.Sleep 300
    
        
        '==============配置VOIP================
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys OneLineStr(1)  'display name
        
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys OneLineStr(1)   'user number
        
        ws.SendKeys "{TAB}"
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys OneLineStr(1)   'auth id
        
        ws.SendKeys "{TAB}"    
        WScript.Sleep 200
        ws.SendKeys "^a"
        WScript.Sleep 200            
        ws.SendKeys TwoLineStr(1)   'password
        
        ws.SendKeys "{TAB}"
        WScript.Sleep 200
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys ThreeLineStr(1)   'proxy ip
        
        ws.SendKeys "{TAB}"        'domain
        WScript.Sleep 200
        ws.SendKeys "^a"
        WScript.Sleep 200
        ws.SendKeys ThreeLineStr(1)
        
        '=============保存===========
        ws.SendKeys "{TAB 48}"
        WScript.Sleep 500
        ws.SendKeys "{TAB}"
        WScript.Sleep 500
        ws.SendKeys "{ENTER}"
        WScript.Sleep 1500
        '===============重启==========
        
        ws.SendKeys "{TAB 18}"
        WScript.Sleep 1000
        ws.SendKeys "{ENTER}"
        WScript.Sleep 1000
        ws.SendKeys "{TAB 2}"
        WScript.Sleep 500
        ws.SendKeys "{ENTER}"
        WScript.Sleep 1000
        
        If ws.AppActivate("来自网页的消息") Then 
        
            ws.SendKeys "{ENTER}"
            WScript.Sleep 1000
            
            MsgBox "配置已完成,设备正在重启,请耐心等待...",,"提示"
            
        Else 
            MsgBox "配置未成功,请重新检查配置!",,"提示"
            
        End If 
    
    End Function 
    
    Set ws=Nothing 
    Set IE=Nothing 
    Set fso=Nothing 

    网页部分JS代码:

    <div id=”content” width=”650″>
    <form name=”M_SAV” method=”GET” enctype=”multipart/form-data” onReset=”” action=”content.cgi”>
    <input type=HIDDEN name=”_method_” value=”apply”>
    <input type=HIDDEN name=”form” value=”M_SAV”>
    <input type=HIDDEN name=”commit” value=”0″>
    <table id=”cFORM” width=”650″ border=”0″ cellspacing=”0″ cellpadding=”0″ >
    <tr><td>&nbsp</td></tr>
    </table><table width=”500″><td align=”center”>
    <input type=BUTTON onclick=”javascript:if ( confirm(‘Reboot’) ) top.location=’content.cgi?_method_=reboot’;” target=”_top” value=”Reboot”></a>
    </td></table></form>

    这篇文章就介绍到这了,希望大家以后多多支持lingkb。