Sysprep (系統準備) 概觀 Sysprep (系統準備) 來準備 (Windows 用戶端和 Windows Server) 的 Windows 安裝映像,讓您擷取自訂的安裝。 Sysprep從 Windows 安裝中,「 一般化 」 安裝讓它可以安裝在不同的電腦上移除電腦特有的資訊。 具有Sysprep您可以設定電腦開機至稽核模式中,其中您可以對其他的變更或更新您的映像。 或者,您可以設定 Windows 開機成的全新體驗 (OOBE)。 Sysprep 是 Windows 映像的一部分,並在稽核模式下使用。
功能描述
Sysprep 提供下列功能: 從 Windows 映像,包括電腦的安全性識別碼 (SID) 中移除電腦特有的資訊。 這可讓您擷取映像,並將它套用到其他電腦。 這就是一般化的電腦。 解除安裝電腦特定的驅動程式,從 Windows 映像。 藉由設定開機到 OOBE 電腦交付給客戶準備電腦。 可讓您新增回應檔案 (自動安裝) 到現有安裝的設定。
實際的應用程式
Sysprep 可協助您解決的商務目標,例如: 可協助您藉由建立可使用於多個硬體設計的一般映像管理多部電腦。 擷取及部署具有唯一的安全性識別元的映像來部署電腦。 藉由新增在稽核模式中的應用程式、 語言或驅動程式來微調個別電腦的設定。 如需詳細資訊,請參閱 < [color=var(--primary-base)] 稽核模式概觀。 在稽核模式中測試,再將它們傳遞給客戶,以提供更可靠的電腦。
新功能和變更
從 Windows 10 1607年版中,Sysprep 可以用來準備映像已經升級。 例如: - 您可以開始執行 Windows 10 版本 1511年或 Windows 10 1507年版的電腦。
- 升級執行 Windows 10 版本 1607年的電腦。
- 執行的 Sysprep 會一般化升級後的映像上,重新擷取更新的映像,和映像部署至新的裝置。
此程序可讓企業能夠有效率地和持續推出最新的 Windows 10 部署映像。 從 Windows 8.1,Sysprep 使用者介面已被取代。 Sysprep UI 會繼續支援此版本中,但可能會在未來版本中移除。 更新您的部署工作流程,從命令列使用 Sysprep。 如需詳細資訊,請參閱 < [color=var(--primary-base)]Sysprep 命令列選項。
相依性
附註 當您複製 Windows 映像參照的電腦之間,而且目的地電腦不一定要有相容的硬體抽象層 (Hal)。 開機設定資料 (BCD) 中的 [/detecthal] 選項可讓系統讓已經執行 Sysprep 安裝正確的 HAL。
限制
Sysprep 具有下列限制: 安全性識別碼 (SID) 只會取代作業系統磁碟區上,當您執行 Sysprep。 如果一部電腦有多個作業系統,您必須在每個映像上個別執行 Sysprep。 在某些情況下,自訂應用程式,安裝前重新擷取 Windows 映像可能需要一致的磁碟機代號。 某些應用程式會儲存包括系統磁碟機代號的路徑。 解除安裝、 服務及修復案例可能無法正確運作如果系統磁碟機代號與應用程式指定的磁碟機代號不相符。 隨插即用裝置上的參考和目的端電腦不必是來自相同製造商。 這些裝置包括數據機、 音效卡、 網路介面卡和視訊卡。 不過,安裝必須包括這些裝置的驅動程式。 並非所有的伺服器角色支援 Sysprep。 如果您一般化已設定的特定伺服器角色的 Windows Server 安裝,那些伺服器角色就可能繼續函式之後的映像和部署程序。 如需詳細資訊,請參閱 < [color=var(--primary-base)] 伺服器角色的 Sysprep 支援。 如果您有加密的檔案或資料夾的 NTFS 檔案系統磁碟分割上執行 Sysprep,這些資料夾中的資料會變成完全無法讀取,而且無法復原。 只有當電腦是工作群組中,而非網域的成員,則會執行 Sysprep 工具。 如果電腦已加入網域,Sysprep 會從網域移除電腦。 如果電腦已加入網域,而且該網域的群組原則將強式帳戶密碼原則指派給電腦,所有的使用者帳戶需要強式密碼。 執行 Sysprep 或 OOBE 並不會移除強式密碼原則。 一律使用您的使用者帳戶的強式密碼。 如果您沒有指派強式密碼給使用者帳戶然後再執行 Sysprep 或 OOBE,您可能無法登入電腦。
不支援的案例
不支援以下案例: 不支援移動或複製到不同的電腦的 Windows 映像,而不用將一般化的電腦。 不支援使用不同版本的 Sysprep 工具來設定映像。 您必須使用 Sysprep 工具與您想要設定的 Windows 映像一起安裝的版本。 Sysprep 會隨每個 Windows 版本而定。 您一律必須執行 Sysprep 從 %WINDIR%\system32\sysprep 目錄。 如果您使用的 Windows 版本早於 Windows 10 版本 1607 中,不支援使用 Sysprep 工具,在升級安裝類型,或重新設定現有的已部署的 Windows 安裝。 在此情況下,Sysprep 必須只能用來設定 Windows 的新安裝。 您可以建立和設定 Windows 的安裝不限的次數執行 Sysprep。 使用 Microsoft Windows Deployment 自動化 Sysprep\[color=var(--primary-base)] RunSynchronous不支援命令。 不過,您可以使用 Microsoft Windows Deployment\[color=var(--primary-base)] 一般化設定設為 準備電腦進行安裝後的映像處理。 外部虛擬機器 (VM) 執行的虛擬機器模式不支援。 您無法使用 VM 模式來準備 VHD 以部署至任何電腦。 系統帳戶內容下無法執行 Sysprep。 系統帳戶內容下執行 Sysprep,使用工作排程器或 PSExec,比方說,不支援。
我需要使用SYSPREP嗎?
之前因為資產管理系統出現某兩台電腦同一時間只會出現一台的狀況,在跟原廠一起找問題時發現狀況其實是商用主機原廠維修人員的不用心,但同時也意外發現某經銷商裝機時沒做SYSPREP。
為了需不需要做SYSPREP,經銷商跟客戶有不一樣的看法。我做了些測試,心得如下。
SID是什麼
SID (security identifier )是一串由不同長度數字組成的唯一識別碼,被使用在使用者帳戶、群組帳戶、電腦帳戶及服務上作為當用戶存取相關的系統資源時,系統會使用在存取權杖(Access Token)中的SID檢查該項資源的存取控制清單(ACL),並提供用戶該系統資源的適當存取權限。每個安全主體(security Principals),就是以上提到的使用者帳戶、群組帳戶、電腦帳戶及服務,在它們被建立時就會同時被分配到一個唯一的SID。
電腦或使用者的SID格式 (常見的 SID 架構)、(常見的 SID)
使用者SID範例: S-1-5-21-4197956092-2019137781-999546546-1001
由”-“分隔開的每段都有其代表的意義
S代表的是security identifier的意思
1是版本號
5是識別碼頒發機構,為1個48bit 的identifier authority value
21-4197956092-2019137781-999546546 代表網域或本機電腦識別碼,其中21是固定值,4197956092-2019137781-999546546為96bit隨機產生的值,由3個32bit 的subauthority所組成。
1001 這欄位是RID (relative identifier),1001代表這是第二個被建立的帳號,除預設內建使用者或群組外,新建使用者由1000起跳。常見的RID為administrator的500跟guest的501
如何查詢SID
透過regedit查詢登錄值裡的帳號對應SID
透過微軟免費工具psgetsid查詢SID (建議使用這個)
1. 查詢本機電腦SID:psgetsid
2. 查詢遠端主機SID:psgetsid \\hostname
3. 查詢遠端所有主機SID:psgetsid \\*
4. 在DC上查詢Domain SID:psgetsid
5. 在DC上查詢網域成員Computer Account:psgetsid hostname$
透過 powershell 查詢網域帳號SID
1. Get-ADUser -Identity 網域帳號 | FT Name,SID -Autosize
透過指令whoami /user查詢SID
1. 查詢本機電腦SID:whoami /user (去掉RID即為電腦SID)
2. 查詢現在登入帳戶SID: whoami /user
SID重複的影響
1. 網域成員不可以跟網域控制站有相同的Machine SID,這樣會造成安全性問題。
2. 在內接硬碟或外接可移除式磁碟(如USB Disk)上的NTFS權限,會因其他電腦有相同SID的群組而能夠存取。(經測試,該目錄或檔案安全性權限會變成其他電腦上有相同SID使用者或群組名稱)
3. 單靠Machine SID 來識別電腦的分佈式軟體。
Sysprep 做了什麼?
1. 產生一個新的 SID、新的 SUSClientID。
2. 啟動隨插即用硬體偵測
3. 重設產品啟用時鐘
4. 刪除組態資料檔、紀錄檔、電腦特定組態
是否一定要使用 sysprep?
1. 解決不能與第一台 Domain Controller 有相同SID的問題。
2. 避免所有電腦都擁有同一個SUSClientID。
3. 避免使用內接硬碟或外接可移除式磁碟時發生有相同SID的使用者能存取受限的檔案或目錄。
4. 解決使用BizTalk Server 時,Windows 的 MSDTC必須獲派唯一的 CID 值。
EFS解密問題,實測可行方式
使用Advanced EFS Data Recovery之類的軟體解密,必須滿足下列條件才有機會解密
1. 原有的使用者設定檔有保留
2. 機器SID不能有改變
如果機器格式化重灌,可利用原先備出的master key跟private key及簽章救回加密資料
1. 需備份master key跟private key及簽章
2. 需有可變更SID的程式
3. 需記得原帳戶密碼
簡單說,如果master key跟private key、簽章,帳戶密碼及本機電腦SID沒有保留或記錄下來就肯定沒救。
Q&A
Q1. 不做SYSPREP導致電腦SID重複,是否會造成電腦無法加入網域?
A1. 不會,加入網域時電腦會取得該網域配發的電腦帳戶SID,而這組SID跟本機電腦SID是不一樣的。電腦帳戶SID必須從網域控制站才查得到。
Q2. 工作群組裡兩台電腦上的使用者有相同的SID,如果其中一台電腦上的使用者開資料夾共享給自己,另一台上相同SID的使用者是否能直接存取該共享資料夾?
A2. 不行,因為SID只作用在本機端,所有連線到遠端資源的存取都不會用到SID,都必須使用其他的驗證方式。
Q3. 正常狀態下,誰會跟網域控制站有相同的Domain SID?
A3. 其他的網域控制站。在一台成員伺服器升級成網域控制站時,它會將自己的Domain SID改成跟原本的網域控制站一樣。但電腦帳戶SID還是不一樣。
Q4. 如果使用Windows 的EFS加密檔案後,格式化重灌系統或使用映像檔重灌系統,原本的加密檔打不開了。是否可利用相同SID的電腦及使用者將這些檔案解密?
A4. 不行。如果master key跟private key沒了,即使是相同SID的電腦及使用者也無法產生一樣的master key跟private key。
Q5. 如果要加入網域的成員伺服器跟網域控制站有一樣的本機電腦SID,能加入網域嗎?
A5. 能夠加入網域,也沒有任何錯誤訊息。此時成員伺服器的本機電腦SID和網域的SID會是一樣,但網域裡的電腦帳戶SID不一樣,不過由於成員伺服器的本機電腦SID和網域的SID一致會造成資安問題。
Q6. 電腦的SID相同,會導致WSUS裡用戶端只看得到一台嗎?
A6. 不會,WSUS認的是SUSClientID,電腦SID即使一樣也不會造成影響。
資料來源:
https://docs.microsoft.com/zh-tw/windows-hardware/manufacture/desktop/sysprep--system-preparation--overview
https://www.mobile01.com/topicdetail.php?f=300&t=5456981
|