目錄
SecureCRT中Script脚本使用心得
首頁 php教程 php手册 SecureCRT中Script脚本使用心得

SecureCRT中Script脚本使用心得

Jun 13, 2016 am 08:40 AM
android

SecureCRT中Script脚本使用心得

在SecureCRT中使用VBSCRIPT脚本,确实能够提高我们的工作效率,并且可以实现完全的自动化。

SecureCRT给我们提供了很好的平台——脚本工具制作和运行。下面就SecureCRT工具常用到的几个函数阐述如下:

1. 在SecureCRT里,用得最多的应该就是crt.Screen,基本上很多操作都是基于屏幕的返回字来决定下一步该作何操作:

(1):crt.Screen.WaitForString("KeyString",timewaiting)

该函数是单字符串判断,KeyString是需要查找的关键字,timewaiting是一个超时阀值,例如:crt.Screen.WaitForString("people:",5)该行代码的意思就是在5秒内没有检测到people:出现,就执行下一条语句,如果改成:crt.Screen.WaitForString("people:")那就是指直到people:出现才执行下一行代码。

WaitForString是有返回值的,返回值是True 或者 False。因此,可以根据返回值进行条件判断以确定一下条代码。例如:

If (crt.Screen.WaitForString ("current state : UP",1)False) Then
portStatus="PortUP"
Else
portStatus="PortDown"
End If

msgbox portStatus

这段代码用于判断端口状态情况并记录下来.

(2):crt.Screen.WaitForStrings("KeyString1","KeyString2",...,timeout)

用于多个字符串的判断,timeout的作用是一样的。例如:

crt.Screen.WaitForStrings("cisco","huawei","H3C",5)

意思就是在5秒内有检测到相应的字符时,返回相应的索引号(索引号是从1开始的)。如果都没有检查到,则返回0.因此,该函数的使用可以如下:

Dim SwitchKey

SwitchKey=crt.Screen.WaitForStrings("cisco","huawei","H3C",5)

Select case SwitchKey

case 1

MsgBox "思科设备"

case 2

MsgBox "华为设备"

case 3

MsgBox "华三设备"

case else

MsgBox "未知设备"

End Select

(3) 其实SecureCRT支持的脚本语言就是VBS,这个脚本语言与VB有较大的不同,对于界面的支持性较差。不过也有几个对话性的函数

、InputBox :提示用户输入参数

temp = inputbox("提示用户你输入参数的名称","对话框的名称") :需要将输入的参数赋值给某一个参数进行使用。

、输出函数 msgbox

msgbox “给用户输出的信息对话框”

eg.求正方形面积的脚本

dim r,s
r=inputbox("请输入正方形的边长:","求正方形面积的程序")
s=r*r
msgbox(s)

-------------------------------------------------------------------------------------------

语句结构:

1. 顺序执行的脚本,举个网上泛滥的例子,那个自动登录系统的例子,稍加修改如下。

# $language = "VBScript"
# $interface = "1.0"

Sub Main
'连接主机192.168.0.2
crt.session.Connect("/telnet 192.168.0.2")
'等待出现登陆用户名提示login,等待时间是10s
crt.screen.WaitForString "login:",10
'输入用户名,回车
crt.screen.send "minico" & Chr(13)
'等待出现登陆密码提示login,等待时间是10s
crt.screen.WaitForString "Password:",10
'输入密码,回车
crt.screen.send "123456"

crt.screen.send Chr(13)
End Sub

2. 选择结构的脚本

if ... then ...else...结构和case结构见基础知识举例

3. 循环结构

 

 

 

脚本实例

#=====================================================

# $language = "VBScript"
# $interface = "1.0"
'============================================================================================='
'    程序名称:AIX.VBS
'    程序说明:AIX主机系统配置/巡检脚本
'    作者:郑继东
'    完成时间:2008-5-7
'============================================================================================='

'============================================================================================='
'    程序全局变量区
'============================================================================================='
dim ip

'============================================================================================='
'    程序全局常量区
'============================================================================================='
' button parameter options
Const ICON_STOP = 16                 ' display the ERROR/STOP icon.
Const ICON_QUESTION = 32             ' display the '?' icon
Const ICON_WARN = 48                 ' display a '!' icon.
Const ICON_INFO= 64                  ' displays "info" icon.
Const BUTTON_OK = 0                  ' OK button only
Const BUTTON_CANCEL = 1              ' OK and Cancel buttons
Const BUTTON_ABORTRETRYIGNORE = 2    ' Abort, Retry, and Ignore buttons
Const BUTTON_YESNOCANCEL = 3         ' Yes, No, and Cancel buttons
Const BUTTON_YESNO = 4               ' Yes and No buttons
Const BUTTON_RETRYCANCEL = 5         ' Retry and Cancel buttons
Const DEFBUTTON1 = 0        ' First button is default
Const DEFBUTTON2 = 256      ' Second button is default
Const DEFBUTTON3 = 512      ' Third button is default

