如何建立無人值守的 Windows 8.1 安裝來建置「一次性」測試虛擬機器?

如何建立無人值守的 Windows 8.1 安裝來建置「一次性」測試虛擬機器?

作為一種愛好,我進行了大量的軟體開發,為了測試變更、重現錯誤等,我發現我經常需要一個乾淨的 Windows 環境來執行我的測試。

我可以啟動虛擬機器來執行此操作,但這通常需要找到 Windows 8.1 ISO、建立新虛擬機器、啟動它、執行完整安裝(關閉以查找我的「一次性虛擬機器」MSDN 金鑰)、安裝我所有的軟體等等。

我無法只保留VM 的乾淨快照,因為我傾向於讓VM 保持未啟動狀態(無論如何,預設都會發生這種情況,這是Microsoft 在MSDN 金鑰上管理一次性測試VM 的建議),並且在我下次使用時它,激活寬限期已過期。

我想做的是創建一個自動化腳本來按需建立一個新的虛擬機,包括我所有的關鍵軟體。但我發現的大多數部署自動化教學(使用 MDT 或 sysprep)似乎都是針對更大規模的部署。我嘗試過 MDT,但似乎很難將自訂軟體安裝到映像中(例如 Virtualbox Guest Additions)。我也嘗試過 sysprep,但無論我做了什麼,我最終仍然需要手動執行一些安裝步驟。

設定(和維護)自訂安裝磁碟和腳本的好方法是什麼,可以讓我相當快速地執行測試虛擬機器的無人值守部署?

(我目前使用 VirtualBox 作為我的軟體 - 我可以訪問 Hyper-V 並且一直在考慮嘗試一下,但我不確定它是否有幫助。我遇到的問題似乎更多是關於無人值守安裝事情的另一面而不是創建虛擬機器)。

更新一年過去了,我從未真正接近解決方案。我嘗試了 sysprep,但找不到一種方法來管理可讓映像保持最新的 Windows 更新等(您只能重新執行 sysprep 一定次數,AIUI)。我嘗試過 MDT,但它對於我的需求來說太複雜了。

另一種選擇,我在最初的問題中沒有真正提到:我可以使用我的 MSDN 金鑰之一來啟動我的基本映像,然後根據需要進行克隆。那樣有用嗎?具體來說,我可以“按需”克隆我的基礎計算機的副本而不會使我的激活無效嗎?如果可以的話,那麼為我想要使用的每個 Windows 版本維護一個啟動的基礎電腦可能是更好的方法。這種方法是否存在我沒有考慮到的陷阱?我不想透過嘗試這個來最終使我的密鑰失效。

答案1

您可以使用其他一些更簡單的 PXE 伺服器(即塞瓦)然後使用 ImgMgr.exe 建立/維護對應的無人值守腳本無人值守.xml。 (我與 Serva 開發相關,但如果您願意,您可以使用其他替代 PXE 伺服器來完成此操作)

答案2

我認為使用 sysprep 建立範本是最好的選擇,但需要一些額外的工作來建立完全無人值守的安裝。

您可以使用 Windows 系統映像管理員(Windows 系統映像管理員的一部分)Windows 評估和部署工具包可從 Microsoft 免費下載)來建立 unattend.xml,其中可以包含通常需要在 sysprep 之後手動輸入的許多選項,而無需使用自訂的 unattend.xml。如果需要,您甚至可以透過這種方式自動加入活動目錄域

在 unattend.xml 中,您還可以指定一個將在最後執行的腳本,該腳本可以處理無法在 unattend.xml 中設定的所有其他操作。
經驗告訴我,最後幾乎總是需要一個額外的腳本。我發現 PowerShell 是完成此任務的非常強大的工具

與我創建多個無人值守的 Windows 安裝的方式大致相同,只需單擊幾下即可完成。為了使 sysprepped 映像對於未來的變更更加靈活,您可以將腳本最後分成兩部分

  • sysprepped 映像內的第一部分由 unattend.xml 調用,設定必要的網路存取權限
  • 從網路下載並由第一部分運行的第二部分。第二部分可根據需要進行編輯、變更、擴展,以滿足您不斷變化的需求,而無需重新建立影像。

答案3

在 XP 時代,有一個很棒的工具,稱為 nlite。它已更新並轉換為 ntlite,這將讓您以最少的努力製作這些整合的 iso。https://www.ntlite.com

答案4

如果您不關心應用程式的各種配置的更新或測試,您可以使用 Sysprep 進行概括並從關閉的電腦建立快照或複製。然後,您可以在需要全新環境時建立新克隆或還原該快照。

當然,MDT 更複雜,但它允許您部署最新的測試環境,並且允許您維護可以在部署期間選擇的應用程式庫。例如,如果有人告訴我他們的 Acrobat Reader 9、Java 1.6u17 和 Office 2007 出現錯誤,當我登入系統進行更新時,我可以從庫中選擇它們並與 Windows 更新一起安裝。

相關內容