WLAN 云解决方案提供商

WiFi 配置服务提供商提供在 Windows 设备上添加或删除 Wi-Fi 网络的功能。 配置服务提供程序接受 SyncML 输入,并将其转换为安装在设备上的网络配置文件。 此配置文件使设备能够在 Wi-Fi 网络处于范围内时连接到网络。

编程注意事项:

  • 如果身份验证方法需要证书(例如,EAP-TLS 需要客户端证书),则必须通过 CertificateStore 配置服务提供程序对其进行配置。 WiFi 配置服务提供商不提供该功能;相反,Wi-Fi 配置文件可以指定要用于为该网络选择正确证书的证书的特征。 在部署 Wi-Fi 网络配置之前,服务器必须先成功注册证书。 例如,对于 EAP-TLS 配置文件,服务器必须在部署 Wi-Fi 配置文件之前成功配置和注册所需的客户端证书。 自签名证书适用于 EAP-TLS/PEAP-MSCHAPv2,但在 EAP-TLS 中不受支持。
  • 对于基于 WEP、WPA 和 WPA2 的网络,请在网络配置中包含纯文本密钥。 密钥存储在设备上时会自动加密。
  • LocURI 节点 Wi-Fi 网络部分的 SSID 必须是基于 RFC 2396 的有效 URI。 这种情况要求所有非 ASCII 字符都必须使用 %-character 进行转义。 不支持不需要转义的 Unicode 字符。
  • 必须与 <name>name_goes_here</name>\<SSIDConfig> 匹配 <SSID><name>name_goes_here</name></SSID>
  • 对于 WiFi CSP,除非节点已存在,否则不能使用 Replace 命令。
  • 在Windows 10客户端版本 (家庭版、专业版、企业版和教育版中使用 ProxyPacUrl 或 ProxyWPAD) 将导致失败。

以下列表显示了 WiFi 配置服务提供程序节点:

设备/配置文件

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile

标识 Wi-Fi 网络配置。 每个 Wi-Fi 网络配置都由配置文件对象表示。 此网络配置文件包括设备连接到该网络所需的所有信息-例如,SSID、身份验证和加密方法以及 WEP 或 WPA2 网络时的密码。

描述框架属性:

属性名 属性值
格式 node
访问类型 “获取”

Device/Profile/{SSID}

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}

Wi-Fi 网络的配置文件名称。 这是在添加 WlanXml 节点时添加的,在删除 WlanXml 时将其删除。

指定 Wi-Fi 网络的名称, (创建、配置、查询或删除的最大) 32 字节。 该名称区分大小写,可以用 ASCII 表示。

SSID 是连接到的网络的名称,而配置文件名称是包含 WiFi 设置信息的配置文件的名称。 如果根据 WiFi 设置 XML 中的信息,在 MDM SyncML 中未正确设置配置文件名称,则可能会导致一些意外错误。 例如,<LocURI>./Vendor/MSFT/WiFi/Profile/<MUST BE NAME OF PROFILE AS PER WIFI XML>/WlanXml</LocURI>

描述框架属性:

属性名 属性值
格式 node
访问类型 添加、删除、获取、替换
动态节点命名 ServerGeneratedUniqueIdentifier

Device/Profile/{SSID}/ProfileSource

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 11版本 22H2 [10.0.22621] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}/ProfileSource

允许定义要设置此 Wi-Fi 配置文件的管理实体。 这当前可设置为 0=企业版或 1=移动运营商。

描述框架属性:

属性名 属性值
格式 int
访问类型 获取、替换
默认值 0

允许的值:

说明
0(默认值) 企业。
1 移动运营商。

Device/Profile/{SSID}/Proxy

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}/Proxy

可选节点。 格式为 url:port。 配置网络代理 ((如果有) )。

描述框架属性:

属性名 属性值
格式 chr (字符串)
访问类型 添加、删除、获取、替换

Device/Profile/{SSID}/ProxyPacUrl

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1607 [10.0.14393] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}/ProxyPacUrl

可选节点。 PAC 文件位置的 URL。

注意

请勿使用。 在 Windows 10 客户端版本中使用此配置将导致失败。

描述框架属性:

属性名 属性值
格式 chr (字符串)
访问类型 添加、删除、获取、替换

Device/Profile/{SSID}/ProxyWPAD

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1607 [10.0.14393] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}/ProxyWPAD

