Windows 7 部署指南
根據您的企業規模,Windows 7 的部署可能非常簡單,也可能非常復雜。Microsoft 自身的 Windows 7 部署任務就比較復雜。然而,使用
System Center、Configuration Manager 2007 的操作系統部署 (OSD) 功能和即將發布的 Service Pack 2 (SP2) 可大大簡化部署過程。無論您企業的復雜程度如何,都可使用 Microsoft 藍圖盡早將您的企業移至 Windows 7。
本文介紹 Microsoft 團隊如何在我們自己的企業中部署 Windows 7。具體內容包括我們如何開發自己的 Windows 7 部署解決方案,以及您如何使用同樣的工具來簡化自己的部署
了解企業桌面部署方案
***步當然是評估完成新操作系統的大范圍分發應滿足的要求以及所需的方案。與交付到桌面的應用程序不同,操作系統會給用戶的工作效率和數據帶來重大風險。因此,您常常會花大量時間力圖確定相關事務的當前狀態,并在尋找***遷移點的同時嘗試將風險將到***。Microsoft 的部署目標是 280,000 多臺臺式計算機,因此困難程度尤甚。
圖 1:企業桌面磁盤配置方案
開發企業桌面解決方案時,首要領域為硬盤配置、加密技術、應用程序和用戶數據(雖然硬件設備驅動程序也是部署中重要的一方面,但不在本文介紹范圍之內。以下 TechNet 博客文章概述了由我們開發的解決方案,該解決方案可以簡化 Microsoft 自身硬件的驅動程序:tinyurl.com/kog748)。
桌面配置無論涉及一個還是多個磁盤,在用 Configuration Manager 部署 Windows 7 時都十分重要。難點在于要確定是僅將 Windows 7 部署到新計算機上,還是通過遷移過程部署到已經有操作系統的計算機上。如圖 1 所示,我們必須為 Microsoft 開發一個解決方案,通過該解決方案處理包含若干分區的單個磁盤,或處理涉及多重引導和多個磁盤的復雜配置。
Microsoft 的許多臺式計算機運行的都是 Windows Vista,并且一些業務組按要求使用在 Vista 中引入的 BitLocker 加密技術。BitLocker 可對系統分區進行加密和保護,以防數據被盜或丟失。若要升級在加密驅動器上運行的操作系統,任務序列必須將加密禁用或掛起。大多數移動環境都需要加密,因此為這些環境開發任何解決方案時都必須考慮加密的情況。
在每個企業中進行遷移都有一個毋庸置疑的起碼要求,即遷移過程中不能丟失用戶數據。Microsoft 為 Windows 用戶提供了用戶狀態遷移工具包 (USMT),用于簡化用戶數據的收集和還原。Windows 7 引入了下一代 USMT(版本 4.0),該版本與上一版本相比有很大改進。USMT 3.0 與版本 4.0 的主要差異在于我們方案***一部分的側重點:選擇收集用戶狀態的正確過程以及保存該狀態的方法。
與以前的版本不同,USMT 4.0 在整個操作系統之外運行。在收集用戶狀態以便在升級后進行還原時,整個操作系統會在多方面提出挑戰,因為文件常常處于使用或鎖定狀態;而且,類似防病毒解決方案等其他一些應用程序可能會導致對其數據的備份操作失敗。在 Windows Pre-Execution (PE) 等環境中,新版本數據收集過程在整個操作系統之外運行,這將大大減少運行中的服務數、使用中的應用程序數以及其他涉及開放用戶數據的情況。從 Windows PE 加載用戶狀態的功能(通過脫機備份功能)與在 Windows PE 中運行的 Configuration Manager OSD 任務序列可以很好地配合,從而簡化了用戶數據的備份過程。
USMT 收集到必要的用戶數據之后,需要在遷移過程中將該數據“存儲”于某處。Microsoft 對于在何處存儲其用戶數據有眾多選擇,但相同的選擇范圍可能并不在許多其他企業的 IT 預算之內。例如,我們假定典型的 Microsoft 用戶狀態數據量約為 1GB。可以選擇用于存儲此數據供以后檢索的介質包括外部硬盤、文件服務器和光驅(例如 DVD)。對于使用 Configuration Manager 2007 的企業,可在執行遷移時通過狀態遷移點功能將這些數據存儲在遠程服務器上,但這種做法仍有一些局限性。
“外部”設備不夠經濟劃算的關鍵原因在于,它要求您擁有與用戶狀態數據量相當的物理存儲空間。因此,在 Microsoft,我們需要 280TB 可用空間來支持我們的用戶群。這種方法只在能夠準確測量用戶數據量時才可行。否則該過程就缺乏科學性,而且可能產生不可預知和不能令人滿意的結果。
***的選擇是使用即將進行遷移的計算機。這種選擇似乎***邏輯并且最經濟劃算,但卻通常在技術方面面臨難題。它要求用戶的計算機上有大量可用空間用以備份他們的數據;還涉及到將用戶數據從磁盤的一個位置復制到另一個位置。正如大多數有經驗的 IT 界人士所知,將任何文件移動或復制到硬盤上都比較耗費時間,并進而導致部署時間過長。占用用戶一天(甚至多天)工作時間進行部署顯然是行不通的,而且這還意味著您需要面對自己并不愿意承擔的風險。
USMT 4.0 引入了對硬鏈接的支持,以前的所有版本中都沒有此功能。通過硬鏈接遷移,可在本地將用戶數據有效存儲在同一臺計算機上,因而只需很少的時間和磁盤空間。
使用硬鏈接的唯一要求是用戶的計算機必須擁有 250MB 可用空間。有了硬鏈接支持功能,無需移動磁盤上的物理文件即可進行備份和還原。USMT 只存儲指向物理文件的指針,并在還原時使用這些指針,從而大大降低遷移 Windows 7 所需的時間(有關硬鏈接的更多信息,請參閱位于以下位置的 TechNet 文章:tinyurl.com/m76dxv)。
了解各種方案有助于您制定行動計劃,以便在遷移到 Windows 7 時處理這些方案。#p#
構建 Windows 7 的操作系統任務序列
一旦了解了要求和方案,實現解決方案就變成了一項簡單直接的任務。構建解決方案的步驟主要分三類:
- 最終用戶體驗
- 構建 Windows 7 任務序列
- 用戶狀態遷移
Microsoft 的 IT 部門開發了一個代號為“Modena”的解決方案,該解決方案通過強大的 OSD 向導支持***類步驟,通過導出任務序列支持第二類步驟,通過狀態遷移腳本支持第三類步驟。下一部分將概述如何使用 Modena OSD 工具(包括 OSD 向導)、導出的任務序列以及腳本。
使用 OSD 向導
Configuration Manager 的 OSD 是為 IT 管理員設計的。因此,OSD 不提供內置的向導。這意味著大多數企業都必須開發自己的向導。簡言之,Configuration Manager 沒有提供用于收集最終用戶輸入信息的現成功能 — 這是 Microsoft 自己也面對過的挑戰。
Microsoft 是一家用戶驅動型企業;所有用戶都像管理員一樣進行操作。
許多人對 Microsoft IT 部門影響他們使用操作系統全部功能的決策表示不滿。因此,Microsoft 不得不開發一種非常穩固的用戶體驗,從而在不影響和限制用戶工作能力的情況下從用戶獲取盡可能多的數據。
Modena OSD 向導為 Microsoft 彌合了這一缺口,而且同樣適用于您的企業(有關獲取 OSD 工具的信息,請參閱我們在 blogs.technet.com/osd 上發表的博客)。
Modena OSD 向導有兩個組件:一個可執行文件和一個配置文件。可執行文件“OSDSetupWizard.exe”由 Microsoft 編寫,可提供獨立的用戶體驗。該文件用于驗證計算機是否已準備好進行 Windows 7 遷移,并可以收集最終用戶輸入信息。該向導的最終作用是獲取用戶輸入信息并設置 OSD 任務序列變量。
該向導的一個主要特點是工作方式與“即插即用”功能非常相似,從而能夠適用于盡可能多的方案。它通過配置文件實現該目標。實際上,在 Microsoft 等復雜環境中,可通過開關 /xml:{osdconffilename.xml} 將同一可執行文件用于各種不同的配置文件。
例如,在需要同時支持“運行播發程序 (RAP)”和“預啟動執行環境 (PXE)”的 Microsoft 部署中,使用了相同的任務序列,但該向導根據其運行環境(RAP 或 PXE)使用兩種不同的配置文件以不同的方式執行。這樣既可創建一個通用的部署包,又允許使用各種支持該部署包的配置。
為了介紹 OSD 向導,讓我們首先了解一下它提供的最終用戶屏幕(也稱為“頁面”)。OSD 向導將顯示 8 個頁面。但這種說法并不嚴謹,因為每個頁面又有以下三種狀態之一:啟用、禁用和無提示。如果啟用某頁面,則向最終用戶顯示該頁面;如果禁用某頁面,則不顯示該頁面。
“無提示”是一種特殊情況。這種情況下不顯示相應頁面,除非 OSD 任務序列變量為 null。如果該變量為 null,該頁面將提示用戶進行輸入,使向導繼續進行(有關 OSD 向導的啟用、禁用和無提示功能的更多信息,請參閱位于 blogs.technet.com/osd 的博客文章)。某些情況下需要最終用戶在特定頁面上輸入數據,但也有其他一些數據不需要輸入。
例如,許多企業都允許最終用戶提供其自己的計算機名稱,但不允許他們選擇其 Active Directory (AD) 域或組織單位。可輕松調整 OSD 向導,從而允許您顯示向導頁,但不允許用戶更改特定輸入(例如域和組織單位)的內容。這種有用的鎖定功能適用于配置文件中的大多數頁面。
除了禁用和鎖定功能之外,有些頁面還有可更改向導內部行為的其他屬性。向導功能可自動檢查 AD,查看某計算機名稱是否已在使用中,或者用戶憑據是否有效。對于含有其他屬性的頁面,您可通過值來啟用或禁用這些功能,而無需對向導進行重新編譯。
OSD 向導的所有 8 個頁面都根據各自提供的功能進行命名:Welcome(歡迎)、Pre-Flight(預檢)、Computer(計算機)、Network(網絡)、Language(語言)、Volume(卷)、Application(應用程序)和 Summary(摘要)。我們來探討一下這些頁面中的某些頁面提供的關鍵功能,并討論如何使用這些功能。
可為向導提供唯一的標記,使之與您企業的典型 IT 標記相匹配。通過配置文件,將位圖名稱放入標題屬性,也可輕松完成標記。若要重新標記向導以使之匹配您的環境,只需創建大小為 630x100 的位圖圖像,再將該圖像添加到 OSD 包,然后編輯配置文件即可(有關標記的更多信息,請參閱位于 tinyurl.com/r7jdve 的 TechNet 博客文章)。
OSD 向導***大的功能之一是允許您嵌入自己的預檢功能,可在遷移到 Windows 7 之前執行該功能。例如,假設您的公司有一個人力資源應用程序,而該應用程序與 Windows 7 不兼容。為了盡量不影響用戶工作,您可以創建一個腳本,并添加 OSD 向導預檢功能,以檢查是否安裝了該應用程序。您可以根據該項檢查的結果,決定允許相關用戶繼續進行遷移還是警告他們存在不兼容的應用程序。
目前,OSD 向導有兩個內置的預檢功能,您可通過配置文件來啟用或禁用它們。提供這兩個特定的預檢功能是因為它們適用于大多數企業。***個預檢功能是電源檢查,該功能在完整操作系統中執行(例如,當用戶使用 RAP 或添加/刪除程序進行遷移時),并在用戶未使用交流電運行的情況下返回錯誤通知。如果該預檢功能檢測到用戶尚未插入交流電源,則將返回錯誤通知,要求用戶插入交流電源適配器。完成此操作后,用戶可單擊“Retry Pre-Flight Checks”(重新嘗試預檢并繼續),若再無錯誤則繼續操作。
第二個內置預檢功能是無線檢查。OSD 是比較占用帶寬的進程,插入以太網適配器(例如,802.3 有線連接)后運行效果***。如果無線預檢功能檢測到用戶尚未插入該適配器,則將返回錯誤通知,直至用戶建立有線網絡連接。
但是,預檢功能并不限于內置檢查功能。它支持任何可執行文件或 Windows Scripting Host 腳本,例如 Visual Basic 腳本。預檢功能的數量沒有限制,只要這些功能在 5 分鐘之內執行并完成即可(如果超時,OSD 向導將停止執行腳本)。
圖 2:OSD 向導
每執行一次腳本或可執行文件,就有一個代碼返回到 OSD 向導進程。根據向導的配置,它將返回“Success”(成功)、“Warning”(警告)或“Error”(錯誤)狀態通知(請參見圖 2)。如果返回“Success”(成功)或“Warning”(警告)通知,用戶可以繼續完成向導的其余步驟。但如果返回“Error”(錯誤)通知,將阻止用戶繼續操作。從預檢腳本或內置腳本返回的可接受代碼可在 osdconf.xml 中進行配置,而且無需更改向導的可執行文件。除此之外,還可以配置對錯誤的文本描述。
有兩種方法可將應用程序作為 Windows 7 部署的一部分進行交付:作為基本 Windows 7 Windows 安裝映像 (WIM) 的一部分,或作為單獨的任務序列步驟。Windows 7 WIM 映像中包含的應用程序應當是大多數最終用戶都需要但不經常更新的應用程序。此方法主要有兩個缺陷。首先,映像會增大,這通常會影響其下載到客戶端的時間;另外,還需要對映像進行管理。每次更新應用程序時,WIM 映像就會要求您創建新的安裝映像,并需要更新與基本映像相關聯的 Configuration Manager 軟件包。
圖 3:OSD 向導應用程序選擇
因此,Modena 工具與 Configuration Manager 2007 安裝軟件應用程序功能很好地集成在一起,使最終客戶能夠選擇要在 OSD 進程中安裝的應用程序(有關更多信息,請參閱位于 tinyurl.com/pdfp5s 的 TechNet 文章)。如圖 3 所示,應用程序完全根據您在 OSD 向導配置文件中的設計列在樹狀視圖中。例如,您可以按業務部門、位置或應用程序類型來定義應用程序組,然后定義該組的所有應用程序和默認選擇。這使更改或添加應用程序變得十分容易,唯一要求是應用程序要打包并可在 Configuration Manager 2007 數據庫中使用。
此外,該向導的主要用途是使用戶能夠提供影響其 Windows 7 映像的最終結果。對于不需要很多用戶輸入的環境,可將向導配置為盡可能少地詢問信息;其余信息由管理員在任務序列中進行硬編碼。#p#
丟失數據:絕不可以
USMT 4.0 包含一組基本的配置文件,這些配置文件能夠捕獲許多企業的用戶狀態。這些配置文件,即 MigApp.xml 和 MigDocs.xml 涵蓋了用來捕獲用戶數據的大多數方案(有關配置文件的更多信息,請參閱位于 tinyurl.com/okfgw4 的 TechNet 文章)。
OSD 將對安裝 Windows 7 的卷進行清理。因此,每次使用 OSD 時適當、準確地捕獲用戶狀態極其重要。簡言之,絕不可以丟失數據。
***做法是通過任務序列步驟創建一個安全的位置,將其用作用戶狀態的目標文件夾(這也是 Microsoft 采用的做法)。然后,使用名為 OSDStateStorePath 的 OSD 內置任務序列變量,可在通過該任務序列中的 Apply OS 步驟執行卷清理時排除此目錄(若要學習如何完成并充分利用此功能,請參閱位于 blogs.technet.com/osd 的 TechNet 博客文章)。
構建用于 Windows 7 部署的任務序列
Modena OSD 工具中包含 Microsoft 使用的 OSD 任務序列的導出副本。導出的任務序列分為幾個組,在根部以名為“Master Group”(主組)和“Failover”(故障轉移)的子項開始。“Master Group”擁有與 Windows 7 部署中使用的各主要步驟相關聯的子項。每個子項(請參見圖 4)都有錯誤條件,這些錯誤條件將錯誤返回到“Master Group”(主組),然后“Master Group”(主組)再將該錯誤轉發給名為“Failover”(故障轉移)的專用步驟。
將任務序列分為這些步驟可使日志記錄、報告和錯誤處理容易得多。與任何其他同類操作一樣,無論您花多少時間進行準備,還是會出現錯誤 — 這正是““Failover Group”(故障轉移組)存在的原因。此組旨在收集排除安裝故障所必需的所有相關日志文件,并將它們放入 OSD 安全文件夾。
若要在任務序列中實現一定的容錯能力,可從根級別開始創建兩個子組:“Master Group”(主組)和“Failover”(故障轉移)。另一種***做法是讓“Master Group”(主組)包含部署中所需的所有工作步驟,并將該組用作在出現錯誤時繼續操作的指定組。每個子組都需要繼續執行任務序列,且應設置為在出現錯誤時停止操作(如圖 4 所示,Microsoft 的情況是“Master Group”(主組)包含五個嵌套組)。
圖 4:任務序列分組
另一種***做法是將對部署沒有災難性影響的所有子組設置為在出現錯誤時繼續操作。OSD 任務序列引擎總是通過檢查其父級組來決定發生錯誤時要采取的操作,以確定是否應當繼續操作。因為存在這種行為,所以您應定義每個步驟在出現錯誤時應停止還是繼續。如果未將步驟設置為在出現錯誤時繼續,則任務序列將訪問其父級組,確定下一步要執行的操作。在圖 4 的設計中,“Master Group”(主組)被設置為在出現錯誤時繼續,以便它執行同級的“Failover Group”(故障轉移組)。
例如,假設已創建一個組用來捕獲用戶狀態。由于此組中的步驟的重要性,每個步驟的設計都要確保在發生錯誤時不再繼續執行部署,繼續執行可能會將卷刪除(假設這就是任務序列中的下一步)。在這種情況下,任務序列引擎將確定是否將執行步驟設置為出現錯誤時繼續;如果不是這樣,它將回到該步驟的父級組,來確定下一步要執行的操作。未選中“continue on error”(出錯后繼續)的“Backup State”(備份狀態)父級組將回到其父級組,在此設計中為“Master Group”(主組)。
如前所述,“Failover Group”(故障轉移組)的目的是確保捕獲進行故障排除所需的全部數據。須將此組設置為“Master Group”(主組)的同級,以便由“Master Group”(主組)在出現錯誤時引用(請參見圖 4)。除非在部署過程中出現災難性故障,否則永遠不會運行“Failover Group”(故障轉移組)。因此,它是任務序列中的***一步,如果安裝不成功就總會運行。
部署的狀態取決于 _SMSTSLastActionSucceeded 變量中存儲的值。這就是任務序列引擎貫穿任務序列“樹”直至最終完成的過程 — 在本例中意味著執行“Failover Group”(故障轉移組)步驟,收集所有日志和所需數據,然后失敗(有關對此進行設計的更多信息,請參閱位于 blogs.technet.com/osd 的 TechNet 博客文章)。
使用位圖和 BGInfo.exe 提供用戶狀態
在 Microsoft,讓用戶了解他們在遷移過程中處于 OSD 的什么位置是十分重要的。默認情況下,所有基于客戶端的狀態都是通過 Configuration Manager OSD 功能進行傳達的。雖然這些狀態消息適用于某些企業,但在告知用戶有關組成遷移過程的較大步驟方面,還有其他一些創造性方法。
***步是了解伴隨遷移過程的較大步驟都有哪些。例如,這些步驟可以是驅動器分區、Windows 安裝和***的應用程序安裝。這樣做的主要原因在于,這些步驟可為用戶提供總體進度的宏觀定義,而用戶又比較喜歡這類信息。
Microsoft 使用的 5 個主要步驟為:備份狀態、安裝 Windows,設置 Windows、安裝應用程序和還原狀態。用戶通過用 TechNet Sysinternals 工具 BGInfo.exe 動態呈現的靜態位圖來接收信息(可從 tinyurl.com/2nbxmd 下載 BGInfo.exe,Modena OSD 工具中也包含該工具)。此工具在調用時允許加載靜態位圖,也允許您設置反映遷移當前位置的位圖。
Modena 提供 5 個位圖,每個位圖對應一個步驟,這些表示狀態的圖像通過任務序列進行設置。例如,在任務序列組“Install OS”(安裝操作系統)中,調用了 BGInfo.exe 來加載代表此步驟的位圖(請參見圖 5)。
圖 5:顯示狀態
Modena OSD 工具為您提供了在企業中對此進行部署的框架,您只需對位圖進行替換即可。為此,請找到腳本文件夾、打開 BG 目錄并用已更新的圖像版本替換每個位圖圖像。這樣即可告知最終用戶部署 Windows 7 要使用的 5 個主要步驟。這是讓用戶隨時了解***進度的一個好方法,使他們不必閱讀 OSD 任務序列引擎提供的詳細步驟。
總結
Windows 7 現已向企業提供,但由于所涉及的遷移過程比較復雜,許多企業尚未開始其升級項目。在 Microsoft,此過程始于大約一年前;我們幾乎已全面掌握了這一過程,但該過程還遠未完善。
Windows 7 可為最終用戶提供***的工作能力和性能。***,唯一的障礙就是將部署工作做好。Microsoft 可為 System Center Configuration Manager 2007 用戶提供 Modena OSD 工具,用以縮短部署工作的準備時間并降低復雜性。無論您的企業需要與最終用戶進行高度的互動,還是依賴于“最少的接觸”,您都可使用我們在 Microsoft 使用的相同過程優化您的 Windows 7 項目。
Chris Adams (chrad@microsoft.com) 是 Microsoft 管理和服務部門的高級項目主管。他專門研究 System Center Configuration Manager 和 System Center Virtual Machine Manager。
文章來源:TechNet中文網
【編輯推薦】