利用AutoIT自動(dòng)化重復(fù)性管理工作
小孫所在單位的網(wǎng)絡(luò)是通過(guò)ISA連接到Internet的,在ISA服務(wù)器上安裝了DHCP服務(wù),為所屬的客戶端計(jì)算機(jī)分配IP地址。網(wǎng)絡(luò)中大部分計(jì)算機(jī)都是筆記本電腦,移動(dòng)性比較強(qiáng),如果筆記本電腦使用固定IP,就會(huì)帶來(lái)很多麻煩——筆記本電腦的使用者每移動(dòng)到一個(gè)新的網(wǎng)絡(luò)環(huán)境中,就需要手動(dòng)改變網(wǎng)絡(luò)參數(shù)。還有網(wǎng)絡(luò)中有一些特殊的IP地址是需要分配給特定的計(jì)算機(jī)的,這樣即方便管理也可以防止病毒的攻擊。
批處理重復(fù)性工作
其實(shí)小孫遇到的問(wèn)題可以通過(guò)使用AutoIT編寫一個(gè)腳本來(lái)解決。AutoIT是一款具有自動(dòng)化功能的控制軟件,它可以根據(jù)事先編寫好的腳本完成事先指定的工作。AutoIT雖然是一種腳本控制程序,也需要編程,但AutoIT的腳本比Windows腳本要簡(jiǎn)單得多——它不需要記憶眾多的參數(shù),也不需要學(xué)習(xí)復(fù)雜的語(yǔ)法。值得一提的是,AutoIT的應(yīng)用目標(biāo)非常明確:凡是在計(jì)算機(jī)上可以由人工手動(dòng)完成的一些固定的操作,尤其是經(jīng)常重復(fù)的一些操作,都可以通過(guò)編寫AutoIT腳本自動(dòng)來(lái)完成。
AutoIt是一款免費(fèi)軟件,它可以用來(lái)編寫具有BASIC語(yǔ)言風(fēng)格的腳本程序,它被設(shè)計(jì)用來(lái)在Windows GUI(Windows圖形界面)中進(jìn)行自動(dòng)化操作。通過(guò)AutoIT可以模擬鍵盤按鍵動(dòng)作(例如,按下某個(gè)鍵、同時(shí)按下某幾個(gè)鍵、按下某個(gè)鍵幾次)、鼠標(biāo)移動(dòng)、鼠標(biāo)按鍵和Windows 窗口或控件操作等以實(shí)現(xiàn)自動(dòng)化操作。這是其他語(yǔ)言所無(wú)法做到,或者說(shuō)尚無(wú)可靠的方法來(lái)實(shí)現(xiàn)的。
AutoIt最早是為臺(tái)式機(jī)進(jìn)行自動(dòng)批處理而設(shè)計(jì)的,用來(lái)對(duì)數(shù)千臺(tái)計(jì)算機(jī)進(jìn)行同樣的配置,不過(guò)隨著v3版本的到來(lái),它已經(jīng)很適合用于家庭自動(dòng)化和編寫,用以完成重復(fù)性任務(wù)的腳本。
AutoIt 可以執(zhí)行以下幾個(gè)功能:
·執(zhí)行Windows及DOS下的可執(zhí)行文件;
· 模擬擊鍵動(dòng)作(支持大多數(shù)鍵盤布局);
· 模擬鼠標(biāo)移動(dòng)和單擊動(dòng)作;
·對(duì)窗口進(jìn)行移動(dòng)、調(diào)整大小等操作;
·直接與窗口的控件交互,如設(shè)置或獲取文字、移動(dòng)、關(guān)閉窗口等;
· 配合剪貼板進(jìn)行剪切的復(fù)制、粘貼文本操作;
·對(duì)注冊(cè)表進(jìn)行操作。
AutoIT最新版本已經(jīng)達(dá)到3.2。用戶可以從其網(wǎng)方網(wǎng)站下載最新的版本,也可以從AutoIT中文論壇下載其漢化版本。
AutoIt運(yùn)行時(shí)讀取一個(gè)指定的腳本文件。這個(gè)腳本文件使得AutoIt完成一系列操作,包括:
·執(zhí)行Windows應(yīng)用程序、DOS命令等;
·發(fā)送鍵盤和鼠標(biāo)操作;
·窗口操作,如最小化、隱藏、恢復(fù)、等待、激活等;
·剪貼板操作。
AutoIt是一款共享軟件,在使用上沒(méi)有任何限制。AutoIT按照人們事先制定的腳本來(lái)實(shí)現(xiàn)相應(yīng)的功能,這類似于DOS中的批處理、Word中的宏。許多情況下都可以通過(guò)AutoIT來(lái)提高IT效率。
比如說(shuō),人們上班后的第一件事就是打開(kāi)IE瀏覽器,登錄郵箱檢查新的郵件。登錄郵箱時(shí),需要輸入郵件服務(wù)器地址、用戶及密碼等信息,這些都可以通過(guò)AutoIT來(lái)完成。
再比如說(shuō),在軟件的安裝過(guò)程中有些軟件需要接受許可協(xié)議、輸入產(chǎn)品安裝序列號(hào),安裝完成后還需要打上最新的補(bǔ)丁,以及做一些必要的配置等操作也可以通過(guò)AutoIT來(lái)完成。
對(duì)于網(wǎng)絡(luò)管理員來(lái)說(shuō),每次安裝完操作系統(tǒng)后,都需要進(jìn)行一些重復(fù)的操作。比如說(shuō),當(dāng)Windows Server 2003安裝完成后,由于其安全性問(wèn)題,在每次開(kāi)機(jī)時(shí)都會(huì)彈出“管理您的服務(wù)器”頁(yè)面,需要打開(kāi)組策略,選擇“禁用”這一項(xiàng)也可以通過(guò)AutoIT來(lái)完成。
以上三種情況的操作都可以制作相應(yīng)的腳本,并且把腳本編譯成可執(zhí)行程序,運(yùn)行編輯后的可執(zhí)行程序,而且還可以在其他類似的計(jì)算機(jī)上進(jìn)行相應(yīng)的操作。
四步完成一組操作
因此,小孫遇到的問(wèn)題也可以通過(guò)編寫一個(gè)AutoIt腳本來(lái)完成。這個(gè)腳本的編寫思路主要如下:
第一步:獲取MAC地址與IP地址對(duì)照表
登錄網(wǎng)絡(luò)中心的三層交換機(jī)(本文以華為的3526為例進(jìn)行說(shuō)明),使用display arp命令獲取網(wǎng)絡(luò)中的MAC地址表。然后將MAC地址表粘貼到Word文檔中,使用查找/替換功能替換掉MAC地址中間的“-”,將IP地址與MAC地址中間的空格替換為回車,然后將 MAC地址粘貼到地址對(duì)照表mac-addr.txt文件中。地址對(duì)照表mac-addr.txt的內(nèi)容如下:
172.20.1.1
00e04c4616a5
172.20.1.111
00016c2defac
172.20.1.99
00020c77209f
172.20.1.211
00020c7720c7
172.20.1.215
00020c7720a2
第二步:編寫腳本配置文件
新建一個(gè)腳本配置文件mac.txt,用來(lái)保存腳本的配置信息。
配置文件max.txt中輸入如下內(nèi)容:
輸入前面作用域已經(jīng)創(chuàng)建的保留個(gè)數(shù)
5
輸入在第幾個(gè)作用域新建保留
2
輸入新建保留名稱的前一部分
no.
輸入新建保留描述信息的前一部分
this is no.
輸入新建保留的個(gè)數(shù)
5
這個(gè)配置文件中保存著自動(dòng)綁定MAC地址AutotIT腳本的一些配置信息。
第三步:編寫腳本
下面就可以開(kāi)始編寫自動(dòng)綁定MAC地址的AutoIT腳本了。新建一個(gè)max-auto.au3文件,通過(guò)同時(shí)按下WIN+R鍵打開(kāi)“運(yùn)行”對(duì)話框,在此打開(kāi)AuotIT的窗口信息工具捕獲此頁(yè)的信息,以便做出正解的響應(yīng)。
在“運(yùn)行”對(duì)話框中輸入:“%SystemRoot%\system32\dhcpmgmt.msc /s”命令,按下回車鍵打開(kāi)“DHCP”配置窗口。
這幾步操作的AutoIT代碼如下:
Send("#r");
打開(kāi)“運(yùn)行”對(duì)話框
WinWaitActive(“運(yùn)行","")
inActive("運(yùn)行","")
sleep(1000)
Send("%SystemRoot%\system32\dhcpmgmt.msc /s")
在“運(yùn)行”對(duì)話框中輸入 %SystemRoot%\system32\dhcpmgmt.msc /s命令
Send("{enter}")
下面腳本編寫過(guò)程與此過(guò)程相似,每當(dāng)打開(kāi)一個(gè)新的窗口時(shí),都需要使用AutoIt的窗口信息工具捕獲此頁(yè)的信息,以便做出正確的響應(yīng)。
然后,使用send("")命令發(fā)送鍵盤操作及輸入相應(yīng)的命令行。
第四步:編譯腳本
此時(shí)編寫的腳本必須要在AutoIT環(huán)境中運(yùn)行。
如果要想讓編寫的腳本脫離AutoIT環(huán)境使用,可以通過(guò)右鍵單擊文件max-auto.au3在彈出的快捷菜單中選擇“Compile Script”命令編譯腳本,AutoIT編譯程序?qū)⒃撃_本編譯成exe文件,如圖2所示。經(jīng)過(guò)編譯后的腳本,就可以脫離AutoIT環(huán)境獨(dú)立運(yùn)行了。
小孫使用這個(gè)AutoIT腳本,重新安裝完DHCP服務(wù)后,在很短的時(shí)間內(nèi)就完成了MAC地址的綁定。在問(wèn)題得到解決后,小孫打來(lái)電話興奮地對(duì)我說(shuō):“AutoIT腳本可真算得上是網(wǎng)絡(luò)管理員的一個(gè)好幫手??!”。
【編輯推薦】