SecureCRT脚本执行全指南
一 支持的语言与录制方式
二 图形界面手动执行
三 自动化与登录时执行
SecureCRT.exe /SCRIPT 脚本路径 /S "会话名"SecureCRT.exe /SCRIPT 脚本路径 /SSH2 /L 用户名 /PASSWORD 密码 主机SecureCRT.exe /T /S "会话1" /S "会话2"crt.Arguments.GetArg(0) 等(按索引取参)。四 常用脚本 API 与最小示例
crt.Session.Connect("/S 会话名") 或 crt.Session.ConnectInTab("/SSH2 主机")(多标签)crt.Screen.WaitForString("提示符", 超时)、crt.Screen.Send("命令\r\n")crt.Session.Log(True) 开启日志,crt.Session.Log(False) 关闭crt.Dialog.MessageBox()、crt.Dialog.Prompt()、crt.Dialog.FileOpenDialog()# $language = "Python"
# $interface = "1.0"
import time
def main():
tab = crt.GetScriptTab()
tab.Screen.Synchronous = True
tab.Screen.WaitForString("login:", 10)
tab.Screen.Send("your_username\r\n")
tab.Screen.WaitForString("Password:", 10)
tab.Screen.Send("your_password\r\n")
tab.Screen.WaitForString("$ ", 10) # 根据设备提示符调整
tab.Screen.Send("uname -a\r\n")
tab.Screen.WaitForString("$ ")
tab.Screen.Send("exit\r\n")
main()
# $language = "VBScript"
# $interface = "1.0"
Sub Main
crt.Screen.Synchronous = True
crt.Session.Connect "/SSH2 192.0.2.10"
crt.Screen.WaitForString "login:", 10
crt.Screen.Send "admin" & vbCrLf
crt.Screen.WaitForString "Password:", 10
crt.Screen.Send "P@ssw0rd" & vbCrLf
crt.Screen.WaitForString "> ", 10
crt.Screen.Send "show version" & vbCrLf
End Sub
crt.Screen.Synchronous = True 让输出与脚本节奏一致,减少错行。WaitForString/WaitForStrings 精确同步,避免命令“抢跑”。五 排错与最佳实践
crt.Session.Log() 输出执行过程,便于定位卡点;必要时在关键步骤后加 time.sleep(0.5) 稳定输出。