可选节点。 字段的存在使 WPAD 能够进行代理查找。

注意

请勿使用。 在 Windows 10 客户端版本中使用此配置将导致失败。

描述框架属性:

属性名 属性值
格式 bool
访问类型 添加、删除、获取、替换

允许的值:

描述
false 禁用 WPAD 进行代理查找。
true 为代理查找启用 WPAD。

Device/Profile/{SSID}/WiFiCost

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10 版本 1809 [10.0.17763] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}/WiFiCost

可选节点。 如果策略处于活动状态,则从以下列表中选择其中一个值将设置 Wi-Fi 配置文件的 WLAN 连接成本。 (1:无限制 - 无限连接,2:固定 - 容量限制,最高达到特定数据限制,3:可变 - 按每字节成本计算基本) 默认行为:不受限制。

描述框架属性:

属性名 属性值
格式 int
访问类型 添加、删除、获取、替换
默认值 1

允许的值:

描述
1 (默认) 无限制 - 无限连接。
2 已修复 - 容量限制达到特定数据限制。
3 变量 - 按基本字节付费。

Device/Profile/{SSID}/WlanXml

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./Device/Vendor/MSFT/WiFi/Profile/{SSID}/WlanXml

描述网络配置并遵循 Windows WLAN_profile 架构的 XML。

指向架构的链接: https://msdn.microsoft.com/library/windows/desktop/ms707341(v=vs.85).aspx

必须转义配置文件 XML,如以下示例所示。

如果它存在于 Blob 中, keyType受保护的 元素必须位于 keyMaterial 之前,如 WPA2-Personal Profile Sample 中的示例所示。

注意

如果需要指定其他高级条件,例如指定可供 Wi-Fi 配置文件使用的证书的条件,可以通过 WlanXML 的 EapHostConfig 部分指定此条件。 有关详细信息,请参阅 EAP 配置

描述框架属性:

属性名 属性值
格式 chr (字符串)
访问类型 添加、删除、获取、替换

用户/配置文件

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./User/Vendor/MSFT/WiFi/Profile

标识 Wi-Fi 网络配置。 每个 Wi-Fi 网络配置都由配置文件对象表示。 此网络配置文件包括设备连接到该网络所需的所有信息-例如,SSID、身份验证和加密方法以及 WEP 或 WPA2 网络时的密码。

描述框架属性:

属性名 属性值
格式 node
访问类型 “获取”

User/Profile/{SSID}

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}

Wi-Fi 网络的配置文件名称。 这是在添加 WlanXml 节点时添加的,在删除 WlanXml 时将其删除。

指定 Wi-Fi 网络的名称, (创建、配置、查询或删除的最大) 32 字节。 该名称区分大小写,可以用 ASCII 表示。

SSID 是连接到的网络的名称,而配置文件名称是包含 WiFi 设置信息的配置文件的名称。 如果根据 WiFi 设置 XML 中的信息,在 MDM SyncML 中未正确设置配置文件名称,则可能会导致一些意外错误。 例如,<LocURI>./Vendor/MSFT/WiFi/Profile/<MUST BE NAME OF PROFILE AS PER WIFI XML>/WlanXml</LocURI>

描述框架属性:

属性名 属性值
格式 node
访问类型 添加、删除、获取、替换
动态节点命名 ServerGeneratedUniqueIdentifier

User/Profile/{SSID}/ProfileSource

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 11版本 22H2 [10.0.22621] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}/ProfileSource

允许定义要设置此 Wi-Fi 配置文件的管理实体。 这当前可设置为 0=企业版或 1=移动运营商。

描述框架属性:

属性名 属性值
格式 int
访问类型 获取、替换
默认值 0

允许的值:

说明
0(默认值) 企业。
1 移动运营商。

User/Profile/{SSID}/Proxy

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}/Proxy

可选节点。 格式为 url:port。 配置网络代理 ((如果有) )。

描述框架属性:

属性名 属性值
格式 chr (字符串)
访问类型 添加、删除、获取、替换

User/Profile/{SSID}/ProxyPacUrl

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1607 [10.0.14393] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}/ProxyPacUrl

可选节点。 PAC 文件位置的 URL。

注意

请勿使用。 在 Windows 10 客户端版本中使用此配置将导致失败。

描述框架属性:

属性名 属性值
格式 chr (字符串)
访问类型 添加、删除、获取、替换

