使用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的脚本功能实现自动化登录和管理多个设备,提高工作效率。