' Possible MessageBox() return values
Const IDOK = 1              ' OK button clicked
Const IDCANCEL = 2          ' Cancel button clicked
Const IDABORT = 3           ' Abort button clicked
Const IDRETRY = 4           ' Retry button clicked
Const IDIGNORE = 5          ' Ignore button clicked
Const IDYES = 6             ' Yes button clicked
Const IDNO = 7              ' No button clicked

'============================================================================================='
'    程序辅助函数区
'============================================================================================='

'登陆函数
Function login
    '定义IP地址,登陆用户名,密码变量
    dim    passwd
    dim username

    Dim result
    Dim flag
    flag =1
    '断开主机连接
    crt.session.Disconnect

    '开启对话框,取得IP地址,登陆用户名称,密码等变量
    ip = crt.Dialog.Prompt("请输入服务器IP地址:", "AIX", "192.1.1.207", false)
    If (Trim(ip) = "")  Or (ip = IDABORT) Then
        result = crt.Dialog.MessageBox("您没有输入登陆的IP地址,CRT将被退出!", "提示信息",ICON_INFO)
        crt.quit
    End If

    flag =1
    While flag = 1
        username = crt.Dialog.Prompt("请输入登陆用户名:", "AIX", "root", false)
        If     username = IDABORT Then
            result = crt.Dialog.MessageBox("您选择了没有输入用户名称,CRT将被推出!", "提示信息",ICON_INFO)           
            crt.quit
        End If

        If (Trim(username) = "")Then
            result = crt.Dialog.MessageBox("请输入登陆用户名称!", "提示信息",ICON_INFO)
        Else
            flag = 0
        End If
    wend

    passwd = crt.Dialog.Prompt("请输入登陆用户密码:", "AIX", "congine", true)

    '连接主机
    crt.screen.Synchronous = true
    crt.session.Connect("/telnet " & ip)
    '等待出现登陆用户名提示login,等待时间是10s
    crt.screen.WaitForString "login:"
    '输入用户名,回车
    crt.screen.send username & chr(13)

    '等待出现登陆密码提示login,等待时间是10s
    crt.screen.WaitForString "Password:"
    '输入密码,回车
    crt.screen.send passwd & chr(13)
    If crt.screen.WaitForString("invalid login name or password", 3) = True Then
        result = crt.Dialog.MessageBox("服务器登陆失败,请检查IP地址、用户名、密码是否输入正确!", "提示信息",ICON_INFO)
        crt.quit
    End If
    crt.screen.Synchronous = false
End Function

