跳转到主要内容

ONC 变量与示例

变量可以让一份网络策略复用于不同用户或设备。是否展开取决于 ONC 作用于登录用户 还是设备范围。

支持的变量

变量替换结果常见用途
${LOGIN_ID}登录邮箱中 @ 前的部分RADIUS 或 VPN 短用户名
${LOGIN_EMAIL}完整登录邮箱RADIUS 或 VPN 身份
${DEVICE_SERIAL_NUMBER}设备序列号设备级身份
${DEVICE_ASSET_ID}管理员设置的资产 ID设备级身份
${CERT_SAN_EMAIL}证书第一个 RFC822 SAN证书身份
${CERT_SAN_UPN}证书 UPN SAN类 Active Directory 身份
${CERT_SUBJECT_COMMON_NAME}证书通用名称证书身份
${PASSWORD}登录用户密码完整 Wi-Fi EAP 或 L2TP 密码字段

${PASSWORD} 是替换变量,不是通用模板。字段必须完全等于 ${PASSWORD}${PASSWORD}-suffix 不会被替换。

可复用 PEAP 示例

{
"Type": "UnencryptedConfiguration",
"NetworkConfigurations": [
{
"GUID": "{wifi-peap-corporate}",
"Name": "Corporate Wi-Fi",
"Type": "WiFi",
"WiFi": {
"AutoConnect": true,
"SSID": "Corporate",
"Security": "WPA2-Enterprise",
"EAP": {
"Outer": "PEAP",
"Inner": "MSCHAPv2",
"Identity": "${LOGIN_EMAIL}",
"Password": "${PASSWORD}",
"SaveCredentials": true,
"UseSystemCAs": true
}
}
}
]
}

一份文档包含多个网络

NetworkConfigurations 是数组。每个完整网络对象都是单独的数组项,并使用 唯一 GUID

{
"Type": "UnencryptedConfiguration",
"NetworkConfigurations": [
{
"GUID": "{wifi-primary}",
"Name": "Primary Wi-Fi",
"Type": "WiFi",
"WiFi": {
"AutoConnect": true,
"SSID": "Primary",
"Security": "WPA-PSK",
"Passphrase": "replace-with-managed-secret"
}
},
{
"GUID": "{ethernet-dhcp}",
"Name": "Ethernet",
"Type": "Ethernet",
"Ethernet": {
"Authentication": "None"
}
}
]
}

删除受管理对象

使用原对象的同一 GUID:

{
"Type": "UnencryptedConfiguration",
"NetworkConfigurations": [
{
"GUID": "{wifi-old-network}",
"Remove": true
}
]
}

不要把这个 GUID 复用于其他网络。

校验清单

  • 文档能被解析为 JSON,没有注释或末尾逗号。
  • 顶层 TypeUnencryptedConfiguration
  • 每个网络和证书 GUID 都非空且唯一。
  • 所有证书引用都定义在同一文档中。
  • 网络 Type 与对象匹配,例如 WiFi 对应 WiFi 对象。
  • 所选安全、EAP、IP、VPN 和代理模式需要的字段齐全。
  • 布尔值和数字没有被写成字符串。
  • 示例地址、密码、主机和证书数据已全部替换。

保留经审查的最后一份可用文档。完整字段定义以 ONC 参考为准。

下一步