Persist Manager

注意:要显示特定设备上存在的功能,请从下面的 SmartDocs 栏中选择一个或多个过滤器。

StageNow - 2.10

概述

Persist Manager 允许管理员将请求 XML 文档指定为“保留”,这导致在企业重置或导致企业重置的 OS 更新后,这些设置文档保留在设备上,并且可根据需要重新应用它们的设置。请求 XML 文档包含根据一个或多个 CSP 功能创建的设备配置设置(例如,按键映射 、网络设置等)。

PersistMgr 通过为请求 XML 文档指定名称和版本号,来唯一标识它。可选的序号用来控制相对于其他保留文档何时重新提交它。管理员也可以指定是否根据无错误提交文档的能力来保留文档。

在 Zebra Android 设备上,企业重置会将操作系统恢复为它的出厂状态,同时保留存储有保留内容的 /enterprise 分区(恢复出厂设置将会删除此分区)。企业重置设计为将设备恢复到企业定义的默认状态,这通常由 /enterprise 分区的内容来确定。使用 MDM 工具包时,MDM 代理通过控制在企业重置后保留的内容,确定将提交哪些请求 XML 文档,来控制企业定义的状态。

在 KitKat 设备上,进行 MX 升级后,在重新启动设备之前,PersistMgr 将不可用。

主要功能

  • 将请求 XML 文档设为保留
  • 重新应用请求 XML 文档的设置
  • 选择设置重新应用的顺序
  • 在重新应用所有设置之前阻止访问所有设备输入
  • 仅保留未生成错误的请求 XML 文档
  • 将保留请求 XML 文档设为非保留
  • 启用或禁用保留请求 XML 文档
  • 列出当前在设备上的保留请求 XML 文档
  • 显示设备上保留请求 XML 文档的值

常见用途

将文档设为保留

最常见的使用案例是仅在提交请求 XML 文档到 MXMF 进行处理时才包括 PersistMgr。这会导致整个请求 XML 文档被 PersistMgr 保存在受保护 /enterprise 文件夹中。在进行企业重置之后,PersistMgr 向 MXMS 重新提交在当时设为保留的所有请求 XML 文档。

例如,要使某个应用程序成为企业定义的默认状态的一部分:

  1. 下载该应用程序的 .apk 文件到设备上的保留位置(也就是 /enterprise/usr/myapp)。
  2. 设置一个请求 XML 文档以安装并启动 .apk 文件。
  3. 使用 PersistMgr 将该请求 XML 文档设为保留。

该 .apk 文件现在成为企业定义的默认状态的一部分,在每次企业重置后都会自动重新安装并重新启动。

将文档设置为非保留

使用此方案,删除先前设置为保留的请求 XML 文档。例如,如果不再希望以上示例中的应用程序成为企业定义的默认状态的一部分,则必须将其卸载设置为非保留;只是从设备中卸载它是不够的,因为应用程序会在下一次企业重置后重新安装。在这种情况下,还建议将 .apk 文件从它的保留位置中删除以完成清理。

列出保留文档

这在使用 MDM 时可能特别相关。PersistMgr 可用于查询当前在 /enterprise 受保护文件夹中保存的所有请求 XML 文档的名称、版本和执行顺序。这对于确定设备上是否存在一个或多个特定配置参数非常有用。

例如,管理员可以维护四组使用不同 WPA2 密码的 Wi-Fi 设置,以便每个日历季度进行大规模部署。它们可能使用“Wi-Fi 设置”的保留名称保留版本号 1、2、3 和 4 保存在 MDM 系统中。由于 PersistMgr 允许任何时候设备上只有一个保留名称,查询“保留”文档可快速确定设备是否安装了给定季度的密码设置。

此查询还可能有助于对多个保留请求 XML 文档之间的交互进行故障排除,或者只是检索文档名称,使它们能够被设置为“非保留”(如果需要)。

启用或禁用文档

这可能对于故障排除情形非常有用。PersistMgr 可用来禁用保留请求 XML 文档,或启用已被禁用的保留请求 XML 文档(设置为保留的请求 XML 文档默认为启用)。禁用的保留请求 XML 文档在企业重置后会保留在设备上,但是不会重新应用它们的设置。通过有选择性地禁用和启用请求 XML 文档及其对应的设置,可以在企业重置后隔离某些设备冲突,直到发现冲突的原因。

