裝置更新的行動裝置管理 (MDM)
提示
如果您不是開發人員或系統管理員,您可以在 Windows Update:常見問題集中找到更有用的資訊。
使用電腦、平板電腦、手機和物聯網裝置,行動裝置管理 (MDM) 解決方案逐漸成為一種普遍的輕量型裝置管理技術。 在 Windows 中,我們會投入大量投資來擴充 MDM 可用的管理功能。 我們正在新增的一項重要功能,是讓 MDM 使用最新的 Microsoft Update 讓裝置保持在最新狀態。
特別是,Windows 提供可讓 MDM 執行下列作業的 API:
- 透過設定自動更新原則,確保電腦保持在最新狀態。
- 透過針對特定裝置設定要核准哪些更新,在少數電腦上測試更新。 然後,執行全企業推出。
- 取得受管理裝置的合規性狀態。 IT 可以了解哪些電腦仍然需要安全性修補程式,或特定電腦的目前狀態。
- 設定自動更新原則,確保裝置保持在最新狀態。
- 取得裝置合規性資訊 (需要但尚安裝的更新清單)。
- 輸入每個裝置的更新核准清單。 此清單會確保裝置僅安裝經過核准和測試的更新。
- 核准使用者的使用者授權合約 (EULAs),讓更新部署可以自動化,即使是使用 EULA 進行更新也一樣。
本文提供獨立軟體發行者 (ISV) 在 Windows 中實作更新管理所需的資訊。 如需詳細資訊,請參閱 原則 CSP - 更新。
注意
用於指定更新核准和取得合規性狀態的 OMA DM API 會使用 [更新識別碼] 來參照更新。 更新識別碼是識別特定更新的 GUID。 MDM 會想要顯示有關更新的 IT 易記資訊,而不是原始 GUID,包括更新的標題、描述、KB、更新類型,例如安全性更新或 Service Pack。 如需詳細資訊,請 參閱 [MS-WSUSSS]: Windows Update Services: Server-Server 通訊協定。
下圖提供其運作方式的概念性概覽:
圖表可以大致分為三個區域:
- 裝置管理服務會使用伺服器對伺服器同步處理通訊協定 (圖表的頂端),從 Microsoft Update 同步處理更新資訊 (標題、描述、適用性)。
- 裝置管理服務會設定自動更新原則、獲得更新合規性資訊,並透過 OMA DM 設定核准 (圖表的左側部分)。
- 裝置會使用用戶端/伺服器通訊協定從 Microsoft Update 取得更新。 它只會下載並安裝可套用至裝置且由 IT 核准 的更新 (圖表右側)。
使用伺服器對伺服器同步處理通訊協定取得更新中繼資料
Microsoft Update Catalog 包含許多 MDM 受管理裝置不需要的更新。 它包含舊版軟體的更新,例如伺服器更新、舊版電腦裝置作業系統,舊版應用程式以及大量驅動程式。 我們建議 MDM 使用伺服器對伺服器同步處理通訊協定,從用戶端報告的更新取得更新中繼資料。
本節說明此設定。 下圖顯示伺服器對伺服器同步處理通訊協定程式。
MSDN 提供許多有關伺服器對伺服器同步處理通訊協定的資訊。 特別是:
- 它是一種 SOAP 式通訊協定,您可以在伺服器同步處理 Web 服務中取得 WSDL。 WSDL 可用來產生許多程式設計環境的呼叫 Proxy,以簡化開發。
- 您可以在通訊協定範例中找到程式碼範例。 範例程式碼會顯示可供使用的原始 SOAP 命令。 雖然從 .NET 之類的程式設計語言進行呼叫會比較簡單, (呼叫 WSDL 產生的 Proxy) 。 伺服器同步 WSDL 產生的存根會產生不正確的系結 URL。 繫結 URL 應該設定為
https://fe2.update.microsoft.com/v6/ServerSyncWebService/serversyncwebservice.asmx
。
一些重要的重點:
- 通訊協定具有授權階段 (呼叫 GetAuthConfig、GetAuthorizationCookie 和 GetCookie)。 在通訊協定範例中,範例 1:授權碼會顯示如何完成此動作。 即使這稱為授權階段,通訊協定還是完全開啟 (不需要認證,就能執行此階段的通訊協定)。 需要完成這個呼叫順序,才能取得同步處理通訊協定主要部分的 Cookie。 如果您的 Cookie 已過期,您可以將 Cookie 快取並只再次呼叫這個序列,以進行最佳化。
- 通訊協定可呼叫 GetUpdateData,以允許 MDM 同步處理特定更新的中繼資料。 如需詳細資訊,請參閱 MSDN 中的 GetUpdateData。 取得其修訂號碼之適用更新的 LocURI 為
<LocURI>./Vendor/MSFT/Update/InstallableUpdates?list=StructData</LocURI>
。 因為無法透過 S2S 同步處理所有更新,所以請務必處理 SOAP 錯誤。 - 針對行動裝置,您可以呼叫 GetUpdateData 來同步處理特定更新的中繼資料。 或者,針對本機內部部署解決方案,您可以使用 Windows Server Update Services (WSUS) 並手動從 Microsoft Update Catalog 網站匯入行動更新。 如需詳細資訊,請參閱 程序流程圖和伺服器同步處理程序的螢幕擷取畫面。
注意
經過一段時間后,Microsoft更新會修改指定更新的元數據,例如更新描述性資訊、修正適用性規則中的 Bug、進行當地語系化變更等等。 每次發生不會影響更新本身的變更時,就會建立新的更新修訂。 UpdateID (GUID) 和 RevisionNumber (int) 複合來組成更新修訂的識別密鑰。 MDM 不會呈現 IT 的更新修訂。 相反地,針對每個 UpdateID (GUID) MDM 會保留該更新後續修訂的元數據,也就是具有最高修訂編號的元數據。
更新中繼資料 XML 結構和元素描述的範例
GetUpdateData 呼叫的回應會傳回包含 XmlUpdateBlob 元素中更新中繼資料的 ServerSyncUpdateData 陣列。 更新 XML 的結構描述可在通訊協定範例中取得。 以下說明一些主要元素:
- UpdateID - 更新的唯一標識符
- RevisionNumber - 更新修改時的修訂編號。
- CreationDate - 建立此更新的日期。
-
UpdateType - 更新的類型,其中可能包含下列專案:
- Detectoid - 如果此更新身分識別代表相容性邏輯
-
Category - 此元素可能代表下列其中一項:
- 更新所屬的產品類別。 例如,Windows、MS Office 等等。
- 更新所屬的分類。 例如,驅動程式、安全性等等。
- 軟體 - 如果更新是軟體更新。
- 驅動程式 - 如果更新是驅動程式更新。
-
LocalizedProperties - 代表更新可用的語言、更新的標題和描述。 它具有下列欄位:
- 語言 - 語言代碼識別碼 (LCID) 。 例如,en 或 es。
- 標題 - 更新的標題。 例如,「Windows SharePoint Services 3.0 Service Pack 3 x64 Edition (KB2526305) 」
- 描述 - 更新的描述。 例如,「Windows SharePoint Services 3.0 Service Pack 3 (KB2526305) 提供 Windows SharePoint Services 3.0 的最新更新。 安裝此項目後,您必須重新啟動電腦。 安裝此項目之後,就無法移除該專案。」
-
KBArticleID - 此更新的 KB 文章編號,其中包含特定更新的詳細數據。 例如,
https://support.microsoft.com/kb/2902892
。
使用伺服器對伺服器同步處理通訊協定的建議流程
本節說明使用伺服器對伺服器同步處理通訊協定將更新中繼資料提取到 MDM 的可能演算法。
首先是一些背景:
- 如果您有多租使用者 MDM,更新元數據可以保留在共用分割區中,因為所有租使用者都一樣。
- 然後可以執行中繼資料同步處理服務。 服務會定期呼叫伺服器-伺服器同步處理以取得 IT 所關心之更新的中繼資料。
- 使用 OMA DM 來控制裝置的 MDM 元件 (下一節所述) 應該向中繼資料同步處理服務傳送從每個用戶端取得的所需更新清單 (如果裝置尚無這些更新)。
下列程序說明中繼資料同步處理服務的基本演算法:
- 建立「需要更新標識碼才能容錯」的空白清單。 此清單會由使用 OMA DM 的 MDM 服務元件更新。 建議您不要新增定義更新至此清單,因為它們是暫時性的。 例如,Defender 每天可以多次釋出新定義更新,每個更新都是累加的。
- 定期同步處理 (建議每兩小時一次,每小時不超過一次)。
這些步驟會取得一組 IT 需要管理的 Microsoft Update 資訊,所以這些資訊可用於各種更新管理案例。 例如,在更新核准時,您可以取得資訊,讓 IT 查看他們核准哪些更新。 或者,針對合規性報告,查看需要但尚未安裝的更新。
使用 OMA DM 管理更新
MDM 可以透過 OMA DM 管理更新。 在 行動裝置管理 中,記錄了如何使用及整合 MDM 與 Windows OMA DM 通訊協定,以及如何註冊裝置以進行 MDM 管理的詳細資料。 本節重點說明如何延伸整合以支援更新管理。 更新管理的主要層面包括下列各項資訊:
- 設定自動更新原則,確保裝置保持在最新狀態。
- 取得裝置合規性資訊 (需要但尚安裝的更新清單)。
- 指定每個裝置更新核准清單。 此清單會確保裝置僅安裝經過核准和測試的更新。
- 核准使用者的 EULA,讓更新部署可以自動化,即使是使用 EULA 的更新也一般。
下列清單說明套用更新的建議模型。
- 有「測試群組」和「全部群組」。
- 在 [測試] 群組中,讓所有更新都流動。
- 在 [所有群組] 中,將品質更新延遲設定為七天,然後在七天后自動核准品質更新。 品質更新延遲不包括定義更新,因此定義更新會在可用時自動核准。 將 Update/DeferQualityUpdatesPeriodInDays 設定為 7,以比對定義更新的排程與品質更新延遲排程。 讓更新在七天后流動,或在發生任何問題時暫停。
更新是使用 更新原則 CSP 來設定。
更新管理使用者體驗螢幕擷取畫面
系統管理員主控台的下列螢幕快照顯示更新標題、核准狀態和其他元數據欄位的清單。
SyncML 範例
設定 Microsoft AutoUpdate 以通知和延遲。
<SyncML xmlns="SYNCML:SYNCML1.1">
<SyncBody>
<Replace xmlns="">
<CmdID>1</CmdID>
<Item>
<Meta>
<Format>int</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Vendor/MSFT/Policy/Config/Update/AllowUpdateService</LocURI>
</Target>
<Data>0</Data>
</Item>
<CmdID>2</CmdID>
<Item>
<Meta>
<Format>int</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Vendor/MSFT/Policy/Config/Update/RequireDeferUpgrade </LocURI>
</Target>
<Data>0</Data>
</Item>
<CmdID>3</CmdID>
<Item>
<Meta>
<Format>int</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Vendor/MSFT/Policy/Config/Update/RequireUpdateApproval </LocURI>
</Target>
<Data>0</Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>
伺服器同步處理程序的程序流程圖與螢幕擷取畫面
下列圖表與螢幕擷取畫面顯示使用 Windows Server Update Services 和 Microsoft Update Catalog 的裝置更新處理程序流程。