許園甫
摘 要:針對目前全國計(jì)算機(jī)等級考試(NCRE)系統(tǒng)環(huán)境部署中人工逐臺配置考試機(jī)工作繁瑣,各類網(wǎng)絡(luò)同傳功能均無法實(shí)現(xiàn)不同考試機(jī)上自動生成K用戶以及自動映射網(wǎng)絡(luò)驅(qū)動器K盤的實(shí)際問題,文章提出了一種基于批處理與AutoIt腳本程序相結(jié)合,同時(shí)借助于網(wǎng)絡(luò)同步軟件實(shí)現(xiàn)NCRE考試系統(tǒng)的批量自動化安裝與環(huán)境設(shè)置同時(shí)進(jìn)行的高效部署方案,從而在實(shí)際應(yīng)用中大大提高了工作效率。
關(guān)鍵詞:NCRE;批處理AutoIt;批量;自動化
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2016)23-0078-04
一、引言
全國計(jì)算機(jī)等級考試(National Computer Rank Examination,簡稱NCRE)是由國家教育部考試中心主辦,面向社會,用于考查應(yīng)試人員計(jì)算機(jī)應(yīng)用知識與技能的全國性計(jì)算機(jī)水平考試體系。NCRE的考核內(nèi)容是根據(jù)社會各個(gè)部門應(yīng)用計(jì)算機(jī)的不同程度和需要、國內(nèi)計(jì)算機(jī)技術(shù)的發(fā)展情況以及中國計(jì)算機(jī)教育和普及的現(xiàn)狀而確定的;它以應(yīng)用能力為主,劃分不同的等級進(jìn)行考核,為人員擇業(yè)、人才流動提供其計(jì)算機(jī)應(yīng)用知識與能力水平的證明。
作為國家級的考試,NCRE的整個(gè)考試過程要求非常嚴(yán)謹(jǐn),其考試系統(tǒng)軟件的安裝配置工作也極為繁瑣。本文就如何解決考試軟件在考場中的快速部署和設(shè)置問題,提出了一種不同于以往的全新的高效解決方案,實(shí)現(xiàn)了對考場中所有考試機(jī)進(jìn)行批量自動化安裝考試系統(tǒng)和環(huán)境設(shè)置,從而大大提高了考場部署工作的效率,以保障考試的順利進(jìn)行。
二、NCRE軟件部署中存在的問題
NCRE考試在局域網(wǎng)環(huán)境下進(jìn)行,考試機(jī)操作系統(tǒng)使用Windows 7(中文專業(yè)版),服務(wù)器操作系統(tǒng)使用Windows Server 2008(中文標(biāo)準(zhǔn)版),并安裝SQL Server 2008(中文標(biāo)準(zhǔn)版)數(shù)據(jù)庫系統(tǒng)[1]。整個(gè)NCRE上機(jī)考試軟件由“管理系統(tǒng)”和“考試系統(tǒng)”兩部分組成,以一二級考試為例,其安裝部署流程如圖1所示。
NCRE的考試軟件環(huán)境采用了C/S模式,每個(gè)考場配備一臺服務(wù)器,每臺考試機(jī)通過映射網(wǎng)絡(luò)驅(qū)動器連接考試服務(wù)器上的考生文件夾。為了保障考試數(shù)據(jù)的安全和防止考生作弊,整個(gè)考試系統(tǒng)利用服務(wù)器來驗(yàn)證用戶權(quán)限和提供數(shù)據(jù)存儲服務(wù)。服務(wù)器限定了考試機(jī)的系統(tǒng)用戶名,每臺考試機(jī)只能使用服務(wù)器設(shè)置的唯一用戶名(如K01、K02等)登錄到考試網(wǎng)絡(luò)中。這些用戶不僅是服務(wù)器上設(shè)置的用戶,還必須是所在考試網(wǎng)絡(luò)考試機(jī)的用戶,且是考試機(jī)的Administrators組成員[3]。考生在考試過程中只能對自己用戶名對應(yīng)的文件夾進(jìn)行訪問和操作。
各承辦考點(diǎn)在每一次考試前都要為考生準(zhǔn)備考試機(jī)房,既要為每一個(gè)考場安裝配置服務(wù)器,又要為各考場中的考試機(jī)安裝考試軟件并設(shè)置考試環(huán)境[4]。由于考試機(jī)數(shù)量較多,考場的安裝和部署工作量巨大且重復(fù)性高,往往要耗費(fèi)大量的時(shí)間和人員精力。通常的做法是安裝配置好一臺考試機(jī)作為母機(jī),然后利用網(wǎng)絡(luò)同傳系統(tǒng)(例如聯(lián)想的網(wǎng)絡(luò)同傳、噢易的網(wǎng)絡(luò)同傳等)實(shí)現(xiàn)其它考試機(jī)的軟件安裝及IP地址和計(jì)算機(jī)名的批量更改,但是對于考試機(jī)的系統(tǒng)登錄用戶名和服務(wù)器網(wǎng)絡(luò)映射只能同傳后人工逐臺修改,費(fèi)時(shí)費(fèi)力還容易出錯(cuò),特別是還存在因個(gè)別設(shè)置遺漏造成考試過程中出現(xiàn)問題而難以排查的隱患[5]。另一方面,NCRE考試對機(jī)房的需求數(shù)量較大,且考試基本集中在周六和周日進(jìn)行。而作為考場的機(jī)房在日常使用中又充當(dāng)著教學(xué)實(shí)驗(yàn)室的角色,往往在考試的前一天晚上才有時(shí)間部署,時(shí)間緊迫,即使使用網(wǎng)絡(luò)同傳也需要耗費(fèi)相當(dāng)長的時(shí)間。因此,如何提高NCRE考試系統(tǒng)環(huán)境部署的工作效率,避免差錯(cuò),將考試軟件的安裝設(shè)置由手動操作變?yōu)榕孔詣踊僮?,就顯得尤為重要。
三、自動化部署方案的原理與實(shí)現(xiàn)
針對上述問題,作者根據(jù)自身多年的部署實(shí)踐經(jīng)驗(yàn),結(jié)合批處理、AutoIt腳本工具和網(wǎng)絡(luò)同步軟件,設(shè)計(jì)了一種高效可行的NCRE考試系統(tǒng)環(huán)境批量自動化部署方案。該方案的優(yōu)勢在于不使用網(wǎng)絡(luò)同傳而實(shí)現(xiàn)考試軟件同時(shí)在每臺考試機(jī)上的自動化安裝、設(shè)置與檢測。
1.腳本工具簡介
(1)批處理。批處理是一種簡化的腳本語言,它應(yīng)用于DOS或Windows系統(tǒng)中,由DOS或Windows系統(tǒng)內(nèi)嵌的命令解釋器解釋運(yùn)行,可以對計(jì)算機(jī)進(jìn)行基本設(shè)置和快捷操作。
(2)AutoIt。AutoIt是一個(gè)使用類似BASIC腳本語言的免費(fèi)工具軟件,它設(shè)計(jì)用于Windows GUI(圖形用戶界面)中進(jìn)行自動化操作,它利用模擬鍵盤按鍵、鼠標(biāo)移動或點(diǎn)擊以及窗口/控件的組合來實(shí)現(xiàn)自動化任務(wù)。它非常小巧,完全運(yùn)行在所有Windows操作系統(tǒng)上,并且不需要任何運(yùn)行庫,可以調(diào)用批處理或其它應(yīng)用程序,功能強(qiáng)大。
2.方案的設(shè)計(jì)思路
首先,在考試服務(wù)器上安裝設(shè)置好NCRE管理系統(tǒng),管理系統(tǒng)會自動在服務(wù)器磁盤中建立一個(gè)考試共享目錄NCRE??(??為考次號,例如NCRE45),然后將NCRE考試系統(tǒng)的安裝程序拷貝到該目錄下,以便考試機(jī)能通過網(wǎng)絡(luò)共享安裝考試軟件。為了免除手動配置考場中考試機(jī)IP地址的重復(fù)工作,需要為考試服務(wù)器配置DHCP服務(wù),可根據(jù)考試機(jī)數(shù)量設(shè)置DHCP服務(wù)的IP地址池,如圖2所示,使連接該服務(wù)器的每臺考試機(jī)都能自動獲取唯一的IP地址,從而最大限度避免考場網(wǎng)絡(luò)的IP沖突。
其次,根據(jù)NCRE考試機(jī)環(huán)境配置要求,可以采用批處理程序?qū)崿F(xiàn)在考試機(jī)上自動生成具有系統(tǒng)管理員權(quán)限的K用戶以及將服務(wù)器上的考試共享目錄自動映射為網(wǎng)絡(luò)驅(qū)動器K盤,同時(shí)啟動K盤中的考試系統(tǒng)安裝程序,利用事先編好的AutoIt自動化腳本實(shí)現(xiàn)考試系統(tǒng)的自動安裝和環(huán)境檢測。
最后,借助于網(wǎng)絡(luò)同步軟件將批處理程序和AutoIt腳本程序同步傳送至每臺考試機(jī)的一個(gè)指定目錄下,然后調(diào)用該同步軟件的遠(yuǎn)程運(yùn)行程序功能,同時(shí)運(yùn)行每臺考試機(jī)該目錄下的批處理程序和AutoIt腳本程序,從而實(shí)現(xiàn)考場中所有考試機(jī)的批量自動化部署。整個(gè)方案的實(shí)施流程如圖3所示。
3.方案的技術(shù)原理與實(shí)現(xiàn)
根據(jù)方案的實(shí)施流程,方案實(shí)現(xiàn)的關(guān)鍵點(diǎn)為:自動生成K用戶、自動映射K盤以及考試系統(tǒng)的自動安裝與檢測。
(1)自動生成K用戶
由于考試機(jī)的IP地址可以通過服務(wù)器的DHCP服務(wù)自動獲取,而DHCP服務(wù)的IP地址池是根據(jù)考場中考試機(jī)的數(shù)量進(jìn)行設(shè)定的,因此,可以通過截取考試機(jī)IP地址的最后一個(gè)字節(jié)段數(shù)值來組成K用戶名,即“K+截取的數(shù)值”。據(jù)此原理編寫批處理程序addUser.bat,實(shí)現(xiàn)在考試機(jī)中添加該K用戶,并將其隸屬于Administrators組。關(guān)鍵代碼如下:
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find/i "ipv4"') do for /f "tokens=4 delims=." %%b in ("%%a") do set ip=00%%b //截取IP地址最后一個(gè)字節(jié)段
set usno=%ip:~-3%
//對截取的IP地址字節(jié)段數(shù)值補(bǔ)齊3位數(shù)
set usname=K%usno% //設(shè)置K用戶名
net user %usname% /add /fullname:%usname% /passwordchg:no /passwordreq:no /expires:never
//添加K用戶
net localgroup Administrators %usname% /add
//設(shè)置K用戶隸屬于Administrators組
shutdown-1 //注銷系統(tǒng)
(2)自動映射K盤
編寫批處理程序ncreSetup.bat,實(shí)現(xiàn)自動映射服務(wù)器考試共享目錄為網(wǎng)絡(luò)驅(qū)動器K盤,并啟動K盤下的考試系統(tǒng)安裝程序。由于NCRE考試系統(tǒng)有嚴(yán)格的時(shí)間限制,只能在規(guī)定的考試期限內(nèi)安裝運(yùn)行,而考場中每臺考試機(jī)的系統(tǒng)時(shí)間不一定一致,這樣就有可能出現(xiàn)部分考試機(jī)的考試系統(tǒng)程序安裝運(yùn)行錯(cuò)誤,因此需要與服務(wù)器進(jìn)行一次時(shí)間同步來統(tǒng)一所有考試機(jī)的系統(tǒng)時(shí)間。關(guān)鍵代碼如下:
set servip=192.168.1.5 //定義服務(wù)器IP地址
set username=ServerAdmin //定義服務(wù)器用戶名
set userpwd=ServerPwd //定義服務(wù)器密碼
set ncrefolder=Ncre45//定義考試共享目錄
net use \\%servip% %userpwd% /user:%username% //與服務(wù)器建立一個(gè)空連接
net time \\%servip% /set /y //與服務(wù)器時(shí)間同步
net use * /del /y //刪除空連接
net use K: \\%servip%\%ncrefolder% %userpwd% /user:%username% /persistent:yes //映射服務(wù)器上的考試共享目錄為網(wǎng)絡(luò)驅(qū)動器K盤
start /wait "" "K:\考試系統(tǒng)\NCRE一二級考試系統(tǒng).exe" //啟動考試系統(tǒng)安裝程序
(3)考試系統(tǒng)的自動安裝與檢測
根據(jù)考試系統(tǒng)的安裝和環(huán)境檢測步驟采用AutoIt編寫腳本程序?qū)崿F(xiàn)自動化安裝,包括等待安裝程序窗口激活、模擬鍵盤輸入和鼠標(biāo)點(diǎn)擊等操作,待測試無誤后將其編譯成可執(zhí)行文件ncreAutoIt.exe。主要代碼如下:
Run("ncreSetup.bat") //調(diào)用批處理
WinWaitActive("NCRE一二級考試系統(tǒng) 安裝程序","歡迎") //等待程序安裝窗口出現(xiàn)
Send("!n") //模擬鍵盤鍵擊“下一步”按鈕
WinWaitActive("NCRE一二級考試系統(tǒng) 安裝程序","安裝文件夾")
Send("!n")
WinWaitActive("NCRE一二級考試系統(tǒng) 安裝程序","準(zhǔn)備安裝")
Send("!n")
WinWaitActive("NCRE一二級考試系統(tǒng) 安裝程序","完成")
Send("!f") //模擬鍵盤鍵擊“完成”按鈕
…
WinWaitActive("NCRE一二級考試環(huán)境檢測")
//等待環(huán)境監(jiān)測窗口出現(xiàn)
ControlClick("NCRE一二級考試環(huán)境檢測", "", "[NAME:Command1]") //模擬鼠標(biāo)點(diǎn)擊按鈕開始檢測
上述三個(gè)關(guān)鍵程序在單臺考試機(jī)上測試運(yùn)行成功后,選用網(wǎng)絡(luò)同步軟件——同步專家網(wǎng)吧版將三個(gè)程序文件同步傳送到每臺考試機(jī)的指定目錄下(該目錄由同步專家網(wǎng)吧版的服務(wù)端程序設(shè)定,同傳前需在每臺考試機(jī)上運(yùn)行一次其客戶端程序)。由于程序文件容量非常小,只有幾個(gè)KB,因此同步時(shí)間很短,在網(wǎng)絡(luò)通暢的情況下約1分鐘之內(nèi)就能完成。文件同步完成后,首先利用該同步軟件遠(yuǎn)程同時(shí)運(yùn)行每臺考試機(jī)特定目錄下的批處理程序addUser.bat自動生成K用戶;然后,待系統(tǒng)重啟或注銷后以K用戶登錄,再次使用同步軟件遠(yuǎn)程運(yùn)行每臺考試機(jī)特定目錄下的可執(zhí)行程序ncreAutoIt.exe,該程序會調(diào)用批處理ncreSetup.bat自動映射K盤并根據(jù)事先編好的AutoIt自動化腳本實(shí)現(xiàn)考試系統(tǒng)在每臺考試機(jī)上的自動化安裝和環(huán)境檢測,如圖4、圖5所示。
以一個(gè)配備有100臺考試機(jī)的機(jī)房作為考場為例,通過測試對比分析,使用傳統(tǒng)的網(wǎng)絡(luò)同傳方法實(shí)施NCRE考試系統(tǒng)的安裝部署,即安裝配置好一臺母機(jī)后再進(jìn)行網(wǎng)絡(luò)同傳,即使同傳一個(gè)硬盤分區(qū)至少也需要約30分鐘的時(shí)間,再加上同傳后人工逐臺設(shè)置考試環(huán)境還要花費(fèi)大量的時(shí)間和人力,因此部署完整個(gè)機(jī)房需耗時(shí)約1小時(shí)左右。而本方案不但彌補(bǔ)了網(wǎng)絡(luò)同傳功能的不足,實(shí)現(xiàn)了機(jī)房中所有考試機(jī)的軟件安裝與環(huán)境設(shè)置同步進(jìn)行,而且還實(shí)現(xiàn)了批量自動化操作,整個(gè)過程無需任何人工干預(yù),使得整個(gè)機(jī)房的部署時(shí)間與部署一臺考試機(jī)的時(shí)間相當(dāng),約15-20分鐘即可完成整個(gè)機(jī)房NCRE考試系統(tǒng)的安裝部署,工作效率大大提高。如果需要部署考試環(huán)境的機(jī)房數(shù)量較多,本方案的效率優(yōu)勢將會進(jìn)一步突顯。
經(jīng)過本考點(diǎn)在2016年3月第45次NCRE考試中的實(shí)際應(yīng)用來看,本文所提出的方案很好地達(dá)到了預(yù)期效果,全面實(shí)現(xiàn)了NCRE考試系統(tǒng)環(huán)境在機(jī)房中的批量自動化安裝部署,高效快捷,大大節(jié)約了時(shí)間和人力,對于NCRE以及類似考試的考場環(huán)境部署工作具有很好的參考和應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]教育部考試中心.NCRE一二級考試軟件使用手冊[CP/CD].2014-08.
[2]翟銀山.全國計(jì)算機(jī)等級考試培訓(xùn)資料[R].北京:教育部考試中心,2013.
[3]江芝蒙,錢真坤.批量修改NCRE系統(tǒng)計(jì)算機(jī)用戶名的實(shí)現(xiàn)[J].四川文理學(xué)院學(xué)報(bào),2013,23(5):70-72.
[4]董國鋼,孫林,鄧敏杰等.應(yīng)用DOS批處理設(shè)置NCRE考試機(jī)[J].電腦知識與技術(shù),2013,9(21):4837-4841.
[5]胡海斌,周智勇,李青等.全國計(jì)算機(jī)等級考試系統(tǒng)環(huán)境的自動部署[J].計(jì)算機(jī)應(yīng)用,2014,34(S2):361-363.
[6]潘瑞東.NCRE考試環(huán)境智能自動化部署方案的研究[J].電腦知識與技術(shù),2013,9(32):7307-7309.
(編輯:魯利瑞)