User/Profile/{SSID}/ProxyWPAD

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1607 [10.0.14393] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}/ProxyWPAD

可选节点。 字段的存在使 WPAD 能够进行代理查找。

注意

请勿使用。 在 Windows 10 客户端版本中使用此配置将导致失败。

描述框架属性:

属性名 属性值
格式 bool
访问类型 添加、删除、获取、替换

允许的值:

描述
false 禁用 WPAD 进行代理查找。
true 为代理查找启用 WPAD。

User/Profile/{SSID}/WiFiCost

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10 版本 1809 [10.0.17763] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}/WiFiCost

可选节点。 如果策略处于活动状态,则从以下列表中选择其中一个值将设置 Wi-Fi 配置文件的 WLAN 连接成本。 (1:无限制 - 无限连接,2:固定 - 容量限制,最高达到特定数据限制,3:可变 - 按每字节成本计算基本) 默认行为:不受限制。

描述框架属性:

属性名 属性值
格式 int
访问类型 添加、删除、获取、替换
默认值 1

允许的值:

描述
1 (默认) 无限制 - 无限连接。
2 已修复 - 容量限制达到特定数据限制。
3 变量 - 按基本字节付费。

User/Profile/{SSID}/WlanXml

范围 版本 适用的操作系统
✅ 设备
✅ 用户
✅ 专业版
✅ 企业版
✅ 教育版
✅ Windows SE
✅ IoT 企业版/IoT 企业版 LTSC
✅Windows 10版本 1511 [10.0.10586] 及更高版本
./User/Vendor/MSFT/WiFi/Profile/{SSID}/WlanXml

描述网络配置并遵循 Windows WLAN_profile 架构的 XML。

指向架构的链接: https://msdn.microsoft.com/library/windows/desktop/ms707341(v=vs.85).aspx

必须转义配置文件 XML,如以下示例所示。

如果它存在于 Blob 中, keyType受保护的 元素必须位于 keyMaterial 之前,如 WPA2-Personal Profile Sample 中的示例所示。

注意

如果需要指定其他高级条件,例如指定可供 Wi-Fi 配置文件使用的证书的条件,可以通过 WlanXML 的 EapHostConfig 部分指定此条件。 有关详细信息,请参阅 EAP 配置

描述框架属性:

属性名 属性值
格式 chr (字符串)
访问类型 添加、删除、获取、替换

示例

这些 XML 示例演示如何使用 OMA DM 执行各种任务。

添加网络

以下示例演示如何使用 SSID“MyNetwork”添加 PEAP-MSCHAPv2 网络。

<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Atomic>
      <CmdID>301</CmdID>
      <Add>
        <CmdID>302</CmdID>
        <Item>
          <Target>
            <LocURI>./Vendor/MSFT/WiFi/Profile/MyNetwork/WlanXml</LocURI>
          </Target>
          <Meta>
            <Format xmlns="syncml:metinf">chr</Format>
          </Meta>
          <Data><?xml version="1.0"?><WLANProfile xmlns="http://contoso.com/networking/WLAN/profile/v1"><name>MyNetwork</name><SSIDConfig><SSID><hex>412D4D534654574C414E</hex><name>MyNetwork</name></SSID><nonBroadcast>false</nonBroadcast></SSIDConfig><connectionType>ESS</connectionType><connectionMode>manual</connectionMode><MSM><security><authEncryption><authentication>WPA2</authentication><encryption>AES</encryption><useOneX>true</useOneX></authEncryption><OneX xmlns="http://contoso.com/networking/OneX/v1"><authMode>user</authMode><EAPConfig><EapHostConfig xmlns="http://contoso.com/provisioning/EapHostConfig"><EapMethod><Type xmlns="http://contoso.com/provisioning/EapCommon">25</Type><VendorId xmlns="http://contoso.com/provisioning/EapCommon">0</VendorId><VendorType xmlns="http://contoso.com/provisioning/EapCommon">0</VendorType><AuthorId xmlns="http://contoso.com/provisioning/EapCommon">0</AuthorId></EapMethod><Config xmlns="http://contoso.com/provisioning/EapHostConfig"><Eap xmlns="http://contoso.com/provisioning/BaseEapConnectionPropertiesV1"><Type>25</Type><EapType xmlns="http://contoso.com/provisioning/MsPeapConnectionPropertiesV1"><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames></ServerValidation><FastReconnect>true</FastReconnect><InnerEapOptional>false</InnerEapOptional><Eap xmlns="http://contoso.com/provisioning/BaseEapConnectionPropertiesV1"><Type>26</Type><EapType xmlns="http://contoso.com/provisioning/MsChapV2ConnectionPropertiesV1"><UseWinLogonCredentials>false</UseWinLogonCredentials></EapType></Eap><EnableQuarantineChecks>false</EnableQuarantineChecks><RequireCryptoBinding>false</RequireCryptoBinding><PeapExtensions><PerformServerValidation xmlns="http://contoso.com/provisioning/MsPeapConnectionPropertiesV2">false</PerformServerValidation><AcceptServerName xmlns="http://contoso.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName></PeapExtensions></EapType></Eap></Config></EapHostConfig></EAPConfig></OneX></security></MSM></WLANProfile> </Data>
        </Item>
      </Add>
    </Atomic>
    <Final/>
  </SyncBody>
