使用plink批量ssh登录华为交换机,查看交换机物理端口状态,并进入状态为down的端口配置shutdown命令,配置完成后保存并将端口状态输出为txt格式
时间: 2025-02-10 18:15:27 浏览: 88
使用Plink批量SSH登录华为交换机并检查物理端口状态,你可以创建一个批处理脚本(bat文件),结合 Expect 脚本语言(如果 Plik 不支持交互式输入)来完成任务。下面是简化的步骤和脚本示例:
首先确保安装了 Expect 和 Plink:
1. 打开命令提示符(cmd)并运行 `expect` 或者 `plink` 来确认是否已安装。
2. 创建一个bat脚本(例如`check_ports.bat`):
```bat
@echo off
setlocal enabledelayedexpansion
set EXE_PATH=path_to_your_plink.exe
set USER=your_username
set PASS=your_password
:: 定义交换机列表
set switches=switch1,switch2,switch3 ...
:: 遍历交换机
for /f "tokens=*" %%s in ('echo %switches%') do (
set IP=%%s
echo Checking port status on %IP%
%EXE_PATH% -l %USER% -pw %PASS% -m expect.sh << EOF
spawn telnet !IP! 23
expect "Username:"
send "%USER%\r"
expect "Password:"
send "%PASS%\r"
expect "#"
# 查看端口状态,假设命令格式为 "show interface EthernetX/Y"
send "show interface EthernetX/Y\r"
expect eof
send_user "\nPort state: \n"
# 获取状态为down的端口
expect "down" {
send "configure terminal\r"
send "interface EthernetX/Y\r"
send "shutdown\r"
send "write memory\r"
expect "#"
send_user "\nInterface EthernetX/Y has been shutdown.\n"
}
# 保存配置并退出
send "exit\r"
expect "#"
send_user "\nConfiguration saved.\n"
EOF
)
echo Done!
pause
```
这里假设交换机上使用的命令格式为`show interface EthernetX/Y`来获取端口状态,`shutdown`命令用于关闭端口,然后使用`write memory`保存配置。`send_user`用于输出结果。
`expect.sh` 文件应包含 `spawn telnet ...` 开始的 Expect 交互逻辑,这取决于你的设备实际的telnet界面交互模式。
阅读全文
相关推荐






