利用SCCM2012中的導入計算機功能來實現定製化的操作系統部署

前言

在我們通過MDT工具或SCCM系統給客戶機部屬操作系統時, 常遇到各種各樣的需求。有些需求很容易實現, 如自動加域,格式化硬盤,預置管理員密碼等。有些功能可能就稍微麻煩一些。 比如,在部署操作系統時, 要求客戶能自定義輸入計算機名稱。 這個要求在MDT的環境下, 很容易實現,但是在SCCM的環境下, 就需要做額外的設置和腳本等, 可以做到在系統部署時提示客戶輸入計算機名。 通過SCCM和MDT的集成, 也能很好的解決這個問題。

客戶需求:

現有一個情景,客戶是使用的SCCM2012,管理的機器爲學校範圍的所有機器, 包括各個教研室老師的電腦, 各個機房的電腦和學校學生的電腦。 對於學生的電腦, 暫不做嚴格管控, 但是對於各個教研室的電腦和不同機房中的計算機, 要求以所在單位的名稱爲基礎, 在自動部署操作系統時, 按給定的計算機名稱自動命名計算機名。 IT人員也有限,無法一臺一臺去輸入計算機名。 例如:

IT機房1

機器1號

IT-Lab01-01

機器2號

IT-Lab01-02

機器3號

IT-Lab01-03


IT機房2

機器1號

IT-Lab02-01

機器1號

IT-Lab02-02

機器1號

IT-Lab02-03


由於IT人員的有限, 並且IT機房這種環境, 不太可能要求IT人員來一臺一臺的輸入計算機名稱。 但是爲了實現這個目的,我們需要一些信息來做匹配。 在這裏我們嘗試使用計算機的MAC 地址來做匹配。 我們製作一張對應表,一個MAC地址對應一個計算機名稱, 並保存爲CSV文件。 但是難點來了, 如何讓SCCM在部署系統的過程中, 調用這個CSV文件並依照這個表來自動命名計算機? 腳本看來能解決這個問題。 但是並不是每個IT人員都擅長腳本, 且這個腳本的執行環境是SCCM的 Task Sequence 中, 需要大量的時間和精力來測試完善。 並不是一個簡單的工程, 工作量設置會大大超過部署操作系統所需要的時間。

在這裏我想到了SCCM中的導入計算機功能,剛好可以完美的解決這個問題。真是山重水複疑無路,柳暗花明又一村。 SCCM2012 中的導入計算機功能就是讓我們預先導入一部分計算機信息, 讓SCCM系統預先“認識”這個計算機,當成已有的計算機來管理。 在這種情況下, 如果計算機信息已經有了, 如MAC地址和計算機名稱, 那麼這個計算機在SCCM中就是唯一的了。 我們可以對這個計算機所在的集合部署操作系統,操作系統在部署過程中, 把自動根據已有的信息,自動命名計算機爲對應的名稱。 這是因爲操作系統部署的對象不再是未知的計算機, 而是“我們預置的已知的計算機”. 通過這樣操作, 這些計算機不管在何時要重裝系統都會回到我們預置的狀態。

測試環境:


測試域: greentest.info

CMSRV1------SCCM 中心管理站點, 站點代碼A01

CMSRV2------SCCM 主站點, 站點代碼P01

CMSRv3------SCCM 輔助站點

測試的操作系統鏡像爲Windows 7

SCCM的管理賬戶爲: sccmadmin

SCCM客戶端安裝和部署時使用的賬戶爲: clientinstall

爲了方便測試: sccmadmin 和 clientinstall 兩個測試都屬於Domain Admins 管理員組。

測試目標: 計算機名最終需要被命名爲: IT-Lab2-01

此處省略安裝部署SCCM2012 環境的步驟, SCCM已經做了PXE的啓動等準備。大致的步驟分爲以下7步:

1. 計算機信息收集

2. 計算機信息導入

3. 創建計算機集合

4. 導入並創建Window 7 的鏡像

5. 創建Windows 7 的任務序列, 並部署到計算機集合

6. 測試操作系統的部署

7. 驗證部署設置和計算機信息

第一:收集計算機信息。

