SecureCRT 是一款廣泛使用的終端仿真程序,支持多種腳本語言,如VBScript、Python 和 Perl,用戶可以編寫腳本來自動化常見任務,如登錄、配置和文件傳輸。以下是關于 Debian SecureCRT 腳本編寫的基礎信息:
time
、os
、csv
等。以下是一個使用 Python 編寫的簡單示例腳本,用于自動登錄到多個設備并執行命令:
# $language = "python"
# $interface = "1.0"
import time
import os
import csv
user = 'admin'
passwd = 'huawei@123'
def log_name():
current_time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
return current_time
def main():
crt.Screen.Synchronous = False
with open('ip.txt', 'r') as rfile:
host_list = rfile.readlines()
for host in host_list:
ip = host.split()[0]
cmd = f'/SSH2 /L {user} /PASSWORD {passwd} /C 3DES /M MD5 {ip}'
crt.Session.ConnectInTab(cmd)
time.sleep(1)
crt.Screen.Send('\r')
crt.Screen.Send('\r')
crt.Screen.WaitForString('>')
current_name = log_name()
time.sleep(1)
crt.Session.LogFileName = f"{current_name}_{ip}_{current_time}_log.txt"
crt.Session.Log(True)
time.sleep(1)
crt.Screen.Send('\r')
crt.Screen.WaitForString('>')
crt.Screen.Send('display cur \r')
while True:
crt.Screen.WaitForStrings([" ---- More ----", '<bj>"])
waitindex = crt.Screen.MatchIndex
if waitindex == 1:
crt.Dialog.MessageBox(' ---- More ----')
time.sleep(1)
crt.Screen.Send(' ')
elif waitindex == 2:
crt.Screen.Send('\r')
break
crt.Screen.Send('\r')
crt.Screen.Send('\r')
crt.Screen.WaitForString('>')
crt.Screen.Send('display ip inter brie \r')
print
函數輸出變量值,檢查腳本執行流程。通過掌握這些基礎知識和技巧,您可以更有效地使用 SecureCRT 進行自動化任務,提高工作效率。