SecureCRT自动化运维实战指南
一 核心思路与适用场景
二 快速落地步骤
三 示例脚本与命令
# $language = "Python"
# $interface = "1.0"
import os, datetime
def main():
crt.Screen.Synchronous = True
host = crt.Dialog.Prompt("请输入设备IP或主机名:", "连接", "")
if not host:
return
# 连接(可按需改为 SSH)
tab = crt.Session.Connect(f"/telnet {host}")
if not tab:
crt.Dialog.MessageBox("连接失败")
return
# 登录自动化
tab.Screen.WaitForString("Username:")
tab.Screen.Send("admin\r")
tab.Screen.WaitForString("Password:")
tab.Screen.Send("P@ssw0rd\r")
# 进入特权模式(按设备提示符调整)
tab.Screen.WaitForString(">")
tab.Screen.Send("enable\r")
tab.Screen.WaitForString("Password:")
tab.Screen.Send("EnablePass\r")
tab.Screen.WaitForString("#")
# 执行命令
tab.Screen.Send("terminal length 0\r")
tab.Screen.WaitForString("#")
tab.Screen.Send("show version\r")
tab.Screen.WaitForString("#")
# 保存日志
log_dir = r"C:\securecrt\logs"
os.makedirs(log_dir, exist_ok=True)
ts = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
log_file = os.path.join(log_dir, f"{host}_{ts}.log")
tab.Session.LogFileName = log_file
tab.Session.Log(True)
crt.Dialog.MessageBox(f"完成,日志:{log_file}")
main()
四 批量与无人值守实践
五 安全与合规建议