SecureCRT脚本

作者: kaley_ma | 来源:发表于2017-07-19 19:30 被阅读0次

    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脚本

        本文链接:https://www.haomeiwen.com/subject/nifrkxtx.html