SecureCRT是VanDyke Software的一個(gè)商業(yè)SSH、Telnet客戶端和虛擬終端軟件,簡(jiǎn)單的說世蔗,是用于連接本地機(jī)器與遠(yuǎn)程服務(wù)器的工具余掖,類似功能的工具有Putty赁豆、Xshell等墩衙。
SecureCRT支持的協(xié)議包括SSH1、SSH2、Telnet愉棱、RLogin顺少、Serial氓辣、TAPI钞啸、Raw。這里記錄SecureCRT對(duì)腳本的支持哨毁。
一、腳本創(chuàng)建方式
SecureCRT支持腳本的文件類型包括js脏毯、VBScript吉嫩、Python等渠退。
有兩種創(chuàng)建腳本的方式:
- 錄制腳本
將你在SecureCRT中的一系列操作錄制成腳本 - 寫腳本
可以選擇自己熟悉的語言,降低學(xué)習(xí)成本晨川,SecureCRT對(duì)不同語言腳本功能支持差異較小呀页。
二、腳本執(zhí)行方式
通常情況下,只需要點(diǎn)擊Script->Run
,然后選擇腳本執(zhí)行即可私股。
如有更多需求峭状,可以詳細(xì)看下面的幾種執(zhí)行方式羔巢。
1稿壁、人工執(zhí)行腳本
(1)Script->Run
選擇腳本
(2)通過快捷鍵執(zhí)行
通過Options
設(shè)置map a key
, 可以設(shè)置通過固定的快捷鍵組合可以執(zhí)行指定的腳本
(3)通過點(diǎn)擊button執(zhí)行
view -> button bar
, 在button bar
右鍵設(shè)置button,可以定義不同的button,可以設(shè)置每
個(gè)button執(zhí)行一個(gè)特定的腳本,以后每次點(diǎn)擊button即可執(zhí)行
2、自動(dòng)化執(zhí)行腳本
(1)對(duì)于一個(gè)已經(jīng)保存的會(huì)話(session),可以配置一個(gè)logon script
, 實(shí)現(xiàn)每次連接這個(gè)會(huì)話時(shí)執(zhí)行一個(gè)指定的腳本。
會(huì)話 --> 右鍵 --> 選擇properties
? 設(shè)置 logon script
(2)命令行執(zhí)行
進(jìn)入SecureCRT.exe 所在目錄,執(zhí)行SecureCRT.exe /SCRIPT + 文件名
即可。
如有更多需求,可以添加參數(shù) /Arg + 參數(shù)
谈秫。
對(duì)于已經(jīng)保存(pre-configured)的會(huì)話迄本,可以添加/S + 會(huì)話名
指定執(zhí)行此腳本的會(huì)話公条;
對(duì)于臨時(shí)會(huì)話(ad hoc connection)路捧,可以SecureCRT.exe /SCRIPT 文件名 協(xié)議名 /L username /PASSWORD pwd hostname
例如SecureCRT.exe /SCRIPT 文件名 /SSH2 /L user /PASSWORD pwd 192.168.0.1
三涉波、 腳本功能
這里只是簡(jiǎn)單的記錄腳本支持的功能窗声,初學(xué)者如果需要具體使用的方法见剩,可以參考http://www.cnblogs.com/OnOwnRoad/p/4893457.html 羹呵,里面的示例使用JS腳本凑耻。另外可以參見SecureCRT客戶端中Help->Help Topics->Scripting
,介紹很詳細(xì)弃衍。
1、 遠(yuǎn)程連接
(1) 對(duì)于已經(jīng)保存的會(huì)話
crt.Session.Connect("/S hostname")
(2) 對(duì)于臨時(shí)會(huì)話
crt.Session.Connect("/protocol /L username /PASSWORD pwd hostname")
(3) 多個(gè)連接 in tabs
一種方式:命令行執(zhí)行加 /T
例如:
SecureCRT.exe /T /S "Redhat 8" /S "Cisco Pix" /S "SuseServer"
另一種方式:
在腳本中使用Session.ConnectInTab()
(4) 克隆會(huì)話
Tab.Clone()
(5) 打開一組會(huì)話剧董,可以給每個(gè)會(huì)話發(fā)送消息
例如:
####### $language = "Python"
####### $interface = "1.0"
def main():
crt.Session.Connect("/S 10.142.113.224")
crt.Session.ConnectInTab("/S copy")
func()
def func():
tab1 = crt.GetTab(1)
tab1.Screen.Send("ls -l\r\n")
tab2 = crt.GetTab(2)
tab2.Screen.Send("df -h\r\n")
main()
2、 從遠(yuǎn)程設(shè)備讀數(shù)據(jù)
- 等待特定的數(shù)據(jù)到達(dá)
crt.Screen.WaitForString() - 等待特定的數(shù)據(jù)中的一個(gè)到達(dá)
crt.Screen.WaitForStrings() - 只要有數(shù)據(jù)到達(dá)就開始捕獲數(shù)據(jù)
crt.Screen.ReadString() - 監(jiān)聽按鍵事件
crt.Screen.WaitForKey - 監(jiān)聽游標(biāo)移動(dòng)
crt.Screen.WaitForCursor - 截獲屏幕上特定位置出現(xiàn)的字符串
crt.Screen.Get
crt.Screen.Get2
3蚯撩、 給遠(yuǎn)程設(shè)備發(fā)送數(shù)據(jù)
- 發(fā)送字符串
crt.Screen.Send() - 發(fā)送SecureCRT的內(nèi)建命令
crt.Screen.SendSpecial()
4呀癣、 人機(jī)對(duì)話
- 選擇文件
crt.Dialog.FileOpenDialog() - 彈出信息框
crt.Dialog.MessageBox() - 彈出提示用戶輸入的信息框
crt.Dialog.Prompt()
5流酬、 記錄日志
crt.Session.Log()
6阴绢、 傳輸文件
使用FileTransfer對(duì)象實(shí)現(xiàn)上傳文件和下載文件
7、 存儲(chǔ)數(shù)據(jù)到剪貼板
使用Clipboard對(duì)象存儲(chǔ)數(shù)據(jù)到剪貼板篓足,可以設(shè)置不同的格式(format)
8烟瞧、 針對(duì)tab
- crt.GetActiveTab
- crt.GetScriptTab
- crt.GetTabCount
- 按照tab順序按索引操作crt. GetTab(index)
9、 操作窗口(window)
- 檢查活躍狀態(tài)
- 設(shè)置標(biāo)題
- 隱藏、最小化弹沽、最大化