WiFi CSP

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 節點在刪除時加入和刪除時,就會新增此專案。

指定 Wi-Fi 網路的名稱 (建立、設定、查詢或刪除的最大) 32 個字節。 名稱會區分大小寫,而且可以用 ASCII 表示。

SSID 是您要連線的網路名稱,而設定檔名稱則是包含WiFi設定資訊的設定檔名稱。 如果未在 MDM SyncML 中直接設定設定檔名稱,則根據 WiFi 設定 XML 中的資訊,可能會導致一些非預期的錯誤。 例如,<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=Enterprise 或 1=Mobile Operator。

描述架構屬性:

屬性名稱 屬性值
格式 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。 如果有任何) ,則會 (網路 Proxy 的設定。

描述架構屬性:

屬性名稱 屬性值
格式 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 進行 Proxy 查閱。

注意

請勿使用 。 在 Windows 10 用戶端版本中使用此設定會導致失敗。

描述架構屬性:

屬性名稱 屬性值
格式 bool
存取類型 新增、刪除、取得、取代

允許的值:

描述
false 停用 WPAD 以進行 Proxy 查閱。
true 啟用 WPAD 以進行 Proxy 查閱。

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:Unrestricted - 無限制連線,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

描述網路設定的 XML,並遵循 Windows WLAN_profile架構。

架構的連結: https://msdn.microsoft.com/library/windows/desktop/ms707341(v=vs.85).aspx

配置檔 XML 必須逸出,如下列範例所示。

如果 keyType受保護 的專案存在於 Blob 中,則必須位於 keyMaterial之前,如 WPA2-Personal 配置檔範例中的範例所示。

注意

如果您需要指定其他進階條件,例如指定 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 節點在刪除時加入和刪除時,就會新增此專案。

指定 Wi-Fi 網路的名稱 (建立、設定、查詢或刪除的最大) 32 個字節。 名稱會區分大小寫,而且可以用 ASCII 表示。

SSID 是您要連線的網路名稱,而設定檔名稱則是包含WiFi設定資訊的設定檔名稱。 如果未在 MDM SyncML 中直接設定設定檔名稱,則根據 WiFi 設定 XML 中的資訊,可能會導致一些非預期的錯誤。 例如,<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=Enterprise 或 1=Mobile Operator。

描述架構屬性:

屬性名稱 屬性值
格式 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。 如果有任何) ,則會 (網路 Proxy 的設定。

描述架構屬性:

屬性名稱 屬性值
格式 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 進行 Proxy 查閱。

注意

請勿使用 。 在 Windows 10 用戶端版本中使用此設定會導致失敗。

描述架構屬性:

屬性名稱 屬性值
格式 bool
存取類型 新增、刪除、取得、取代

允許的值:

描述
false 停用 WPAD 以進行 Proxy 查閱。
true 啟用 WPAD 以進行 Proxy 查閱。

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:Unrestricted - 無限制連線,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

描述網路設定的 XML,並遵循 Windows WLAN_profile架構。

架構的連結: https://msdn.microsoft.com/library/windows/desktop/ms707341(v=vs.85).aspx

配置檔 XML 必須逸出,如下列範例所示。

如果 keyType受保護 的專案存在於 Blob 中,則必須位於 keyMaterial之前,如 WPA2-Personal 配置檔範例中的範例所示。

注意

如果您需要指定其他進階條件,例如指定 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' 且沒有 Proxy 的網路。 拿掉所有網路驗證類型的方式相同。

<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>

設定服務提供者參考