适用于设备更新的移动设备管理 (MDM)

提示

如果你不是开发人员或管理员,则可以在 Windows 更新:常见问题解答中找到更多有用的信息。

在电脑、平板电脑、手机和 IoT 设备中,移动设备管理 (MDM) 解决方案正逐渐成为流行的轻型设备管理技术。 在 Windows 中,我们在扩展 MM 可用的管理功能方面投入了大量资金。 我们新增的一项关键功能是,MDM 能够使用最新的 Microsoft 更新使设备保持最新状态。

特别是,Windows 提供了 API,使 MMM 能够:

  • 通过配置“自动更新”策略,确保计算机保持最新状态。
  • 通过为给定设备配置批准的更新,在一小组计算机上进行测试。 然后,执行企业范围的推出。
  • 获取托管设备的符合性状态。 IT 人员可以了解哪些计算机仍需要安全修补程序,或特定计算机的当前状态。
  • 配置自动更新策略以确保设备保持最新。
  • 获取设备合规性信息(需要但尚未安装的更新的列表)。
  • 输入每设备更新审批列表。 该列表确保设备仅安装已批准和测试的更新。
  • 批准最终用户的最终用户许可协议 (EULA),以便即使使用 EULA 进行更新,也可自动执行更新部署。

本文为独立软件供应商 (ISV) 提供在 Windows 中实现更新管理所需的信息。 有关详细信息,请参阅 策略 CSP - 更新

注意

用于指定“更新批准”和“获取合规性状态”的 OMA DM API 是指通过使用更新 ID 进行的更新。 更新 ID 是标识特定更新的 GUID。 MDM 需要显示有关更新的 IT 友好信息,而不是原始 GUID,包括更新的标题、说明、KB、更新类型(如安全更新或服务包)。 有关详细信息,请参阅 [MS-WSUSSS]:Windows 更新服务:Server-Server 协议

下图提供了有关其工作原理的概念性概述:

移动设备更新管理。

该图表大致可分为三部分:

  • 设备管理服务使用服务器-服务器同步协议(图表顶部)从 Microsoft 更新网站同步更新信息(标题、说明、适用性)。
  • 设备管理服务可设置自动更新策略、获取更新合规性信息,并通过 OMA DM(图表左侧部分)设置审批。
  • 设备使用客户端/服务器协议从 Microsoft 更新获取更新。 它仅下载并安装应用到设备并经 IT 批准的更新(关系图的右侧部分)。

使用服务器-服务器同步协议获取更新元数据

Microsoft 更新目录包含许多 MDM 托管设备不需要的更新。 它包括旧软件的更新,例如服务器更新、下层桌面操作系统和旧版应用和大量驱动程序。 建议 MDM 使用服务器-服务器同步协议获取客户端报告的更新的更新元数据。

本部分介绍此设置。 下图显示了服务器-服务器同步协议流程。

mdm 服务器-服务器同步。

MSDN 提供许多有关服务器-服务器同步协议的信息。 具体而言:

  • 它是一个基于 SOAP 的协议,你可以在服务器同步 Web 服务中获取 WSDL。 WSDL 可用于为许多编程环境生成调用代理,以简化开发。
  • 可以在协议示例中找到代码示例。 示例代码显示可以使用的原始 SOAP 命令。 尽管从 .NET 等编程语言进行调用更简单 () 调用 WSDL 生成的代理。 服务器同步 WSDL 生成的存根会生成不正确的绑定 URL。 绑定 URL 应设置为 https://fe2.update.microsoft.com/v6/ServerSyncWebService/serversyncwebservice.asmx

一些要点:

  • 该协议有一个授权阶段(调用 GetAuthConfig、GetAuthorizationCookie 和 GetCookie)。 在协议示例中,示例1:授权 代码显示了执行授权的方式。 尽管这称为授权阶段,但协议已完全打开(无需凭据即可运行此协议阶段)。 需要执行此调用顺序,以便为同步协议的主要部分获取 Cookie。 作为优化,你可以缓存 Cookie,并仅在 Cookie 过期的情况下再次调用此序列。
  • 该协议可通过调用 GetUpdateData 同步特定更新的更新元数据。 有关详细信息,请参阅 MSDN 中的 GetUpdateData。 LocURI 将获取修订版本号为 <LocURI>./Vendor/MSFT/Update/InstallableUpdates?list=StructData</LocURI> 的适用更新。 由于并非所有更新都可通过 S2S 同步获得,因此请确保处理 SOAP 错误。
  • 对于移动设备,可以通过调用 GetUpdateData 来同步特定更新的元数据。 或者,对于本地解决方案,可以使用 Windows Server Update Services (WSUS) 并从 Microsoft 更新目录站点手动导入移动更新。 有关详细信息,请参阅服务器同步过程的流程图和屏幕截图

注意