用來確定計算機身份的信息可以是: MAC 地址, 或者計算的GUID. MAC比較好獲取。 GUID信息可以通過計算機在PXE啓動階段獲取。 如下圖, 我們在Hyper-V 中創建了一臺新的計算機 Test-OSD,MAC地址可以在這個虛擬機的設置裏看到。

clip_image002

clip_image004

如上兩圖, 該測試計算機(Test-OSD)已經設置爲了從網絡啓動(PXE), 並且網卡地址(MAC)爲:00:15:5D:B2:82:30. 網絡配置爲SCCM 主站點所屬的網絡: SysCtr2

啓動這臺虛擬機,我們可以獲取這個機器的GUID: A77D12C2-22D1-4537-A529-DD84DF72A56F。

注意: GUID 和MAC 地址是至少有一項。

clip_image006

第二:導入計算機信息。

這裏我們需要創建OSD.csv文件, 分三列填入: 計算機名,GUID, MAC 地址。 如下:

clip_image008

打開SCCM2012 控制檯, 點擊 Import Computer Information(導入計算機信息)

clip_image010

選擇 Import computers using a file. 如果只是某一臺計算機, 我們可以選擇第二項: Import single computer. 此處爲了測試導入csv 文件, 我們選擇第一個

clip_image012

導入我們創建的測試OSD.csv 文件

clip_image014

clip_image016

此處, 我們可以看到Import Computer Information 嚮導工具已經根據CSV 文件, 認出來了計算機名, GUID 和 MAC地址等信息等類別。 如果CSV文件中的信息與默認不相符, 我們可以在這裏手動調整每列所對應的信息的類別。 例如我們把MAC地址放在了第二列, 把計算機名放在了第三列等。

點擊Next , 會顯示導入的具體信息。 此處我們做測試, 只有一臺的信息, 所就只顯示一個。

clip_image018

接下來會提示把這些計算機加入到某個集合或默認放在所有計算機集合(All System)裏面. 我們並沒有提前創建計算機集合, 這裏選擇默認。

clip_image020

總結前面的設置和導入信息:

clip_image022

點擊Next , 導入的過程很快。 下面是導入操作成功的提示。

clip_image024

此處, 計算機信息導入成功。

clip_image026

我們回到SCCM2012 的控制檯, 可以看到新的計算機已經被列在裏面了。 但是這個計算機其實還沒有部署, 還在裸機狀態。在SCCM中, 計算機IT-Lab02-01, 客戶端的狀態是No, 活動狀態沒有信息。下面的計算機詳細信息也是空的。

第三:創建計算機集合。


我們在上面的步驟中, 成功的添加了計算機 IT-Lab02-01的信息到SCCM中。 下面, 我們創建一個計算機集合: IT-Lab02, 代表我們測試中的IT機房.

打開SCCM2012 的控制檯, 如圖所示, 右鍵點擊 Device Collections(設備集合), 選擇 Create Device Collection(創建設備集合), 然後輸入集合名稱: IT-Lab02.

clip_image028

clip_image030

clip_image032

因爲後面準備直接把相對應的計算機IT-Lab02-01添加到這個集合,所以這裏不選任何的添加規則,並收到如下的警告。 實際環境中, 推薦這樣操作。

clip_image034

再次確認信息, 一路Next 完成操作。

clip_image036

clip_image038

完成後, 可以在SCCM控制檯—設備集合中看到新創建的設備集合:IT-Lab02. 客戶端成員數量是0.

clip_image040

如下圖所示, 在設備中選中我們導入的計算機: IT-Lab02-01, 右鍵選擇 Add Selected Items(添加選擇項), 然後選擇 Add Selected Items to Existing Device Collection(添加選擇項到現在的設備集合)。

clip_image042

添加到前面創建的設備集合:IT-Lab02

clip_image044

等一會兒, 系統後臺完成操作後, 我們可以查看設備集合IT-Lab02的狀態和成員, 可以看到計算機IT-Lab02-01 已經出現在集合IT-Lab02裏面了:

clip_image046

到此, 創建集合過程全部結束。

第四:導入並創建Windows 7 的鏡像。

此處, 便於測試, 我們已經創建好了一個Windows 7 32bit 的鏡像, 如下圖所示:

clip_image048

clip_image050

已經成功把這個鏡像分發到CMSRV2 和CMSRV3兩個分發點上了

clip_image052