'记录当前会话日志函数
Function writelog   
    Dim result
    Dim logfilename
    Dim flag
    flag =1

    While flag =1
        logfilename = crt.Dialog.Prompt("请输入本次会话LOG文件位置", "AIX", "c:\"  & ip &".log", false)
        If Trim(logfilename) = ""  Or  (logfilename = IDABORT) then
            result = crt.Dialog.MessageBox("强烈建议保存会话日志", "提示信息",ICON_INFO)
        Else
            flag = 0
        End if
    wend
    crt.session.LogFileName = logfilename
    crt.session.Log(true)
End Function

Function  setline
    crt.screen.send chr(13) & chr(13)
'    crt.Sleep 1000
End Function

Function setcommand(cmdstr, sec)
    setline
    sec = sec * 1000
    crt.screen.send cmdstr & Chr(13)
    crt.Sleep sec
End Function

'取得服务器基本信息
Function get_machinfo

    '主机基本信息
    setcommand "hostname",1
    setcommand "prtconf |grep 'Machine Serial Number'",6
    '主机设备情况
    setcommand "lsdev -C |grep proc",2
    setcommand "lsattr -El mem0",2
    setcommand "lsdev -Cc disk",2
    setcommand "lsdev -Cc adapter",2
    setcommand "lsdev -Cc tape",2

    '主机网卡情况
    setcommand "ifconfig -a",2
    setcommand "more /etc/hosts",2

    '主机软件信息
    setcommand "uname -a ",2
    setcommand "oslevel -s",5
    setcommand "instfix -i |grep ML",10

    '主机卷组信息
    setcommand "lsvg ",2
    setcommand "lsvg -o",2
    setcommand "lsvg -l rootvg",2

    '主机文件系统信息
    setcommand "df -g ",2

    '主机日志信息
    setcommand "errpt ",2
    setcommand "errpt  -a",2
    setcommand "sysdumpdev -l ",2

    '主机系统性能
    setcommand "lsps -a",2
    setcommand "vmstat 2 10",25
    setcommand "iostat 2 10",25

End Function

'============================================================================================='
'    程序主函数(main)区
'============================================================================================='

'主函数
Sub Main
    Dim result
'    crt.screen.Synchronous = true
    '系统登陆
    login

    '写日志
    writelog

    '取得服务器信息
    get_machinfo
    result = crt.Dialog.MessageBox("信息收集完毕,是否推出CRT?", "提示信息", ICON_QUESTION Or BUTTON_YESNO Or DEFBUTTON2)
    If    result = IDYES Then
        crt.quit
    End If

    '结束会话日志
    crt.session.Log(false)
'    crt.screen.Synchronous = false
End Sub

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1272
29
C# 教程
1252
24
新報告對傳聞中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相機升級進行了嚴厲的評估 新報告對傳聞中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相機升級進行了嚴厲的評估 Sep 12, 2024 pm 12:23 PM

最近幾天,Ice Universe 不斷披露有關 Galaxy S25 Ultra 的詳細信息,人們普遍認為這款手機將是三星的下一款旗艦智慧型手機。除此之外,洩密者聲稱三星只計劃升級一台相機

三星 Galaxy S25 Ultra 洩漏了第一張渲染圖,傳聞中的設計變化被曝光 三星 Galaxy S25 Ultra 洩漏了第一張渲染圖,傳聞中的設計變化被曝光 Sep 11, 2024 am 06:37 AM

OnLeaks 現在與 Android Headlines 合作,首次展示了 Galaxy S25 Ultra,幾天前,他試圖從他的 X(以前的 Twitter)粉絲那裡籌集到 4,000 美元以上的資金,但失敗了。對於上下文,嵌入在 h 下面的渲染圖像

IFA 2024 | TCL 的 NXTPAPER 14 在性能上無法與 Galaxy Tab S10 Ultra 相媲美,但在尺寸上幾乎可以與之媲美 IFA 2024 | TCL 的 NXTPAPER 14 在性能上無法與 Galaxy Tab S10 Ultra 相媲美,但在尺寸上幾乎可以與之媲美 Sep 07, 2024 am 06:35 AM

除了發布兩款新智慧型手機外,TCL 還發布了一款名為 NXTPAPER 14 的新 Android 平板電腦,其大螢幕尺寸是其賣點之一。 NXTPAPER 14 採用 TCL 標誌性品牌霧面液晶面板 3.0 版本

Vivo Y300 Pro 在 7.69 毫米纖薄機身中配備 6,500 mAh 電池 Vivo Y300 Pro 在 7.69 毫米纖薄機身中配備 6,500 mAh 電池 Sep 07, 2024 am 06:39 AM

Vivo Y300 Pro剛剛全面亮相,它是最薄的中階Android手機之一,配備大電池。準確來說,這款智慧型手機厚度僅為 7.69 毫米,但配備 6,500 mAh 電池。這與最近推出的容量相同

三星 Galaxy S24 FE 預計將以低於預期的價格推出,有四種顏色和兩種記憶體選項 三星 Galaxy S24 FE 預計將以低於預期的價格推出,有四種顏色和兩種記憶體選項 Sep 12, 2024 pm 09:21 PM

三星尚未就何時更新其 Fan Edition (FE) 智慧型手機系列提供任何提示。目前來看,Galaxy S23 FE 仍然是該公司的最新版本,於 2023 年 10 月年初推出。

新報告對傳聞中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相機升級進行了嚴厲的評估 新報告對傳聞中的三星 Galaxy S25、Galaxy S25 Plus 和 Galaxy S25 Ultra 相機升級進行了嚴厲的評估 Sep 12, 2024 pm 12:22 PM

最近幾天,Ice Universe 不斷披露有關 Galaxy S25 Ultra 的詳細信息,人們普遍認為這款手機將是三星的下一款旗艦智慧型手機。除此之外,洩密者聲稱三星只計劃升級一台相機

小米紅米 Note 14 Pro Plus 上市,成為首款配備 Light Hunter 800 相機的高通 Snapdragon 7s Gen 3 智慧型手機 小米紅米 Note 14 Pro Plus 上市,成為首款配備 Light Hunter 800 相機的高通 Snapdragon 7s Gen 3 智慧型手機 Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plus 現已正式成為去年 Redmi Note 13 Pro Plus 的直接後繼產品(亞馬遜售價 375 美元)。正如預期的那樣,Redmi Note 14 Pro Plus與Redmi Note 14和Redmi Note 14 Pro一起成為Redmi Note 14系列的主角。李

摩托羅拉 Razr 50s 在早期洩漏中顯示自己可能是新的預算可折疊手機 摩托羅拉 Razr 50s 在早期洩漏中顯示自己可能是新的預算可折疊手機 Sep 07, 2024 am 09:35 AM

摩托羅拉今年發布了無數設備,儘管其中只有兩款是可折疊的。就上下文而言,雖然世界上大多數地區都收到了 Razr 50 和 Razr 50 Ultra,但摩托羅拉在北美提供了 Razr 2024 和 Razr 2

See all articles