SecureCRT脚本

SecureCRT是VanDyke Software的一个商业SSH、Telnet客户端和虚拟终端软件,简单的说,是用于连接本地机器与远程服务器的工具,类似功能的工具有Putty、Xshell等。

SecureCRT支持的协议包括SSH1、SSH2、Telnet、RLogin、Serial、TAPI、Raw。这里记录SecureCRT对脚本的支持。

一、脚本创建方式

SecureCRT支持脚本的文件类型包括js、VBScript、Python等。
有两种创建脚本的方式:

  • 录制脚本
    将你在SecureCRT中的一系列操作录制成脚本
  • 写脚本
    可以选择自己熟悉的语言,降低学习成本,SecureCRT对不同语言脚本功能支持差异较小。

二、脚本执行方式

通常情况下,只需要点击Script->Run,然后选择脚本执行即可。
如有更多需求,可以详细看下面的几种执行方式。

1、人工执行脚本

(1)Script->Run选择脚本
(2)通过快捷键执行
通过Options设置map a key, 可以设置通过固定的快捷键组合可以执行指定的脚本
(3)通过点击button执行
view -> button bar, 在button bar 右键设置button,可以定义不同的button,可以设置每
个button执行一个特定的脚本,以后每次点击button即可执行

2、自动化执行脚本

(1)对于一个已经保存的会话(session),可以配置一个logon script, 实现每次连接这个会话时执行一个指定的脚本。
会话 --> 右键 --> 选择properties 设置 logon script
(2)命令行执行
进入SecureCRT.exe 所在目录,执行SecureCRT.exe /SCRIPT + 文件名即可。
如有更多需求,可以添加参数 /Arg + 参数
对于已经保存(pre-configured)的会话,可以添加/S + 会话名 指定执行此脚本的会话;
对于临时会话(ad hoc connection),可以SecureCRT.exe /SCRIPT 文件名 协议名 /L username /PASSWORD pwd hostname
例如SecureCRT.exe /SCRIPT 文件名 /SSH2 /L user /PASSWORD pwd 192.168.0.1

三、 脚本功能

这里只是简单的记录脚本支持的功能,初学者如果需要具体使用的方法,可以参考http://www.cnblogs.com/OnOwnRoad/p/4893457.html ,里面的示例使用JS脚本。另外可以参见SecureCRT客户端中Help->Help Topics->Scripting,介绍很详细。

1、 远程连接

(1) 对于已经保存的会话

crt.Session.Connect("/S hostname")

(2) 对于临时会话

crt.Session.Connect("/protocol /L username /PASSWORD pwd hostname")

(3) 多个连接 in tabs
一种方式:命令行执行加 /T
例如:

SecureCRT.exe /T /S "Redhat 8" /S "Cisco Pix" /S "SuseServer"

另一种方式:
在脚本中使用Session.ConnectInTab()

(4) 克隆会话
Tab.Clone()

(5) 打开一组会话,可以给每个会话发送消息
例如:

####### $language = "Python"
####### $interface = "1.0"

def main():
crt.Session.Connect("/S 10.142.113.224")
crt.Session.ConnectInTab("/S copy")
func()

def func():
tab1 = crt.GetTab(1)
tab1.Screen.Send("ls -l\r\n")
tab2 = crt.GetTab(2)
tab2.Screen.Send("df -h\r\n")

main()

2、 从远程设备读数据
  • 等待特定的数据到达
    crt.Screen.WaitForString()
  • 等待特定的数据中的一个到达
    crt.Screen.WaitForStrings()
  • 只要有数据到达就开始捕获数据
    crt.Screen.ReadString()
  • 监听按键事件
    crt.Screen.WaitForKey
  • 监听游标移动
    crt.Screen.WaitForCursor
  • 截获屏幕上特定位置出现的字符串
    crt.Screen.Get
    crt.Screen.Get2
3、 给远程设备发送数据
  • 发送字符串
    crt.Screen.Send()
  • 发送SecureCRT的内建命令
    crt.Screen.SendSpecial()
4、 人机对话
  • 选择文件
    crt.Dialog.FileOpenDialog()
  • 弹出信息框
    crt.Dialog.MessageBox()
  • 弹出提示用户输入的信息框
    crt.Dialog.Prompt()
5、 记录日志

crt.Session.Log()

6、 传输文件

使用FileTransfer对象实现上传文件和下载文件

7、 存储数据到剪贴板

使用Clipboard对象存储数据到剪贴板,可以设置不同的格式(format)

8、 针对tab
  • crt.GetActiveTab
  • crt.GetScriptTab
  • crt.GetTabCount
  • 按照tab顺序按索引操作crt. GetTab(index)
9、 操作窗口(window)
  • 检查活跃状态
  • 设置标题
  • 隐藏、最小化、最大化

你可能感兴趣的:(SecureCRT脚本)