2024年5月30日发(作者:)

SecureCRT脚本编写方法

一、 SecureCRT工具常用到的几个函数阐述如下:

在SecureCRT里,用得最多的应该就是,基本上很多操作都是基于屏幕的返回字来决定下

一步该作何操作:

第一:rString("KeyString",timewaiting)

该函数是单字符串判断,KeyString是需要查找的关键字,timewaiting是一个超时阀值,例如:

rString("people:",5)该行代码的意思就是在5秒内没有检测到people:出现,就执行下

一条语句,如果改成:rString("people:")那就是指直到people:出现才执行下一行代码

WaitForString是有返回值的,返回值是True或者False 因此,可以根据返回值进行条件判断以确定一

下条代码 例如:

If(rString("currentstate:UP",1)<>False)Then

portStatus="PortUP"

Else

portStatus="PortDown"

EndIf

msgboxportStatus

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

第二:rStrings("KeyString1","KeyString2",...,timeout)

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

rStrings("cisco","huawei","H3C",5)

意思就是在5秒内有检测到相应的字符时,返回相应的索引号(索引号是从1开始的) 如果都没有检

查到,则返回0.因此,该函数的使用可以如下:

Dim SwitchKey

SwitchKey=rStrings("cisco","huawei","H3C",5)

Select case SwitchKey

case 1

MsgBox"思科设备"

case 2

MsgBox"华为设备"

case 3

MsgBox"华三设备"

case else

MsgBox"未知设备"

End Select

几个对话性的函数

其实SecureCRT支持的脚本语言就是VBS,这个脚本语言与VB有较大的不同,对于界面的支持性较

差 不过也有几个对话性的函数

1、InputBox:提示用户输入参数

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

进行使用

2、输出函数msgbox

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

eg.求正方形面积的脚本

dimr,s

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

s=r*r

msgbox(s)

巡检代码示例

下面就我的工作性质,跟我同事一块制作的一个脚本程序——维护着N台路由器设备,每天需要对这

些设备进行例行巡检 下面是程序的所有代码,希望对各位有所帮助

***************************************************************************************

*******************

***************************************************************************************

*******************

#$language="VBScript"

#$interface="1.0"

'说明:

'本代码可在CRT工具中实现Cosico,华为,爱立信路由器交换机数据的自动配置或作为设备巡检之

用;

Setscreen='创建屏幕对象

'定义全局变量:

'Device变量为操作设备对象数组,作为存储设备名用;

'CiscoAggreOfCommands变量为思科设备命令集合数组,作为存储思科设备命令用;

'NE40EAggreOfCommands变量为华为NE40E设备命令集数组,作为存储华为NE设备命令用;

'SE800AggreOfCommands变量为爱立信SE800设备命令集数组,作为存储爱立信SE800设备命令用;

'ArrreOfRiskCommands变量为各厂家设备存在风险性操作命令的数组,作为存储过滤风险操作命令之

用;

'DeviceNumth变量为Device数组序号;

'CommandNumth变量为各厂家命令数组的序号;

'ResultOfType变量为判断设备类型标识符;

'TypeOfCommand变量作为存储当前命令类型用;

DimDevice,CiscoAggreOfCommands,NE40EAggreOfCommands,SE800AggreOfCommands,ArrreOfRiskComm

ands

DimDeviceNumth,CommandNumth,ResultOfType

DimTypeOfCommand

'爱立信设备集合

'Device=Array("CE35-ERICSE800","CE36-ERICSE800","CE37-ERICSE800","CE38-ERICSE800")

'华为设备集合

Device=Array("CE07-HWNE40E","CE08-HWNE40E",_

"CE09-HWNE40E","CE10-HWNE40E",_

"CE11-HWNE40E","CE12-HWNE40E",_

"CE21-HWNE40E","CE22-HWNE40E",_

"CE23-HWNE40E","CE24-HWNE40E",_

"CE25-HWNE40E","CE26-HWNE40E",_

"CE29-HWNE40E","CE30-HWNE40E",_

"CE33-HWNE40E","CE34-HWNE40E",_

"CE45-HWNE40E","CE46-HWNE40E",_

"CE47-HWNE40E","CE48-HWNE40E",_

"CE49-HWNE40E","CE50-HWNE40E")

'思科设备命令集合

CiscoAggreOfCommands=Array("showcdp",_

"showconf",_

"showhard",_

"showinterface",_

"showiproute",_

"showconf")

'华为NE40E设备命令集合

'健康检查

'告警检查

'日志检查

'单板运行状态检查

'CPU占用率检查

'内存占用率检查

'接口和链路状态以及流量检查

'NE40E接口状态检查

'OSPF邻居状态检查

'路由信息检查

NE40EAggreOfCommands=Array("displayhealth",_

"displaytrapbuffer",_

"displaylogbuffer",_

"displaydevice",_

"displaycpu-usage",_

"displaymemory-usage",_

"displayinterface",_

"disospfpeer",_

"displayiprouting-table")

'爱立信SE800设备命令集合

'单板注册信息

'办卡加电自检

'单板运行状态检查

'检查背板运行状态

'检查主控板冗余性

'存储设备利用率

'CPU利用率

'内存利用率检查

'端口运行状态检查

'端口数据收发状态检查

'电源使用情况检查