使用SecureCRT進行腳本自動化可以通過其內置的JavaScript功能實現。以下是一個基本的示例腳本,該腳本可以根據用戶輸入的交換機名稱自動登錄到相應的設備。
allswip.txt
),其中每行包含一個交換機的IP、用戶名、密碼和超級密碼,字段之間用空格分隔。例如:192.168.1.1 admin password123 superpassword
192.168.1.2 admin password456 superpassword
Options
-> Edit Default Session...
,在彈出的窗口中選擇Terminal
-> Scripting
,確保Enable scripting
選項被勾選。Options
-> Session Options...
,在彈出的窗口中選擇Terminal
-> Scripting
,確保Enable scripting
選項被勾選。Script
-> New Script
,創建一個新的腳本文件。# $language = "JScript"
# $interface = "1.0"
var objTab;
crt.Screen.Synchronous = true;
function main() {
var fso, f;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("E:\\easy\\allswip.txt", ForReading);
var swname;
swname = crt.Dialog.Prompt("請輸入交換機名稱:", "登錄交換機", "", false);
swname = swname.replace(/(^\s*)|(\s*$)/g, "");
if (swname == "") {
crt.Dialog.MessageBox("交換機名稱不能為空");
}
while (f.AtEndOfStream != true) {
var str = f.Readline();
var t = str.split(' ');
if (t[1] == swname) {
objTab = crt.session.ConnectInTab("/telnet " + t[0]);
objTab.Screen.WaitForString("Username:");
objTab.Screen.Send(t[1] + "\r");
objTab.Screen.WaitForString("Password:");
objTab.Screen.Send(t[2] + "\r");
objTab.Screen.WaitForString(">");
objTab.Screen.Send("super 3\r");
objTab.Screen.WaitForString("Password:");
objTab.Screen.Send(t[3] + "\r");
objTab.Screen.WaitForString(">");
objTab.Screen.Send("sys\r");
objTab.Screen.WaitForString("]");
}
}
}
Script
-> Execute Script
,運行腳本。allswip.txt
文件路徑與腳本中指定的路徑一致。通過這種方式,您可以利用SecureCRT的腳本功能實現自動化登錄和管理多個設備,提高工作效率。