帳戶佈建
布建是指使用連線到操作員網路所需的信息來設定 Windows 計算機。 布建通常會在購買行動寬頻訂用帳戶之後執行。 Windows 會接受來自 運算子的 XML 型布建檔案。 布建 API 會使用行動寬頻應用程式或透過購買網站,從操作員套用布建 XML 檔案。
下圖說明布建 XML 檔案的內容和階層。
如需布建架構的詳細資訊,請參閱 CarrierControlSchema 架構。
更新布建元數據
有數種方式可以更新電腦上的布建元數據。
行動寬頻應用程式
在計算機上安裝行動寬頻應用程式之後,它可以根據您在應用程式中實作的任何觸發程式來擷取或產生更新的布建檔案。
行動寬頻應用程式可以使用 Windows.Networking.NetworkOperator.ProvisioningAgent API 來套用布建檔案。 如果應用程式與網路帳戶標識碼相關聯,可以使用 CreateFromNetworkAccountId 來提供未簽署的元數據。 如果應用程式未與網路帳戶標識符相關聯,則必須使用 ProvisioningAgent 的預設建構函式並簽署 XML。
行動寬頻應用程式可以使用下列觸發程式來更新布建元資料:
使用 一開始設定資料限制之後,您可以告訴 Windows 每隔 5% 的使用量遞增通知應用程式。 這可確保應用程式會擷取最新的使用資訊。
定時器 定時器可以在適當的時間間隔更新布建元數據。
傳入簡訊 您可以傳送應用程式瞭解的SMS訊息。 這可能會定義起始重新整理的訊息,或在收到臨界值通知時自動檢查更新的使用量。
Windows 通知服務 任何 UWP 應用程式都可以註冊推播通知,並根據其內容採取動作。 您可以使用此作為布建更新的通知通道。
大型位置變更 如果不同的參數適用於不同地區設定的使用者,位置變更可能會觸發應用程式,以套用使用者新位置的更新設定。
時區變更 對於大型區域大小,系統時區中的變更可用來做為位置變更的 Proxy。 這在沒有 GPS 或行動寬頻的電腦上可能特別感興趣。
Web 型布建
網站可以使用 window.external.msProvisionNetworks API 來提供布建數據。 布建提供給此 API 的檔案必須使用 X.509 憑證和 XML-DSig 簽署。
您可以使用APN資料庫、服務元數據或先前的帳戶布建元數據檔案,預先提供憑證給計算機。 如果憑證已經受信任,則沒有任何用戶互動。 如果計算機先前不知道憑證,它必須是 EV 憑證,而且系統會在接受憑證之前提示使用者同意。
自動布建重新整理
布建檔案可以包含指示詞,讓 Windows 以排程間隔自動擷取更新的布建檔案,或回應特定的 SMS 訊息。 此方法不需要在本機電腦上安裝行動寬頻應用程式。
布建元數據內容
布建元數據包含下列各節:
如需這些章節的詳細資訊,請參閱 CarrierControlSchema 架構。
全球
每個布建檔案都需要全域區段。 本節中的必要元素如下所示:
CarrierId GUID,可唯一識別撰寫檔案的組織。 如果您要建置行動寬頻應用程式,您必須使用您在服務元數據套件中 [ 服務號碼 ] 欄位中所指定的 GUID ServiceInfo.xml 。 如需服務元數據套件架構的詳細資訊,請參閱 服務元數據套件架構參考。
注意
這是您在 Windows 開發人員中心儀錶板 - 硬體上 建立行動寬頻體驗精靈 中提供的相同服務號碼。 如果您未建立行動寬頻應用程式,您可以產生 GUID 以供組織使用。 不論是哪一種情況,您都應該一律在組織所發出的所有布建檔案上使用相同的 GUID。
SubscriberId 可唯一識別組織中客戶的字串。 如果您是電信業者,這應該是 GSM 操作員的 IMSI 或 ICCID 範圍,或是 CDMA 操作員的提供者識別碼或提供者名稱。 如果您不是電信業者,您可以選擇任何足夠唯一的字串。
啟用
裝置啟用會在後端完成啟用程序之後發生。 計算機可能需要遵循特定指示,才能連線到網路。 布建引擎會使用裝置啟用專案中收到的啟用指示。 如果未指定任何值,則不需要任何客戶端動作。 可用的動作包括:
重新連線 中斷連線並連線到操作員網路。
重新註冊 中斷連線並註冊操作員網路。
數據 您想要傳送至裝置以啟用連線的數據或指示。 布建引擎會依原樣將此數據傳遞至裝置。 針對 CDMA,這可以包含指示,例如 *228 來啟動 OTA 程式設計會話,並重新連線到網路。
行動寬頻資訊
行動寬頻資訊包含數個元素:
定義電信業者網路上的訂閱者資訊。 有兩個不同的設定檔可供使用:
PurchaseProfile:連線到操作員網路以購買新訂用帳戶所需的資訊。
DefaultProfile 每個行動寬頻訂用帳戶都可以有一個預設配置檔,用來連線到家庭網路操作員。 Windows 連線管理員 使用此設定檔自動連線到網路。
<MBNProfiles> <DefaultProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1"> <Name>Contoso MBN</Name> <Description>Contoso Mobile Broadband</Description> <HomeProviderName>Contoso MBN</HomeProviderName> <Context> <AccessString>contoso.com</AccessString> <UserLogonCred> <UserName>mbuser</UserName> <Password>[PLACEHOLDER]</Password> </UserLogonCred> </Context> </DefaultProfile> </MBNProfiles>
重要
從 Windows 10 版 1709 開始,ProvisioningAgent API 布建的商標字段已由 COSA 資料庫中的商標字段取代。 標誌 已由 COSA 中的 商標圖示 取代, 而 Name 已由 COSA 中的 商標名稱 取代。
在 Windows 10 1709 版和更新版本中布建時,將不再考慮標誌和名稱。 如果使用 ProvisioningAgent API,則不會擲回錯誤,但您應該改為變更 COSA 中的 商標圖示 和 商標名稱 。
如需 商標圖示 和 商標名稱的詳細資訊,請參閱 桌面 COSA/APN 資料庫設定 (桌面 COSA 僅限設定) 。
商標可讓您指定 Windows 如何顯示行動寬頻網路。 如果存在,這項資訊會覆寫任何服務元數據。 如果未提供任何資訊,則會使用服務元數據套件的內容。 商標元素如下所示:
SMS 剖析
您可以布建規則來識別文字訊息,並在布建 XML 檔案中擷取資訊。 您可以使用SMS訊息來更新數據使用量統計數據,或起始布建資訊的重新整理。 這些訊息可以透過下列各項的組合來識別:
持有人類型 (SMS/USSD)
僅傳送者 (SMS)
規則運算式
如需SMS通知的詳細資訊,請參閱 啟用行動電信業者通知和系統事件。
每個規則都包含下列資訊:
沉默 如果此值為 true,則訊息只會產生 MobileOperatorNotification 事件。 如果此值為 false,訊息會產生 SmsMessageReceived 事件。
允許的寄件者 指定允許通知送達的保留寄件者位址。 此號碼必須完全符合SMS訊息中收到的寄件者號碼,包括國際格式。
模式 要識別並選擇性地從文字訊息擷取數據欄位的正規表達式。 此模式會比對寄件者的所有訊息:
[^]*
RuleId 此規則的標識碼,會傳遞至行動寬頻應用程式作為 MobileOperatorNotification 事件的一部分。 此標識碼可讓應用程式知道哪些規則導致SMS觸發MobileOperatorNotification事件,並可減少應用程式再次剖析訊息的需求。
欄位和群組 正則表達式模式中的每個擷取群組都會系結至具名字段。 這可用來擷取數據並將其轉換成一組可用的值。 例如,第一個比對群組可以系結至 Usage 字段,而第二個比對群組可以系結至 UsageDataLimit 字段。 此關聯表示第一個值是目前的使用量資訊,而第二個值則是允許的使用量上限。
Usage、UsagePercentage、UsageOverage、UsageOveragePercentage:將目前的使用量表示為絕對數位、以數據限制的百分比、超過數據限制的數位,或超過數據限制的百分比表示。 絕對值可以參考指定值表示單位的群組。
UsageTimestamp:計算使用量欄位的日期和時間。 如果包含任何 Usage\* 字段,則必須包含這項資訊。 格式字串包含下列標識符,可表達子字串的解譯方式:
識別碼 描述 %d 月中的日,以十進位數字表示 (01-31) %H 24 小時制的小時 (00-23) %I 12 小時制的小時 (01-12) %m 月份,以十進位數字表示 (01-12) %M 分鐘,以十進位數字表示 (00-59) %S 秒,以十進位數字表示 (00-59) %y 不含世紀的年份,以十進位數字表示 (00-99) %Y 具有百年,以十進制數 (0000-9999) %p AM/PM 指標 %#d、%#H、%#I、%#m、%#M、%#S、%#y、%#Y 與上述相同,但沒有前置零 DataLimit:允許使用者使用的位元組絕對數目;這包括指定值表示單位的群組。
OverDataLimit、Congested:修改向應用程式回報的旗標,以指出使用者已超過其數據限制,或網路負載過重。
InboundBandwidth、OutboundBandwidth:如果網路加總頻寬上限,這會指定代表值和單位的群組。
PlanType:指定用戶未來使用量的費用。
謹慎 由於SMS訊息會影響Windows行為,因此只能取用受信任的SMS訊息。 藉由限制發件者位址來維護安全性。 此安全性方法假設您的網路 SMS 閘道可確保來自受限制寄件者的訊息無法詐騙。
Wi-Fi 資訊
本節可讓您提供任意數目的 Wi-Fi 網路配置檔供 Windows 使用。 區段的格式類似於 Windows 原生 WLAN API 所使用的 XML 架構。
注意
如果所有其他設定都相同,一個配置檔可以包含多個 SSD。 如果不同的網路與其他方式不同, (驗證方法、加密設定、方案等) ,您必須建立其他配置檔。
當您指定 WLAN 區段時,也必須指定電腦上應該設定的所有設定檔。 如果這些配置文件參考數據計劃,則也必須包含 plans 區段。 處理此區段時所發生的行為如下:
如果計算機已不再指定配置檔,則會刪除該配置檔。
如果您指定配置檔,則會更新或建立該配置檔。
空的 WLAN 區段會刪除所有設定檔。
省略 WLAN 區段會讓電腦上的 WLAN 配置檔保持不變。
本節中的其他節點是相關聯的計劃。 此節點可讓 Windows 將 WLAN 配置檔與計劃一節中所述的計劃產生關聯。 此方案可讓您通知 Windows 網路計量狀態,並在計算機連線到網路期間影響 Windows 的行為。
未加密的網路,沒有自動驗證
此配置檔會設定 Windows 以連線到開啟的網路。
如果此網路包含端點入口網站,瀏覽器會在連線到網路時開啟。
如果網路不包含 Captive 入口網站,則使用者不會採取進一步的動作。
<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
<name>Contoso Wi-Fi</name>
<SSIDConfig>
<SSID>
<name>Contoso Wi-Fi</name>
</SSID>
</SSIDConfig>
<MSM>
<security>
<authEncryption>
<authentication>open</authentication>
<encryption>none</encryption>
<useOneX>false</useOneX>
</authEncryption>
</security>
</MSM>
</WLANProfile>
未加密的網路、WISPr 驗證
此設定檔會將 Windows 設定為連線到開放式網路,並使用無線因特網服務提供者漫遊 (WISPr) 驗證:
如果網路包含具備 WISPr 功能的 Captive 入口網站,則會將指定的使用者名稱和密碼提交至指定的驗證伺服器。
如果 CAPTIVE 入口網站無法使用 WISPr,瀏覽器會在連線到網路時開啟。
如果網路不包含 Captive 入口網站,則使用者不會採取進一步的動作。
<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
<name>Contoso Wi-Fi</name>
<SSIDConfig>
<SSID>
<name>Contoso Wi-Fi</name>
</SSID>
</SSIDConfig>
<MSM>
<security>
<authEncryption>
<authentication>open</authentication>
<encryption>none</encryption>
<useOneX>false</useOneX>
</authEncryption>
<HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
<UserName>WisprUser1</UserName>
<Password>[PLACEHOLDER]</Password>
<TrustedDomains>
<TrustedDomain>www.contosoportal.com</TrustedDomain>
</TrustedDomains>
</HotspotProfile>
</security>
</MSM>
</WLANProfile>
加密的網路、EAP-SIM 驗證
此配置檔會將 Windows 設定為使用 SIM 作為驗證類型的加密網路,例如熱點 2.0 網路。 熱點 2.0 會定義這類網路,以搭配 EAP-SIM 驗證使用 WPA2-Enterprise。
<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
<name>Contoso Wi-Fi</name>
<SSIDConfig>
<SSID>
<name>Contoso Wi-Fi</name>
</SSID>
</SSIDConfig>
<MSM>
<security>
<authEncryption>
<authentication>WPA2</authentication>
<encryption>AES</encryption>
<useOneX>true</useOneX>
</authEncryption>
<OneX xmlns="http://www.microsoft.com/networking/OneX/v1">
<EAcomputeronfig>
<!-- The config XML for all EA methods can be found at: https://learn.microsoft.com/openspecs/windows_protocols/ms-gpwl/44d403cd-4b2b-4519-b475-b48dc7124bfb -->
<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
<EapMethod>
<Type>18</Type>
<VendorId>0</VendorId>
<VendorType>0</VendorType>
<AuthorId>311</AuthorId>
</EapMethod>
<Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
<EapSim xmlns="http://www.microsoft.com/provisioning/EapSimConnectionPropertiesV1">
<Realm Enabled="true"></Realm>
</EapSim>
</Config>
</EapHostConfig>
</EAcomputeronfig>
</OneX>
</security>
</MSM>
</WLANProfile>
未加密的網路、以應用程式為基礎的驗證
此設定檔會設定 Windows 以連線到開放式網路,並使用 WISPr 驗證與您的行動寬頻應用程式合作。
如果網路包含 Captive 入口網站,您的應用程式會在背景中開啟,以提供 WISPr 認證。 然後,認證會提交至指定的驗證伺服器。
如果 CAPTIVE 入口網站無法使用 WISPr,瀏覽器會在連線到網路時開啟。
如果網路不包含 Captive 入口網站,則使用者不會採取進一步的動作。
<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
<name>Contoso WiFi</name>
<SSIDConfig>
<SSID>
<name>Contoso Wi-Fi</name>
</SSID>
</SSIDConfig>
<MSM>
<security>
<authEncryption>
<authentication>open</authentication>
<encryption>none</encryption>
<useOneX>false</useOneX>
</authEncryption>
<HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
<ExtAuth>
<ExtensionId>YourAppIdGoesHere</ExtensionId>
</ExtAuth>
<TrustedDomains>
<TrustedDomain>www.contosoportal.com</TrustedDomain>
</TrustedDomains>
</HotspotProfile>
</security>
</MSM>
</WLANProfile>
方案資訊
每個行動寬頻和熱點配置檔都會參考方案。 多個配置檔可以參考相同的計劃。 方案會在個別的最上層一節中描述。
方案分成兩個區段:描述 和使用 方式。 這可讓您一開始在較大的布建檔案中提供配置檔和描述,然後提供只包含客戶目前使用量的較小布建檔案。
此資訊是用來直接影響 Windows 的行為,並提供給應用程式,以針對網路量身訂做其行為。 這項資訊可以透過網路資訊 API 提供給第三方應用程式使用。
Description
通常會在客戶的訂用帳戶期間內以低頻率變更的專案,包括:
PlanType 客戶與操作員擁有的計費關聯性類型:
無限制 使用量不會產生額外費用。
固定 用戶會針對固定成本配置特定數量的使用量。
變數 用戶會根據使用量付費。
SecurityUpdatesExempt 布爾值,指定安全性更新是否計入客戶的使用量。
DataLimitInMegabytes如果使用者的分配使用量是 Fixed,則為 PlanType。
BillingCycle 定義計劃的開始日期和時間、其持續時間,以及計費週期結束時會發生什麼情況。
BandwidthInKbps 網路所允許的用戶連線速度;這可能會反映其計劃的標準,或反映貨運公司目前因為壅塞或過度使用而造成的較低費率, (最多 2 Gbps) 。
MaxTransferSizeInMegabytes 整數,表示符合規範的應用程式應該允許透過計量付費連線的個別下載大小,而不需明確使用者核准所使用的連線。
UserSMSEnabled 指出方案是否包含使用者對使用者SMS支援。 如果為 true,即使未使用行動寬頻介面,Windows 仍會在連線待命中保留連線待命中的裝置。 如果為 false,Windows 可以關閉行動寬頻介面來節省電源,因而導致計算機閑置時網路無法尋址裝置。
使用方式
下列元素可能會以較高的頻率變更:
UsageInMegabytes 使用者的最新數據使用量。
OverDataLimit 布爾值,指出使用者是否已通過配置使用量,如果 PlanType 是 固定的。
擁擠 布爾值,指出是否因為過度使用而加下比平常低的連線速度。 Congested 旗標表示網路目前遇到 (或預期遇到) 繁重負載,且優先順序較低的傳輸應該延遲到另一次,可能的話。 您可以使用此旗標來指出尖峰時數等概念,或回應多載熱點。
重新整理
您可以視需要將更新的設定推送至計算機,因為網路變更或技術支援。 Windows 會使用您或布建 API 所提供的資訊,嘗試定期重新整理。 重新整理可由操作員的SMS通知觸發。 若要啟用重新整理,您必須在布建 XML 中提供下列資訊:
TrustedCertificates 未來布建檔案上具有受信任簽章的憑證指紋清單。
DelayInDays (整數) 未嘗試重新整理之前的天數。
RefreshURL 要取得使用者布建檔案最新複本的 HTTPS URL。
或者,行動寬頻應用程式可以隨時根據應用程式與操作員後端之間的通訊,提供新的布建檔案。
<RefreshParameters>
<DelayInDays>30</DelayInDays>
<RefreshURL>https://www.contoso.com/refresh</RefreshURL>
<Username>[PLACEHOLDER]</Username>
<Password>[PLACEHOLDER]</Password>
</RefreshParameters>
簽章
由於布建會修改在用戶結束或卸載應用程式之後保存的系統設定,因此需要比大部分 API 更嚴格的驗證量值。 此驗證是由操作員特定硬體的組合提供, (SIM 卡) 、密碼編譯簽章和用戶確認。
布建需求:
SIM 卡存在嗎? | 布建來源 | 簽章需求 | 用戶確認需求 |
---|---|---|---|
是,MB 提供者 | 行動寬頻應用程式 | 無 | 無 |
是,MB 提供者 | 操作員網站 | 憑證必須: - 鏈結回受信任的根 CA。 - 與 APN 資料庫中的行動寬頻硬體或體驗元數據相關聯。 |
無 |
否,Wi-Fi 提供者 | 行動寬頻 appor 網站 | 憑證必須: - 鏈結回受信任的根 CA。 - 標示為延伸驗證。 |
系統會提示使用者確認第一次使用憑證時;之後不需要任何確認。 |
允許的組合
雖然 Global 是唯一架構所需的第一層節點,但其他節點的特定組合是典型的。 本節討論這些一般組合:
配置檔 (WLANProfiles、MBNProfiles) + 方案,包括描述和使用方式 建立或更新一組完整的配置檔,並將計劃資訊和目前使用量套用至每個配置檔。 如果配置文件參考了未在相同布建檔案中指定的方案,而且如果布建檔案中沒有配置文件參考指定的方案,則會傳回警告。
包括描述和 (的計劃會選擇性地) 使用方式 匯報 計算機上現有配置檔的方案資訊,但不會修改電腦上的配置檔。 如果計算機上沒有配置文件參考指定的方案,則會傳回警告。
方案只會 匯報 計算機上現有配置檔中的使用量資訊,但不會修改配置檔或與每個配置檔相關聯的方案描述。
常見案例
以下是建立布建元數據時可能需要的一些常見案例:
尋找帳戶布建架構
XSD 架構可在執行 Windows 8、Windows 8.1 或 Windows 10 的任何計算機上,於 %SYSTEMROOT%\schemas\provisioning 下取得。
將布建 XML 套用至裝置
您可以使用行動寬頻應用程式、UWP 應用程式或網站,將布建 XML 檔案套用至裝置。
若要從行動寬頻應用程式佈建:
使用 Windows.Networking.NetworkOperators.ProvisioningAgent.CreateFromNetworkAccountId) 具現化 ProvisioningAgent 實例 (。
呼叫 ProvisionFromXmlDocumentAsync,傳入未簽署的布建 XML 檔。
異步操作完成,並傳回布建作業的結果。
若要從行動寬頻應用程式以外的 UWP 應用程式佈建:
產生已簽署的帳戶布建 XML 檔。
使用預設建構函式) 具現化 ProvisioningAgent 實例 (。
呼叫 ProvisionFromXmlDocumentAsync,傳入已簽署的 XML 檔。
異步操作會完成,並傳回布建作業的結果。
從網站:
產生已簽署的帳戶布建 XML 檔。
呼叫 window.external.msProvisionNetworks,傳入已簽署的 XML 檔。
作業會完成,並傳回布建作業的結果。
布建裝置以自動連線到行動寬頻網路
您可以使用 MBNProfile 區段來定義布建 XML 檔。
<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
<Global>
<CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
<SubscriberId>1234567890</SubscriberId>
</Global>
<MBNProfiles>
<DefaultProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1">
<Name>Profile Name</Name>
<Description>The Description</Description>
<HomeProviderName>Contoso</HomeProviderName>
<Context>
<AccessString>apn</AccessString>
<UserLogonCred>
<UserName>username</UserName>
<Password>[PLACEHOLDER]</Password>
</UserLogonCred>
</Context>
</DefaultProfile>
</MBNProfiles>
</CarrierProvisioning>
注意
需要 DefaultProfile 的子元素。 如需詳細資訊,請參閱布建 XML 架構參考。
布建裝置以自動連線到 Wi-Fi 網路
您可以使用 WlanProfiles 區段來定義布建 XML 檔。
<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
<Global>
<CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
<SubscriberId>1234567890</SubscriberId>
</Global>
<WLANProfiles>
<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
<name>My Wi-Fi Hotspot</name>
<SSIDConfig>
<SSID>
<name>wifihotspot1</name>
</SSID>
</SSIDConfig>
<MSM>
<security>
<authEncryption>
<authentication>open</authentication>
<encryption>none</encryption>
<useOneX>false</useOneX>
</authEncryption>
</security>
</MSM>
</WLANProfile>
</WLANProfiles>
</CarrierProvisioning>
MSM 的子元素會定義如何連線到網路。 這包括任何必要的 EAP 設定。 支援 WLAN_profile架構 中 MSM 元素的所有子專案。 如需詳細資訊,請參閱布建 XML 架構參考。
布建裝置以自動連線到已啟用 WISPr 的熱點
您可以使用下列兩種方式之一來啟用熱點驗證:
使用 BasicAuth 指示詞直接宣告認證:
<?xml version="1.0"?> <CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1"> <WLANProfiles> <WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1"> <name>Contoso Wi-Fi</name> <SSIDConfig> <SSID> <name>Contoso Wi-Fi</name> </SSID> </SSIDConfig> <MSM> <security> <authEncryption> <authentication>open</authentication> <encryption>none</encryption> <useOneX>false</useOneX> </authEncryption> <HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1"> <BasicAuth> <UserName>[PLACEHOLDER]</UserName> <Password>[PLACEHOLDER]</Password> </BasicAuth> <TrustedDomains> <TrustedDomain>hotspot.contoso.com</TrustedDomain> </TrustedDomains> </HotspotProfile> </security> </MSM> </WLANProfile> </WLANProfiles> </CarrierProvisioning>
使用 ExtAuth 指示詞重新導向至應用程式以進行驗證:
<?xml version="1.0"?> <CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1"> <WLANProfiles> <WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1"> <name>Contoso Wi-Fi</name> <SSIDConfig> <SSID> <name>Contoso Wi-Fi</name> </SSID> </SSIDConfig> <MSM> <security> <authEncryption> <authentication>open</authentication> <encryption>none</encryption> <useOneX>false</useOneX> </authEncryption> <HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1"> <ExtAuth> <ExtensionId>Alice</ExtensionId> </ExtAuth> <TrustedDomains> <TrustedDomain>hotspot.contoso.com</TrustedDomain> </TrustedDomains> </HotspotProfile> </security> </MSM> </WLANProfile> </WLANProfiles> </CarrierProvisioning>
您應該盡可能直接定義認證。 重新導向至另一個應用程式具有強大和複雜度的影響。
將啟用傳送至行動寬頻裝置
包含於 CarrierSpecificData 元素內的任意二進位大型物件 (BLOB) ,可以使用 ProvisioningAgent 編碼並傳送至裝置。 您可以在布建 XML 中使用 Activation<ServiceActivatation> 指示詞來執行此動作:
<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
<Global>
<CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
<SubscriberId>1234567890</SubscriberId>
</Global>
<Activation>
<ServiceActivation xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1">
<CarrierSpecificData>YXJiaXRyYXJ5ZGF0YQ==</CarrierSpecificData>
</ServiceActivation>
</Activation>
</CarrierProvisioning>
這個方法相當於叫用行動寬頻 API 的 IMbnVendorSpecificOperation::SetVendorSpecific 方法,並將 SAFEARRAY 與 BLOB 內容一起傳遞。
布建完成後,強制行動寬頻裝置重新連線到網路
布建之後,有兩種方式可以強制行動寬頻裝置重新連線到網路: ReregisterToNetwork 和 ReconnectToNetwork。
您可以使用 ReregisterToNetwork 指示詞強制重新註冊至行動寬頻網路,方法是關閉行動寬頻無線電,然後重新開啟。 在無線電重新開啟之後,適配卡會使用預設配置檔進行連線。 您應該謹慎使用此指示詞,而且只有在帳戶啟用之後必須從網路取消註冊時才使用。
當內容啟用必須在帳戶啟用完成後套用任何新的安全性或原則設定時,您可以使用 ReconnectToNetwork 指示詞。 做法是停用 PDP 內容,並根據行動寬頻適配卡的預設配置檔設定重新啟用。 如果在相同的布建 XML 中更新預設配置檔,將會使用新的設定檔設定。
您可以選擇性地使用重試計數/間隔和延遲的運行時間來指定這些指示詞。
注意
如果在 ReregisterToNetwork 中成功迴圈使用無線電,但使用預設配置檔自動連線回網路失敗,後續重試不會再次循環無線電。
<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
<Global>
<CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
<SubscriberId>1234567890</SubscriberId>
</Global>
<Activation>
<!-- Cycle the radio and reconnect to the default profile with an
initial execution delay of 30 seconds and retries every 1 minute
up to 3 times.
-->
<ReregisterToNetwork
xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1"
Delay="PT30S"
RetryCount="3"
RetryInterval="PT1M"
/>
</Activation>
</CarrierProvisioning>
更新連線配置檔的數據使用量統計數據
您只能套用具有更新計劃資訊的新帳戶布建檔案,以更新使用 ProvisioningAgent 所布建之配置檔的使用方式。 您可以提供僅包含使用方式資訊的布建檔案,或只提供方案資訊。 根據您要變更的系統組態數量而定,新的佈建檔案可以包含下列各項:
配置文件、計劃描述和使用方式
計劃描述和使用方式 (更新現有配置檔)
方案使用方式 (更新現有的配置檔和方案)
如果您套用 XML 中未定義的新設定檔和參考計劃,布建結果會包含警告。
使用SMS訊息更新資料使用量
這可透過下列其中一種方式來完成:
指定操作員訊息、接收操作員通知訊息、使用SMS API讀取訊息、剖析應用程式中的訊息,然後使用 IProvisionedProfile設定使用量。
指定具有有效使用量字段組合的操作員訊息規則,並直接在SMS中提供更新的使用量。
疑難排解
如果您遇到布建問題,您可以使用下列各節來協助您找出問題。
布建 API 結果
如果布建失敗,當您嘗試執行布建動作時,會收到例外狀況。 可能導致例外狀況的失敗包括:
布建 XML 不符合 CarrierControlSchema 架構。
布建 XML 需要簽章,但未適當簽署。
部分布建失敗
布建作業的部分可能會因為各種原因而失敗。 例如,您可能會參考布建時不存在 Wi-Fi 硬體。 布建代理程式會盡最大努力嘗試布建檔案中的所有內容。 當某些項目失敗時,它會在使用 ProvisionFromXmlDocumentAsync 以異步方式傳回的布建結果中指出。
結果會以 XML 傳回,並可剖析以探索失敗。 元素會提供 結構來顯示失敗的原因,而 ErrorCode 屬性會指出失敗原因作為標準 HRESULT。
例如,下列錯誤碼表示未布建 WLAN 設定檔,因為 WLAN 服務未使用中:
<CarrierProvisioningResult>
<WLANProfiles ErrorCode=”80070426”/>
</CarrierProvisioningResult>
如果無法套用個別設定檔,它會顯示如下:
<CarrierProvisioningResult>
<WLANProfiles>
<WLANProfile Name=”MyProfile” ErrorCode=”80070005”/>
</WLANProfiles>
</CarrierProvisioningResult>
事件記錄
應用程式和服務記錄\Microsoft\Windows\NetworkProvisioning\Operational 信道中的事件可以提供布建失敗的詳細意見反應。
PowerShell ProvisioningTestHelper 模組
您可以從 Windows 8、Windows 8.1 和 Windows 10 SDK 匯入 ProvisioningTestHelper 模組。 使用本課程模組,您可以產生並安裝 EV 憑證、使用已安裝的憑證簽署 XML 檔案,以及根據布建架構驗證 XML。 若要將模組匯入 PowerShell 工作階段,請輸入下列命令:
Import-Module "<path_to_sdk>\bin\<arch>\ProvisioningTestHelper.psd1"
其中<,path_to_sdk\bin\<arch>> 是對應至計算機架構之 Windows 8、Windows 8.1 或 Windows 10 SDK 的安裝位置。
匯入此課程模組之後,可以使用下列四個 PowerShell Cmdlet:
Install-TestEVCert 產生新的 CA 憑證、將測試電腦上註冊為受信任的 EV SSL 提供者,並用它來產生並安裝 EV 憑證以用於簽署。 您只能執行此 Cmdlet 一次才能安裝憑證。 您可以使用憑證簽署任意數目的檔案。
Install-TestEVCert -CertName <Certificate Name> -RootCertOutputPath <complete path to the folder to which the root certificate is to be exported>
用戶端憑證具有命令中指定的名稱,且跟證書已附加 「Root」 與客戶端憑證名稱。 -CertName 參數是選擇性的。 如果未指定 –CertName 參數,則會使用 MBAPTestCert 。
-RootCertOutputPath 參數也是選擇性的。 如果您想要使用 Install-RootCertFromFile Cmdlet 匯出要安裝在另一部電腦上的跟證書,則應該使用它。
Install-RootCertFromFile 在不同的電腦上套用測試跟證書,以測試開發計算機以外的電腦上的客戶端體驗。
Install-RootCertFromFile -CertFile <complete path to the root certificate>
ConvertTo-SignedXml 使用產生用於測試或由第三方提供者發出的 EV 憑證 (,) 將 XML-DSig 簽章套用至布建 XML 檔案。 來自受信任憑證的這個簽章會讓 Windows 接受布建檔案,因為行動寬頻應用程式沒有附屬硬體。
ConvertTo-SignedXml -InputFile <complete path to the input XML file> -OutputFile <complete path to the output XML file> -CertName <name of the certificate used to sign the xml>
此命令會簽署輸入 XML 檔案、將簽章放在 XML 中,並將它儲存至輸出 XML 檔案。
Test-ValidProvisioningXml 根據布建架構驗證布建 XML (已簽署或未簽署的) 。
Test-ValidProvisioningXml -InputFile <complete path to the input XML file>