安全说明

在企业重置后,某些 Zebra 设备会暂时禁用键盘、触摸屏和 USB 端口,并在此时间内显示一条消息。一旦重新应用了所有保留的设置,设备将释放这些“锁定”,恢复设备对管理员定义的配置和应用程序的保护。


保留操作

用于指定是否将一个请求 XML 文档设置为保留或非保留,以及启用或禁用保留请求 XML 文档。必须使用“保留名称”和“保留版本”标识符指定请求 XML 文档。此外,如果先前指定了“保留顺序”标识符,则还必须使用该标识符。

请求 XML 文档默认情况下为“非保留”,必须指定为“保留”,才能在企业重置后保留在设备上。设置为“保留”的文档在默认情况下被启用。重置后,PersistMgr 服务将重新应用设置为保留并且已启用的所有请求 XML 文档的设置。已禁用的保留文档在企业重置后会保留在设备上,但是不会重新应用它们的设置。

参数名称:PersistAction

选项 名称 说明需要
1 添加当前 XML 作为保留配置文件 将指定的请求 XML 文档指定为“保留”。

MX:4.1+

2 删除指定的保留配置文件 将指定的保留请求 XML 文档指定为“非保留”。

MX:4.1+

3 启用指定的保留配置文件 启用指定的保留请求 XML 文档。

MX:4.2+

4 禁用指定的保留配置文件 禁用指定保留请求 XML 文档。

MX:4.2+

保留名称

用于指定要分配给某个被设置为“保留”的请求 XML 文档的名称,以及/或者用来标识要执行“保留操作”的现有保留请求 XML 文档的名称。在标识现有的保留请求 XML 文档时,此值应与“留存版本”和“留存顺序”(如果先前已指定)的值结合使用。如果未能提交确切值,将导致没有操作,并且在结果 XML 中返回错误

在“保留名称”中指定的值在给定时间只能在设备上使用一次。如果在设备上已存在使用“保留名称”指定的文档,新文档将覆盖现有文档。有关“保留名称”使用示例,请参见以上“概述”的列出保留文档部分。

参数值输入规则

  • 1 到 255 个字符的字符串

参数名称:PersistAsName

需要:

  • MX:4.1+

保留版本

用于指定要分配给某个被设置为“保留”的请求 XML 文档的版本号,以及/或者用来帮助识别要执行“保留操作”的现有保留请求 XML 文档的版本号。如果未能提交确切值,将导致没有操作,并且在结果 XML 中返回错误。有关“保留版本”使用示例,请参见以上“概述”的列出保留文档部分。

参数值输入规则

  • 包含 1-10 的整数值的字符串

参数名称:PersistAsVersion

需要:

  • MX:4.2+

保留顺序

用于指定请求 XML 文档在企业重置后相对于其他文档重新提交的顺序。先提交顺序号较小的文档。未编号的文档或编号相同的文档将按照它们的“保留名称”值的字母顺序提交。如果未能提交确切值,将导致没有操作,并且在结果 XML 中返回错误

参数值输入规则

  • 1 到 99 之间的整数值

参数名称:PersistAsOrder

需要:

  • MX:4.2+

出错时保留

控制请求 XML 文档于提交后在结果 XML 中返回了顶层特征错误时是否被设置为“保留”。

在以下条件下显示:保留操作是“添加当前 XML 作为保留配置文件”

参数名称:PersistIfError

选项 名称 说明需要
导致包含此 PersistMgr 功能的请求 XML 文档将被设置为“保留”,即使是在提交后返回的结果 XML 中报告了顶层特征错误。

MX:4.2+

阻止包含此 PersistMgr 功能的请求 XML 文档在提交后返回的结果 XML 中报告了任何顶层特征错误时被设置为“保留”。

MX:4.2+

示例

将请求 XML 文档设为保留

下面的这个请求 XML 文档使用 PersistMgr 将它自身设置为“保留”。

