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