第五:創建Windows 7 的任務序列, 並部署到計算機集合。

如圖, 右鍵點擊 Task Sequence (任務序列), 選擇: Create Task Sequence(創建任務序列)

clip_image054

依照下面的步驟創建任務序列

clip_image056

clip_image058

注意: 確認把boot images 分發到相對應的分發點上。

clip_image060

設定自動加入域greentest.info, 使用賬戶爲 clientinstall。 加入到的OU是Computers, 也可以不填(計算機加入域時,默認OU是Computers)。

clip_image062

默認會安裝SCCM的客戶端程序包。

clip_image064

因爲是全新安裝, 所以不需要任何的捕捉設置, 全部取消選擇。

clip_image066

爲了加速測試, 我們這裏不選擇安裝更新。 實際環境, 可以考慮安裝更新。

clip_image068

在安裝部署程序(已經在SCCM系統中部署過的程序), 選擇了7-Zip 這個軟件, 以便部署完成後驗證效果。

clip_image070

確認設置, 然後Next.

clip_image072

創建Windows 7 32Bit的任務序列執行完畢。

clip_image074

SCCM控制檯裏也可以看到我們創建的Windows 7 任務序列。 如果要調整任務序列, 加入一些更高級的設置等, 可以選擇編輯這個任務序列, 添加, 刪除或更改裏面的步驟。在此, 我們不做更改。

clip_image076

右鍵點擊Windows 7 32Bit 任務序列, 選擇Deploy(分發)

clip_image078

下面一步至關重要。 我們需要把這個任務序列部署給集合 IT-Lab02, 而不是像已往一樣部署給未知計算機集合。

clip_image080

類型選爲Available(可選), 確保選的方式裏有PXE 這一項。

clip_image082

其他選項默認, 一路Next, 直到完成。

clip_image084

clip_image086

至此, 在SCCM上的部署操作全部完成。

第六:測試操作系統的部署。

我們打開虛擬機Test-OSD, 啓動。 它會從PXE處獲取引導信息。 如下:

clip_image088

按F12 鍵,從PXE啓動, 加載WinPE 的鏡像進行引導。

clip_image090

clip_image092

由於在PXE設置裏取消了密碼設置, 所以這裏的密碼框會是灰的, 默認可以進入下一步

clip_image094

選擇部署的Window 7 32 Bit 這個任務

clip_image096

clip_image098

任務序列開始格式化磁盤

clip_image100

clip_image102

從分發點加載操作系統鏡像到本地

clip_image104

應用操作系統鏡像到本地磁盤

clip_image106

加載相對應的驅動

clip_image108

應用計算機設置

clip_image110

加載SCCM客戶端的安裝文件

clip_image112

clip_image110[1]

任務序列執行完畢, 系統重啓

clip_image114

系統啓動開始初始化

clip_image116

clip_image118

clip_image120

clip_image122

clip_image124

clip_image126

由於我們之前在任務序列裏沒有輸入相對應的key, 所以這裏會跳出提示輸入key, 需要人工干預, 選擇跳過。

clip_image128

clip_image130

初始化配置並且安裝配置SCCM的客戶端

clip_image132

安裝預置的軟件7-Zip

clip_image134

系統安裝部署完成,

clip_image136

第七:驗證部署設置和計算機信息。

最後, 我們在這臺測試機上登錄域賬戶 user1. 查看當前的系統信息。 默認域已經爲Greentest了, 說明機器已經成功加入到域greentest.

clip_image138

查看系統信息, 我們可以看到計算機名爲: IT-Lab02-01. 說明我的部署成功, 客戶機器基於我們的配置, 成功的配置了計算機名。

clip_image140

同時, 在SCCM控制檯中, 我們可以看到這臺計算機的客戶端狀態是: Yes。 另外, 客戶端的活動狀態也是活動的。

clip_image142

至此, 我們的整個部署完成。

總結

通過以上的方式, 我們在有類似需求的情景下, 可以大大加速操作系統的部署, 簡化IT人員的工作量。 我們只需要在項目前期把所有的計算機信息收集一下, 例如只收集MAC地址和計算機名稱, 做成CSV文件即可。 在部署時, 不需要編寫腳本, 也不需要和MDT做集成,對環境的要求也相對簡單。

 

南陽

2015.08.28

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章