<wap-provisioningdoc><characteristic type="Clock" version="4.2"><parm name="AutoTime" value="true" /><characteristic type="AutoTimeDetails"><parm name="NTPServer" value="http://time.test.com" /><parm name="SyncInterval" value="00:30:00" /></characteristic></characteristic><characteristic type="PersistMgr"><parm name="PersistAction" value="1" /><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile" /><parm name="PersistAsVersion" value="1" /><parm name="PersistAsOrder" value="3"/><parm name="PersistIfError" value="false" /></characteristic></characteristic></wap-provisioningdoc>

删除保留配置文件

下面的请求 XML 文档使用 PersistMgr 将上例中设置为“保留”的请求 XML 文档设置为不再“保留”。

<wap-provisioningdoc><characteristic type="PersistMgr" version="4.2" ><parm name="PersistAction" value="2"/><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile"/><parm name="PersistAsVersion" value="1"/><parm name="PersistAsOrder" value="3"/></characteristic></characteristic></wap-provisioningdoc>

禁用保留配置文件

下面的请求 XML 文档使用 PersistMgr 禁用上例中设置为“保留”的请求 XML 文档。

<wap-provisioningdoc><characteristic type="PersistMgr" version="4.2" ><parm name="PersistAction" value="4"/><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile"/><parm name="PersistAsVersion" value="1"/><parm name="PersistAsOrder" value="3"/></characteristic></characteristic></wap-provisioningdoc>

启用保留配置文件

下面的请求 XML 文档使用 PersistMgr 启用上例中设置为“保留”的请求 XML 文档。

<wap-provisioningdoc><characteristic type="PersistMgr" version="4.2" ><parm name="PersistAction" value="3"/><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile"/><parm name="PersistAsVersion" value="1"/><parm name="PersistAsOrder" value="3"/></characteristic></characteristic></wap-provisioningdoc>

查询

注意:以下查询是 PersistMgr 支持的查询,但是在 PersistMgr DSD 中未指明,因此不能使用 DSD 工具生成。如果需要查询,必须手动创建。

列出设备上的所有保留请求 XML 文档

输入

<wap-provisioningdoc><characteristic-query type="PersistMgr"/></wap-provisioningdoc>

输出

<wap-provisioningdoc><characteristic type="PersistMgr"><parm name="PersistAction" value="1"/><characteristic type="persist-details"><parm name="PersistAsName" value="App-profile"/><parm name="PersistAsVersion" value="02"/><parm name="PersistAsOrder" value="1"/><parm name="PersistIfError" value="true"/><parm name="ProfileMethod" value="3"/></characteristic></characteristic><characteristic type="PersistMgr"><parm name="PersistAction" value="1"/><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile"/><parm name="PersistAsVersion" value="01"/><parm name="PersistAsOrder" value="3"/><parm name="PersistIfError" value="false"/><parm name="ProfileMethod" value="3"/></characteristic></characteristic></wap-provisioningdoc>

注意:在以上结果 XML 文档中包括的“ProfileMethod”供将来使用。

获取指定保留请求 XML 文档的值

输入

<wap-provisioningdoc><characteristic type="PersistMgr"><characteristic-query type="persist-details"><parm name="PersistAsName" value="Clock-profile"/></characteristic-query></characteristic></wap-provisioningdoc>

输出

<wap-provisioningdoc><characteristic type="PersistMgr"><parm name="PersistAction" value="1"/><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile"/><parm name="PersistAsVersion" value="01"/><parm name="PersistAsOrder" value="3"/><parm name="PersistIfError" value="false"/><parm name="ProfileMethod" value="3"/></characteristic></characteristic></wap-provisioningdoc>

注意:在以上结果 XML 文档中包括的“ProfileMethod”供将来使用。

获保留请求 XML 文档的“保留版本”值

输入

<wap-provisioningdoc><characteristic type="PersistMgr"><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile" /><parm-query name="PersistAsVersion"/></characteristic></characteristic></wap-provisioningdoc>

输出

<wap-provisioningdoc><characteristic type="PersistMgr" version="4.4"><characteristic type="persist-details"><parm name="PersistAsName" value="Clock-profile"/><parm name="PersistAsVersion" value="01"/></characteristic></characteristic></wap-provisioningdoc>