布建在 Windows 中的運作方式

在 Windows 用戶端中布建套件可為 IT 系統管理員提供簡化的方式,將組態設定套用至 Windows 用戶端裝置。 Windows 設定設計工具是項可以輕鬆建立佈建套件的工具。 您可以從 Microsoft Store 安裝 Windows 設定 Designer。

佈建套件

布建套件包含可透過卸載式媒體提供或下載到裝置的特定組態/設定和資產。

為能夠新增多組設定或組態,佈建引擎所使用的組態資料是由包括個別佈建套件的多個組態來源建置。 每個佈建套件包含不同來源的佈建資料。

佈建套件 (.ppkg) 是一種組態設定集合的容器。 套件具有下列格式:

  • 套件元數據 - 元數據包含套件的基本資訊,例如套件名稱、描述、版本、排名等等。

  • XML 描述項 - 每個描述項都會定義套件中包含的自定義資產或組態設定。

  • 資產承載 - 自定義資產的承載,或與應用程式或數據資產相關聯的組態設定。

您可以透過存取連結至裝置之卸載式媒體上的套件、透過NFC) 的近距離現場通訊 (,或從遠端來源位置下載,來使用布建套件來布建運行時間裝置。

佈建套件的優先順序

當有多個佈建套件可供裝置佈建使用時,會使用封裝資訊清單中所定義的套件擁有者類型和套件排名等級的組合來解決設定衝突。 預先定義的套件擁有者類型之優先順序如下 (由最低到最高)︰

  1. Microsoft

  2. 晶片廠商

  3. OEM

  4. 系統整合商

  5. 電信業者

  6. IT 系統管理員

套件排名等級的有效值範圍是 0 到 99。

遇到設定衝突時,在裝置上佈建的最終值取決於擁有者類型的優先順序和包含設定之套件的排名等級。 若套件之擁有者類型相同,則依套件排名等級決定將在裝置上所佈建的套件設定值。

Windows 佈建 XML

Windows 佈建 XML 是一種架構,允許 Microsoft 和 OEM 元件宣告使用者可設定的設定值和裝置上基礎結構,讓元件擁有者以最省力的方式套用設定。

每個元件的設定都可以在該元件的封裝資訊清單檔案內宣告。 這些宣告會轉變成 Windows 設定設計工具所使用的設定結構描述,來向使用者公開可能的設定,在影像中或佈建套件中建立自訂。 Windows 設定設計工具會轉譯使用者組態為裝置上的佈建格式,而組態是透過 Windows 佈建回應檔案宣告。

當佈建引擎選取組態時,Windows 佈建 XML 是包含在所選的佈建資料內,並且透過組態管理員傳遞,然後傳遞到 Windows 佈建 CSP。 Windows 佈建 CSP 接著接受並套用佈建到適當位置供實際元件使用。

佈建引擎

布建引擎是在執行 Windows 10/11 之裝置的運行時間管理布建和設定的核心元件。

佈建引擎提供下列功能︰

  • 當裝置執行時隨時佈建組態,包括第一次開機、設定或 OOBE。 也可在裝置執行期間延伸到其他點。
  • 讀取和結合多個組態來源的設定,這些組態來源可能是由 Microsoft、OEM 或系統整合商新增至映像,或由 IT/教育管理員或使用者於執行階段新增至裝置。 組態來源可建置到映像或從佈建套件新增到裝置。
  • 回應觸發程序或事件以及起始佈建階段。
  • 驗證佈建套件。
  • 根據階段選取一組組態以及選取對應到特定組態的一組金鑰 (例如 SIM 卡、MCC/MNC、IMSI 範圍等),然後傳遞此組態到要套用的組態管理基礎結構。
  • 使用 OOBE 和控制台 UI,可讓使用者在無法判斷特定相符項目時選取組態。

組態管理員

組態管理員提供統一的方式來管理 Windows 10/11 裝置。 組態主要是透過開放行動通訊聯盟 (OMA) 裝置管理 (DM) 和用戶端佈建 (CP) 通訊協定完成。 組態管理員處理和剖析這些來自不同通道的通訊協定要求,並將它們向下傳遞給設定服務提供者 (CSP) 以執行特定管理要求和設定。

佈建引擎仰賴組態管理員完成所有實際的處理事項和所選組態的套用。 佈建引擎會決定佈建階段並根據一組金鑰決定要傳送給組態管理員的組態集。 組態管理員進而對於要套用的設定進行剖析並呼叫到 CSP。

在組態管理員下方是 CSP。 組態的每個區段會轉譯到特定 CSP,以便在裝置上解譯為動作。 每個 CSP 會轉譯組態中的指示並呼叫到適當的 API 和元件,以執行所要求的佈建動作。

原則和資源管理員

原則、資源及內容管理員元件管理裝置在企業環境的註冊和取消註冊。 企業中的註冊程序基本上是企業想要在裝置上執行的佈建組態和裝置管理原則。 這通常是透過網路連線將裝置明確註冊到企業的裝置管理伺服器。 這讓使用者能夠透過裝置存取企業的資源,以及讓企業有方式可管理和控制存取,以及管理和控制裝置本身。

企業註冊與佈建引擎所執行的組態之間的主要差異︰

  • 註冊是在使用者可能沒有完全控制權的裝置上執行一組受限制和受管制的原則。 佈建引擎會公開較大的一組設定,來設定裝置的更多層面,並且通常是使用者可以進行調整。
  • 原則管理員管理多個實體的原則設定,並根據實體的優先順序執行設定的選擇。 佈建引擎會套用設定,而且無法排定不同來源之設定的優先順序。 最具體的佈建會最後套用,也是所使用的那一個。
  • 不同註冊實體所套用的個別原則設定會先儲存,以便稍後可在取消註冊期間移除。 使用者因此可以移除企業原則並將裝置回復到沒有企業限制和任何敏感資料的狀態。 佈建引擎不會保留個別佈建設定或回復所有已套用設定的途徑。

若企業或教育機構沒有 DM 伺服器可進行完整的裝置管理時,在 Windows 10 中,為支援這些客戶,需要透過佈建套用原則和進行註冊。 佈建引擎支援透過其組態佈建註冊和原則,並直接或透過組態管理員整合現有的原則和資源管理員元件。

觸發程序與階段

觸發程序是系統在存留期間起始佈建階段的事件。 觸發程序的範例包括︰開機、OOBE、SIM 卡變更、新增使用者、新增系統管理員、使用者登入、裝置更新和各種手動觸發程序 (例如,透過 USB 部署或從電子郵件附件或 USB 快閃磁碟機啟動)。

觸發程序發生時,特定佈建階段會起始佈建。 階段會依據設定範圍分組︰

  • 靜態︰執行佈建的第一階段,套用組態設定到系統以啟動 OOBE,或者套用建立映像時無法完成的全裝置設定。
  • 系統︰OOBE 期間執行並設定全系統設定。
  • UICC︰UICC 階段,為裝置中每個新 UICC 執行,以根據 UICC 或 SIM 卡的身分處理組態及商標。 這適用於執行階段組態案例,其中 OEM 可以維護一個能為多個電信業者設定的映像。
  • 更新︰更新後執行以套用可能的更新設定變更。
  • 使用者︰使用者帳戶第一次執行時執行,以設定每個使用者的設定。

OOBE 期間的裝置佈建

佈建引擎一律套用存在作業系統磁碟分割 C:\Recovery\Customizations 資料夾中的佈建套件。 當佈建引擎套用 %ProgramData%\Microsoft\Provisioning 資料夾中的佈建套件時,特定執行階段設定套用,例如安裝和設定 Windows 應用程式的設定,可能會延伸超過 OOBE 行程並在裝置到達桌面時持續在背景中處理。 設定原則和特定重要系統組態的設定,一律要在必須生效的第一個點之前完成。

裝置初次開機到 OOBE 時,裝置使用者可從遠端來源套用佈建套件。 OOBE 期間的裝置佈建僅在第一個 OOBE UI 頁面上語言、地區設定、時區及其他設定都設定好之後才會觸發。 觸發裝置佈建時,佈建 UI 會顯示在 OOBE 頁面中。 佈建 UI 可讓使用者選取從遠端來源獲取佈建套件,例如透過 NFC 或卸除式媒體取得。

下表顯示使用者第一次開機到 OOBE 時如何起始裝置佈建。

套件交付 起始方法 支援的裝置
抽取式媒體 - USB 磁碟驅動器或 SD 記憶卡
(套件必須放在媒體根目錄)
五次快速點選 Windows 金鑰以啟動佈建 UI 所有 Windows 裝置
從系統管理員裝置透過機器對機器 NFC 或 NFC 標籤
(系統管理員裝置必須執行可透過 NFC 傳輸套件的應用程式)
五次快速點選 Windows 金鑰以啟動佈建 UI Windows IoT 核心版裝置

佈建引擎一律會先複製所取得的佈建套件到 %ProgramData%\Microsoft\Provisioning 資料夾,之後才在 OOBE 期間進行處理。 佈建引擎一律會套用 Windows 安裝程式 OOBE 行程期間安裝的 Windows 映像中所內嵌的佈建套件,無論套件是否已簽署並受信任。 當佈建引擎在 OOBE 期間將已加密的佈建套件套用至使用者裝置時,使用者必須先提供有效的密碼才能解密套件。 佈建引擎也會檢查佈建套件是否已簽署並受信任;若未簽署和受信任,使用者必須在套用套件至裝置之前提供同意。

當佈建引擎在 OOBE 期間套用佈建套件時,它只會將套件的執行階段設定套用到裝置。 執行階段設定可以是全系統設定的設定,包括安全性原則、Windows 應用程式安裝/解除安裝、網路組態、引導 MDM 註冊、檔案資產的佈建、帳戶和網域設定、Windows 版本升級等。 佈建引擎也會檢查裝置上的組態設定,例如地區/地區設定或 SIM 卡,並以相符的條件套用 Multivariant 設定。

執行階段的裝置佈建

在裝置執行階段,獨立的佈建套件可透過使用者啟動來套用。 下表顯示可在裝置執行階段起始佈建的情形。

套件交付 起始方法 支援的裝置
抽取式媒體 - USB 磁碟驅動器或 SD 記憶卡
(套件必須放在媒體根目錄)
\[設定\]>\[帳戶\]>\[存取公司或學校資源\]>\[新增或移除佈建套件\] 所有 Windows 裝置
從網路連線下載並複製到本機資料夾 按兩下套件檔案。 傳統型版本裝置的 Windows 用戶端
從透過 USB 網際網路共用從系統管理員裝置連接至目標裝置 拖放套件檔案到目標裝置 Windows IoT 核心版裝置

從附加至裝置的卸除式媒體套用佈建套件時,設定 UI 可讓您先檢視套件的內容,再選取要佈建的套件。 為降低因套用未知來源的佈建套件而使裝置被入侵的風險,可簽署和加密佈建套件。 合作夥伴也可以設定原則,在裝置執行階段限制佈建套件的套用。 在裝置執行階段套用佈建套件需要系統管理員權限。 如果套件未經簽署或受信任,使用者必須在套用套件至裝置之前提供同意。 如果套件已加密,需要有效的密碼,才可在套用套件至裝置之前解密套件。

當套用多個佈建套件到裝置時,佈建引擎會使用套件中繼資料中定義的套件擁有者類型和套件排名等級的組合,評估套件排名,以解決不同套件中設定值相衝突的情形。 套件排名最高之佈建套件所套用的設定值,將會是最後套用到裝置的值。

獨立佈建套件套用至裝置之後,套件會存在裝置上的 %ProgramData%\Microsoft\Provisioning 資料夾中。 系統管理員可以移除佈建套件,方法為使用 \[設定\]>\[帳戶\]>\[存取公司或學校資源\]下的 \[新增或移除佈建套件\]