使用VBS脚本实现Telnet批量备份交换机/路由器

版权申诉
0 下载量 59 浏览量 更新于2024-11-29 收藏 1KB RAR 举报
资源摘要信息:"使用VBS脚本通过SecureCRT批量telnet备份交换机和路由器并能够更改设备类型" ### 知识点一:VBS脚本基础 VBS(Visual Basic Script)是一种脚本语言,它是Visual Basic的一种简便版本,通常用于Windows操作系统下的自动化任务。VBS脚本可以在Windows环境中直接执行,不需要编译,使得编程变得简单且易于快速部署。由于其易用性,VBS常被用于编写自动化脚本,比如批量操作文件、发送网络请求、数据库操作等。 ### 知识点二:SecureCRT工具 SecureCRT是一款支持SSH、Telnet等多种协议的终端仿真程序,广泛用于远程登录服务器或网络设备。它可以提供安全的远程访问能力,支持加密的会话,保证数据传输的安全性。在IT管理工作中,SecureCRT是网络管理员和系统管理员常用来管理网络设备、服务器和远程系统的必备工具。 ### 知识点三:telnet协议 Telnet是一种网络协议,主要用于互联网上的远程登录。尽管它不提供加密,存在安全隐患,但在一些需要简单远程访问控制台的场景中仍被使用。通过telnet协议,用户可以远程访问设备的命令行界面,并进行配置和管理。由于安全性的考虑,目前很多场合推荐使用SSH(Secure Shell)代替telnet。 ### 知识点四:批量操作 批量操作是指通过编写脚本或使用自动化工具来一次性执行多个任务。在本例中,通过编写VBS脚本可以实现对多个网络设备(如交换机和路由器)的批量操作。这些操作可能包括查看设备配置、更改设备配置、执行备份等。 ### 知识点五:备份网络设备 网络设备的备份通常是指将网络设备的配置信息导出并保存到一个安全的位置。这样在需要的时候可以通过导入备份文件来恢复设备的配置。备份的配置文件可以是设备制造商特定的格式,例如Cisco设备的配置文件通常是"text"格式,可以通过设备的命令行界面导出。 ### 知识点六:更改设备类型 在VBS脚本中更改设备类型可能涉及到两层含义: 1. 根据设备类型(例如不同品牌或型号的路由器或交换机)执行不同的配置或备份命令。 2. 在脚本中动态修改某些特定参数或设置,使其适应不同设备类型的需求。 ### 知识点七:文件压缩包子的使用 文件压缩包子是一种压缩技术,通常用于减小文件大小,便于存储和传输。在IT行业,压缩文件包常用格式有zip、rar、7z等。而“压缩包子”可能是一个误听或者是一个特定地区的术语。在本例中,提到的"压缩包子文件"可能指的是经过压缩的VBS脚本文件,用于方便地传输和分发。 ### 总结 本文件描述了一个利用VBS脚本和SecureCRT工具批量telnet备份交换机和路由器的功能。通过编写VBS脚本,可以自动化执行网络设备的备份过程,并根据需要对不同类型的设备执行不同的操作。该脚本可能还包含了更改设备配置的逻辑,以适应不同网络设备的操作需求。这种自动化脚本能够显著提高网络设备管理的效率,减少重复劳动,提升IT运维的智能化水平。同时,本例也涉及到了文件压缩技术的使用,说明了如何通过压缩包子文件将脚本打包,便于分发和部署。

def test_mobilenet(): # todo 加载数据, 224*224的大小 模型一次训练16张图片 train_ds, test_ds, class_names = data_load(r"C:\Users\wjx\Desktop\项目\data\flower_photos_split\train", r"C:\Users\wjx\Desktop\项目\data\flower_photos_split\test", 224, 224, 16) # todo 加载模型 model = tf.keras.models.load_model("models/mobilenet_fv.h5") # model.summary() # 测试,evaluate的输出结果是验证集的损失值和准确率 loss, accuracy = model.evaluate(test_ds) # 输出结果 print('Mobilenet test accuracy :', accuracy) test_real_labels = [] test_pre_labels = [] for test_batch_images, test_batch_labels in test_ds: test_batch_labels = test_batch_labels.numpy() test_batch_pres = model.predict(test_batch_images) # print(test_batch_pres) test_batch_labels_max = np.argmax(test_batch_labels, axis=1) test_batch_pres_max = np.argmax(test_batch_pres, axis=1) # print(test_batch_labels_max) # print(test_batch_pres_max) # 将推理对应的标签取出 for i in test_batch_labels_max: test_real_labels.append(i) for i in test_batch_pres_max: test_pre_labels.append(i) # break # print(test_real_labels) # print(test_pre_labels) class_names_length = len(class_names) heat_maps = np.zeros((class_names_length, class_names_length)) for test_real_label, test_pre_label in zip(test_real_labels, test_pre_labels): heat_maps[test_real_label][test_pre_label] = heat_maps[test_real_label][test_pre_label] + 1 print(heat_maps) heat_maps_sum = np.sum(heat_maps, axis=1).reshape(-1, 1) # print(heat_maps_sum) print() heat_maps_float = heat_maps / heat_maps_sum print(heat_maps_float) # title, x_labels, y_labels, harvest show_heatmaps(title="heatmap", x_labels=class_names, y_labels=class_names, harvest=heat_maps_float, save_name="images/heatmap_mobilenet.png")

2023-06-13 上传