</SyncML>

查询网络配置文件

以下示例演示如何查询 MDM 服务器上安装的 Wi-Fi 配置文件。

<Get>
   <CmdID>301</CmdID>
   <Item>
      <Target>
         <LocURI>./Vendor/MSFT/WiFi/Profile</LocURI>
      </Target>
   </Item>
</Get>

以下示例显示了响应。

<Results>
   <CmdID>3</CmdID>
   <MsgRef>1</MsgRef>
   <CmdRef>301</CmdRef>
   <Item>
      <Source><LocURI>./Vendor/MSFT/WiFi/Profile</LocURI></Source>
      <Meta><Format xmlns="syncml:metinf">node</Format></Meta>
      <Data>TestWLAN1/TestWLAN2</Data>
   </Item>
</Results>

删除网络

以下示例演示如何删除具有 SSID“MyNetwork”且没有代理的网络。 删除所有网络身份验证类型的方式相同。

<Atomic>
  <CmdID>300</CmdID>
  <Delete>
    <CmdID>301</CmdID>
    <Item>
      <Target>
        <LocURI>./Vendor/MSFT/WiFi/Profile/MyNetwork/WlanXml</LocURI>
      </Target>
    </Item>
  </Delete>
</Atomic>

为服务器证书添加网络和证书颁发机构

以下示例演示如何使用 SSID“MyNetwork”和根 CA 验证为服务器证书添加 PEAP-MSCHAPv2 网络。

<Atomic>
  <CmdID>300</CmdID>
  <Add>
    <CmdID>301</CmdID>
    <Item>
      <Target>
        <LocURI>./Vendor/MSFT/WiFi/Profile/MyNetwork/WlanXml</LocURI>
      </Target>
      <Meta>
        <Format xmlns="syncml:metinf">chr</Format>
      </Meta>
      <Data><?xml version="1.0"?><WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"><name>MyNetwork</name><SSIDConfig><SSID><name>MyNetwork</name></SSID><nonBroadcast>false</nonBroadcast></SSIDConfig><connectionType>ESS</connectionType><connectionMode>manual</connectionMode><MSM><security><authEncryption><authentication>WPA2</authentication><encryption>AES</encryption><useOneX>true</useOneX></authEncryption><OneX xmlns="http://www.microsoft.com/networking/OneX/v1"><authMode>user</authMode><EAPConfig><EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig"><EapMethod><Type xmlns="http://www.microsoft.com/provisioning/EapCommon">25</Type><VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId><VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType><AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId></EapMethod><Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig"><Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>25</Type><EapType xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1"><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames><TrustedRootCA> InsertCertThumbPrintHere </TrustedRootCA></ServerValidation><FastReconnect>true</FastReconnect><InnerEapOptional>false</InnerEapOptional><Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>26</Type><EapType xmlns="http://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1"><UseWinLogonCredentials>false</UseWinLogonCredentials></EapType></Eap><EnableQuarantineChecks>false</EnableQuarantineChecks><RequireCryptoBinding>false</RequireCryptoBinding><PeapExtensions><PerformServerValidation xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">true</PerformServerValidation><AcceptServerName xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName></PeapExtensions></EapType></Eap></Config></EapHostConfig></EAPConfig></OneX></security></MSM></WLANProfile> </Data>
    </Item>
  </Add>
</Atomic>

配置服务提供程序参考