随着时间的推移,Microsoft 更新会修改给定更新的元数据,例如,通过更新描述性信息、修复适用性规则中的 bug、进行本地化更改等。 每次发生不影响更新本身的更改时,都会创建新的更新修订。 UpdateID (GUID) 和 RevisionNumber (int) 复合以构成更新修订的标识密钥。 MDM 不会向 IT 提供更新修订。 相反,对于每个 UpdateID (GUID) MDM 会保留该更新的后续修订的元数据,后者是具有最高修订号的更新。

更新元数据 XML 结构和元素说明的示例

GetUpdateData 调用的响应会返回 ServerSyncUpdateData 数组,其中包含 XmlUpdateBlob 元素中的更新元数据。 更新 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 - 此更新的知识库文章编号,其中包含有关特定更新的详细信息。 例如,https://support.microsoft.com/kb/2902892

本节将介绍使用服务器-服务器同步协议将更新元数据拉取到 MDM 的可能算法。

首先是一些背景信息:

  • 如果你有一个多租户 MDM,更新元数据可保留在共享分区中,因为这是所有租户所共有的。
  • 然后,可以实现元数据同步服务。 该服务定期调用服务器-服务器同步,以提取 IT 所关注的元数据的更新。
  • 使用 OMA DM 控制设备的 MDM 组件(在下一节中进行了说明)应向元数据同步服务发送从每个客户端获取的所需更新列表(如果设备还不知道这些更新)。

以下过程介绍了元数据同步服务的基本算法:

  1. 创建“要出错的所需更新 ID”的空列表。 此列表由使用 OMA DM 的 MDM 服务组件更新。 建议不要将定义更新添加到此列表,因为它们是临时的。 例如,Defender 可能一天发布多个新的定义更新,每个更新都是累积的。
  2. 定期同步(建议每 2 小时同步一次 - 频率不超过每小时一次)。
    1. 实现协议的授权阶段以获取 Cookie(如果还没有未到期的 Cookie)。 请参阅协议示例中的示例 1:授权
    2. 实现协议的元数据部分。 请参阅协议示例中的示例 2:元数据和部署同步) ,如果尚未将更新元数据拉取到 DB 中,请调用 GetUpdateData,了解“所需的更新 ID 在中出错”列表中的所有更新。
      • 如果更新是现有更新的较新修订版本(UpdateID 相同,但修订版本号更高),请使用新的更新元数据替换以前的更新元数据。
      • 引入更新后,请从“需要检查错误的更新 ID”列表中删除更新。

这些步骤用于获取有关 IT 人员需要管理的 Microsoft 更新集的信息,以便可以在各种更新管理方案中使用该信息。 例如,在更新审批时,你可以获取信息,以便 IT 人员查看他们正在批准哪些更新。 或者,用于查看需要但尚未安装的更新的符合性报告。

使用 OMA DM 管理更新

MDM 可以通过 OMA DM 管理更新。 移动设备管理记录了有关如何使用 MDM 并将其与 Windows OMA DM 协议集成,以及如何注册适用于 MDM 管理的设备的详细信息。 本节将重点介绍如何扩展该集成以支持更新管理。 更新管理的主要方面包括以下信息:

  • 配置自动更新策略以确保设备保持最新。
  • 获取设备合规性信息(需要但尚未安装的更新的列表)。
  • 指定每设备更新审批列表。 该列表确保设备仅安装已批准和测试的更新。
  • 为最终用户批准 EULA,以便可以自动进行更新部署,即使是使用 EULA 进行更新也是如此。

以下列表介绍了用于应用更新的建议模型。

  1. 具有“测试组”和“所有组”。
  2. 在“测试”组中,让所有更新流动。
  3. 在“所有组”中,将质量更新延迟设置为 7 天,然后在 7 天后自动批准质量汇报。 质量更新延迟排除定义汇报,因此定义汇报在可用时自动获得批准。 通过将 Update/DeferQualityUpdatesPeriodInDays 设置为 7,将定义汇报的计划与质量更新延迟计划相匹配。 让更新在七天后流动,或者在发生任何问题时暂停。

汇报是使用更新策略 CSP 配置的

更新管理用户体验屏幕截图

管理员控制台的以下屏幕截图显示了更新标题、审批状态和其他元数据字段的列表。

mdm 更新管理屏幕截图。

mdm 更新管理元数据屏幕截图。

SyncML 示例

将自动更新设置为通知和延迟。

<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 更新目录的设备更新过程的流程。

mdm 设备更新管理屏幕截图 3。

mdm 设备更新管理屏幕截图 4

mdm 设备更新管理屏幕截图 5

mdm 设备更新管理屏幕截图 6

mdm 设备更新管理屏幕截图 7

mdm 设备更新管理屏幕截图 8

mdm 设备更新管理屏幕截图 9