最近發現在我們的啟動並執行實驗系統中出現了某個Windows Server 2008 R2的實驗環境,由於許可證已經過了到期時間,而且交付的實驗系統又在一個隔離網段,因此無法通過公司內建的KMS伺服器啟用,造成了實驗環境的大問題!這個到期的虛擬伺服器,會每隔1個小時就關機一次,簡直讓我頭大的很;面對這個問題,學員們普遍表示了理解和不爽,當然設計了這個實驗環境的我自然感到火大!
有沒有好的方法讓我這個用於實驗目的的環境永不到期呢?考慮到我們實驗室的機制是對於實驗環境是每次都重新整理到快照的狀態,但是虛擬機器的時間並沒有鎖定,因此每次虛擬機器的時間都會隨著系統的時間shift,因此到期是不可避免的,除非我們刻意的修改託管虛擬機器的物理機時間,但這不是長久之計;如果可以通過 slmgr /rearm的方式將會給系統延期10天,請注意重新整理了快照雖然系統時間會變,但是記錄在註冊表中的rearm延期的次數預設是3次)是不會改變的,這就給我們每次重新整理和交付的實驗系統一個無限rearm次數的可能!而且我們的實驗環境基本每兩天就會重新整理一次,因此不會再次出現超過rearm的時間的問題。好了,有了思路剩下的就比較好解決了。
首先,我想到的方法是利用cmd建立一個批命令,簡單如下:
REM ---判斷是否Rearm過,如果沒有則進入rearm過程,如果有則結束
if not exist c:\Scripts\rearm.tmp call :create
goto end
:create
REM ---建立一個標誌位首次rearm過程會建立一個檔案),保證rearm後在實驗期間不會陷入再次重啟因為已經rearm過)
echo rearm >> c:\Scripts\rearm.tmp
REM ---通過Start調用後台rearm動作,因為rearm的過程是互動的而在後台運行時無法進行互動因此設定為後台啟動
start slmgr /rearm
REM ---經過實驗這個步驟很重要,首先rearm需要重啟才會生效,如果不設定後台啟動,shutdown會等待rearm互動結束之後才進行,但後台啟動的rearm是沒有互動過程的,因此我們這裡設定的是shutdown會和rearm的動作並行在後台運行,通過調整發現在我們的50個虛擬機器的環境下,設定延遲180秒可以確保所有rearm的動作完成並且重啟延期成功。經過測試發現,如果時間過短,並且物理機負載較重的情況下,可能會出現rearm沒有做完已經重啟虛擬機器造成系統沒有延期的問題,因此請確保給rearm足夠的時間;)
start shutdown /r /f /t 180
goto:eof
:end
上述指令碼完成了對系統的rearm工作,接下來還需要在系統的計劃任務中配置每次啟動都進行rearm判斷的cmd指令碼邏輯,大致過程如下:
啟用計劃任務管理
650) this.width=650;" title="1.jpg" src="http://www.bkjia.com/uploads/allimg/131227/16443RJ1-0.jpg" />
建立一個基本任務
對於基本任務設定名稱,不管使用者是否登入都要運行,一定要確保選擇了使用最高許可權運行,然後勾選隱藏
650) this.width=650;" title="2.jpg" src="http://www.bkjia.com/uploads/allimg/131227/16443S5B-1.jpg" />
設定觸發器條件為,每次啟動時延遲30秒運行
650) this.width=650;" title="3.jpg" style="float:none;" src="http://www.bkjia.com/uploads/allimg/131227/16443W430-2.jpg" />
650) this.width=650;" title="4.jpg" style="float:none;" src="http://www.bkjia.com/uploads/allimg/131227/16443Q559-3.jpg" />
在操作中選擇之前建立的rearm批命令
650) this.width=650;" title="5.jpg" src="http://www.bkjia.com/uploads/allimg/131227/16443SA8-4.jpg" />
其他設定保持預設,輸入管理員口令後儲存這個任務
650) this.width=650;" title="6.jpg" src="http://www.bkjia.com/uploads/allimg/131227/16443W334-5.jpg" />
OK,你現在和我一樣在測試環境中有了一個可以延期的系統,重啟確認一下系統已經延期。
smlgr /dlv
650) this.width=650;" title="7.jpg" src="http://www.bkjia.com/uploads/allimg/131227/16443U4a-6.jpg" />