Skip to content

自定义配置

什么是自定义配置

自定义配置允许您将原始的 Apple 属性列表 (plist) XML 作为配置描述文件负载进行部署。这是针对 Apple MDM 协议支持但 Blueprint 编辑器中没有专用 UI 的任何设置的应急方案。

Apple 设备使用的每个配置描述文件都是一个 XML plist。Blueprint 编辑器将最常见的负载类型(密码、限制、WiFi 等)抽象为表单字段。自定义配置跳过了这一抽象层——您直接编写 plist 负载。

何时使用

  • Apple Configurator 2 工作流程 — 您有一个从 Apple Configurator 2 导出的现有 .mobileconfig 文件。将相关负载部分粘贴到自定义配置中,而不是逐字段重新构建。
  • UI 中未包含的高级设置 — Apple 在每个操作系统版本中都会添加新的负载键。Blueprint 编辑器可能尚未为新引入的键提供表单。自定义配置可以立即填补这一空白。
  • 嵌套或复杂负载 — 某些负载(例如,嵌入在 plist 中的自定义 XML、原始 JSON)难以表示为单独的表单字段。
  • 第三方 MDM 扩展 — 扩展 Apple 架构的供应商特定负载。

如何创建自定义 Plist 负载

  1. 导航至 配置管理 > Blueprints 并打开目标 Blueprint。
  2. 点击 添加配置 并选择 自定义配置
  3. 选择目标平台(iOS/iPadOS、macOS、tvOS)。
  4. 将您的 plist XML 粘贴到编辑器中。

负载必须是一个有效的 Apple plist 字典。至少需要包含 PayloadTypePayloadIdentifier

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadType</key>
    <string>com.apple.security.firewall</string>
    <key>PayloadIdentifier</key>
    <string>com.example.firewall.custom</string>
    <key>PayloadUUID</key>
    <string>a1b2c3d4-e5f6-7890-abcd-ef1234567890</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>PayloadDisplayName</key>
    <string>Custom Firewall Rules</string>
    <!-- Your payload-specific keys here -->
</dict>
</plist>

关键字段

必需描述
PayloadTypeApple 负载类型标识符(例如 com.apple.security.firewallcom.apple.applicationaccess
PayloadIdentifier此负载的反向 DNS 唯一标识符
PayloadUUID此负载实例的唯一 UUID
PayloadVersion负载版本号(通常为 1
PayloadDisplayName设备上"设置 > 通用 > VPN 与设备管理"中显示的人类可读名称
PayloadDescription设备上显示的描述
PayloadOrganization设备上显示的组织名称

查找负载类型

Apple 在 Apple 配置描述文件参考 中发布了支持的负载类型及其键的完整列表。常见类型包括:

PayloadType用途
com.apple.applicationaccess限制
com.apple.security.firewallmacOS 防火墙
com.apple.MCXmacOS 偏好设置映射
com.apple.wifi.managedWi-Fi 网络
com.apple.vpn.managedVPN 配置
com.apple.security.scepSCEP 证书注册
com.apple.dnsSettings.managedDNS 设置

编辑器中的 XML 语法验证

自定义配置编辑器包含内置的 XML 语法验证。在您输入时,编辑器会检查:

  • 格式良好的 XML — 匹配的标签、正确的嵌套、有效的字符。
  • Plist 结构 — 根元素必须是带有 <dict> 子元素的 <plist>
  • 必需的键 — 必须包含 PayloadTypePayloadIdentifierPayloadUUIDPayloadVersion

无效的 XML 会以内联错误指示器标记。当自定义配置负载存在语法错误时,Blueprint 无法保存。

测试和部署自定义配置

  1. 在编辑器中验证 — 保存前确保没有显示语法错误。
  2. 保存 Blueprint — 系统将 Blueprint 编译为配置描述文件并将其加入投递队列。
  3. 分配给测试组 — 首先部署到一小部分测试设备。
  4. 在设备上验证 — 检查描述文件是否已安装在 设置 > 通用 > VPN 与设备管理(iOS)或 系统设置 > 隐私与安全性 > 描述文件(macOS)下。
  5. 检查 MDM 日志 — 在仪表板中查看设备命令日志,确认描述文件已成功投递和安装。
  6. 广泛发布 — 验证通过后,将 Blueprint 分配给生产组。

警告:高级功能

自定义配置是一项高级功能,适用于了解 Apple 配置描述文件架构的管理员。plist XML 中的错误可能导致:

  • 描述文件安装失败
  • 意外的设备行为
  • 无法在不擦除描述文件的情况下移除的设置

请确保您清楚自己在做什么。 如果您对某个负载键或值不确定,请先在非生产设备上进行测试。当某个设置存在受支持的 UI 时,优先使用基于表单的配置而非原始 XML——它提供了验证、安全防护以及针对架构变更的未来兼容性。

基于 MIT 许可证发布