因安全規則要求,必須定期修改交換機密碼, 而交換機數量多,所以配置了一個腳本遠程自動修改。
腳本命令如下:
# $language = "VBScript"
# $interface = "1.0"
' Connect to an SSH server using the SSH2 protocol. Specify the
' username and password and hostname on the command line as well as
' some SSH2 protocol specific options.
Sub Main
Dim user
user = "***" 'ssh登錄設備時的用戶名
Dim passwd
passwd = "*******" ’ssh登錄的密碼
Dim superpwd
superpwd="******" '原來super3的密碼
Dim fso,file,host
'打開保存設備管理地址文件
Const ForReading = 1,ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
'定義一個ip列表文檔,將所有交換機的ip地址單獨列出,表格無需任何格式,只用每行一個ip地址就可以
Set file = fso.OpenTextFile("D:\辦公文檔\運維管理\修改交換機super3密碼\ip.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file.AtEndOfStream <> True
'讀出每行,將每一行ip賦予host
host = file.ReadLine
crt.session.LogFileName = "D:\辦公文檔\運維管理\修改交換機super3密碼\" & host & ".txt"
crt.session.Log(true)
' SSH登陸
cmd = "/SSH2 /L " & user & " /PASSWORD " & passwd & " /C AES-128 /M MD5 " & host
crt.Session.Connect cmd
'輸入super 密碼
crt.Screen.WaitForString ">"
crt.Screen.Send "super" & Chr(13)
crt.Screen.WaitForString ":"
crt.Screen.Send superpwd & Chr(13)
'登錄系統視圖
crt.Screen.WaitForString ">"
crt.Screen.Send "sys" & Chr(13)
crt.Screen.WaitForString "]"
'修改super3密碼
crt.Screen.Send "super password level 3 cipher 123456"& Chr(13) '123456爲你修改的密碼
crt.Screen.WaitForString "]"
'保存配置
crt.Screen.Send "save"& Chr(13)
crt.Screen.Send "Y" & Chr(13)
crt.Screen.WaitForString ":"
crt.Screen.Send ""& Chr(13)
crt.Screen.WaitForString "[Y/N]:"
crt.Screen.Send "Y" & Chr(13)
crt.Screen.WaitForString "successfully."
crt.Screen.Send ""& Chr(13)
crt.Screen.WaitForString "]"
'退出程序
crt.Screen.Send "quit"& Chr(13)
crt.Screen.WaitForString ">"
crt.Screen.Send "quit"& Chr(13)
crt.Session.Disconnect
loop
crt.Screen.Synchronous = False
End Sub