Condividi tramite


Provisioning degli account

Il provisioning fa riferimento alla configurazione di un computer Windows con le informazioni necessarie per connettersi a una rete dell'operatore. Il provisioning viene in genere eseguito dopo l'acquisto di una sottoscrizione a banda larga mobile. Windows accetta un file di provisioning basato su XML dall'operatore. L'API Provisioning applica un file XML di provisioning dall'operatore, usando un'app a banda larga mobile o tramite un sito Web di acquisto.

Il diagramma seguente illustra il contenuto e la gerarchia del file XML di provisioning.

Diagramma che mostra la gerarchia di un file XML di provisioning per la banda larga mobile.

Per altre informazioni sullo schema di provisioning, vedere Schema CarrierControlSchema.

Aggiornamento dei metadati di provisioning

Esistono diversi modi per aggiornare i metadati di provisioning in un computer.

App a banda larga per dispositivi mobili

Dopo l'installazione dell'app a banda larga per dispositivi mobili nel computer, può recuperare o generare un file di provisioning aggiornato in base a qualsiasi trigger implementato nell'app.

Le app a banda larga per dispositivi mobili possono applicare i file di provisioning usando le API Windows.Networking.NetworkOperator.ProvisioningAgent . Se l'app è associata a un ID account di rete, può usare CreateFromNetworkAccountId per fornire metadati non firmati. Se l'app non è associata a un ID account di rete, deve usare il costruttore predefinito per ProvisioningAgent e firmare il codice XML.

Un'app a banda larga per dispositivi mobili può usare i trigger seguenti per aggiornare i metadati di provisioning:

  • Utilizzo Dopo aver configurato inizialmente il limite di dati, è possibile indicare a Windows di notificare all'app ogni 5% di incremento dell'utilizzo. Ciò garantisce che l'app recupera le informazioni di utilizzo più aggiornate.

  • Timer Un timer può aggiornare i metadati di provisioning a intervalli di tempo appropriati.

  • SMS in ingresso È possibile inviare messaggi SMS che l'app comprende. Questo potrebbe definire un messaggio che avvia un aggiornamento o verifica automaticamente l'utilizzo aggiornato quando riceve una notifica di soglia.

  • Servizio notifica di Windows Qualsiasi app UWP può registrarsi per le notifiche push e intraprendere azioni in base al contenuto. È possibile usarlo come canale di notifica per gli aggiornamenti del provisioning.

  • Modifiche di posizione di grandi dimensioni Se si applicano parametri diversi agli utenti che si trovano in impostazioni locali diverse, una modifica nella posizione potrebbe attivare un'app per applicare le impostazioni aggiornate per la nuova posizione dell'utente.

  • Modifiche del fuso orario Per dimensioni di aree di grandi dimensioni, è possibile usare un cambiamento nel fuso orario di sistema come proxy per le modifiche alla posizione. Questo può essere di particolare interesse sui computer che non hanno GPS o Banda larga mobile.

Provisioning basato sul Web

Un sito Web può fornire dati di provisioning usando l'API window.external.msProvisionNetworks . Il provisioning di file forniti a questa API deve essere firmato usando un certificato X.509 e XML-DSig.

I certificati possono essere pre-forniti al computer usando il database APN, i metadati del servizio o un file di metadati di provisioning degli account precedente. Se il certificato è già attendibile, non esiste alcuna interazione utente. Se il certificato non è noto in precedenza al computer, deve essere un certificato EV e l'utente viene richiesto il consenso prima che il certificato venga accettato.

Aggiornamento automatico del provisioning

Un file di provisioning può includere una direttiva per Windows per recuperare automaticamente un file di provisioning aggiornato a un intervallo pianificato o in risposta a un messaggio SMS specifico. Questo metodo non richiede l'installazione di un'app a banda larga per dispositivi mobili nel computer locale.

Contenuto dei metadati di provisioning

I metadati di provisioning includono le sezioni seguenti:

Per altre informazioni su queste sezioni, vedere Schema CarrierControlSchema.

Globale

La sezione globale è necessaria in ogni file di provisioning. Gli elementi necessari in questa sezione sono i seguenti:

  • CarrierId GUID che identifica in modo univoco l'organizzazione che ha creato il file. Se si sta creando un'app a banda larga per dispositivi mobili, è necessario usare il GUID specificato nel campo Numero di servizio di ServiceInfo.xml nel pacchetto di metadati del servizio. Per informazioni sullo schema del pacchetto dei metadati del servizio, vedere Informazioni di riferimento sullo schema del pacchetto dei metadati del servizio.

    Nota

    Si tratta dello stesso numero di servizio fornito nella procedura guidata Crea un'esperienza a banda larga mobile nel dashboard di Windows Dev Center - Hardware. Se non si crea un'app a banda larga per dispositivi mobili, è possibile generare un GUID per l'uso dell'organizzazione. In entrambi i casi, è consigliabile usare sempre lo stesso GUID in tutti i file di provisioning che l'organizzazione ha problemi.

  • SottoscrittoriId Stringa che identifica in modo univoco il cliente nell'organizzazione. Se si è un operatore mobile, si tratta degli intervalli IMSI o ICCID per gli operatori GSM o l'ID del provider o il nome del provider per gli operatori CDMA. Se non si è un operatore mobile, è possibile scegliere qualsiasi stringa sufficientemente univoca.

Activation

L'attivazione del dispositivo si verifica dopo il completamento del processo di attivazione sul back-end. Il PC potrebbe dover seguire alcune istruzioni prima di connettersi alla rete. Il motore di provisioning usa le istruzioni di attivazione ricevute nell'elemento di attivazione del dispositivo. Se non viene specificato alcun valore, non è necessaria alcuna azione client. Le azioni disponibili includono:

  • Riconnettersi Disconnettersi e connettersi alla rete dell'operatore.

    Registrare nuovamente Disconnettersi e registrare nella rete dell'operatore.

  • Dati Dati o istruzioni che si desidera inviare al dispositivo per attivare la connessione. Il motore di provisioning passa questi dati come è al dispositivo. Per CDMA, è possibile includere istruzioni come *228 per avviare una sessione di programmazione OTA e riconnettersi alla rete.

Informazioni sulla banda larga mobile

Le informazioni sulla banda larga mobile contengono diversi elementi:

MBNProfiles

Definisce le informazioni sui sottoscrittori nella rete dell'operatore mobile. Esistono due profili diversi che possono essere usati:

  • PurchaseProfile: informazioni necessarie per connettersi alla rete dell'operatore per acquistare una nuova sottoscrizione.

  • DefaultProfile Ogni sottoscrizione a banda larga mobile può avere un profilo predefinito usato per connettersi all'operatore di rete home. Windows Gestione connessioni usa questo profilo per la connessione automatica alla rete.

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

Personalizzazione

Importante

A partire da Windows 10, versione 1709, i campi di personalizzazione sottoposti a provisioningAgent API sono stati sostituiti da campi di personalizzazione nel database COSA. Il logo è stato sostituito da Icona di personalizzazione in COSA e Nome è stato sostituito da Nome marchio in COSA.

Il logo e il nome non verranno più considerati durante il provisioning in Windows 10, versione 1709 e versioni successive. L'API ProvisioningAgent non genererà un errore se vengono usati, ma è consigliabile modificare l'icona di personalizzazione e il nome di personalizzazione in COSA.

Per altre informazioni sull'icona di personalizzazione e sul nome di personalizzazione, vedere Impostazioni del database COSA/APN desktop (solo impostazioni di Desktop COSA).

La personalizzazione consente di specificare il modo in cui Windows visualizza le reti a banda larga mobile. Queste informazioni eseguono l'override di tutti i metadati del servizio, se presenti. Se non vengono fornite informazioni, viene usato il contenuto del pacchetto di metadati del servizio. Gli elementi di personalizzazione sono i seguenti:

  • Logo File con codifica Base64 .PNG or.BMP incorporato nel codice XML. Questo logo viene applicato ai profili a banda larga mobile per la visualizzazione nell'elenco di reti.

  • Nome Imposta il nome visualizzato del vettore per i profili a banda larga mobile.

Analisi SMS

È possibile effettuare il provisioning delle regole per identificare un messaggio di testo ed estrarre informazioni come parte del file XML di provisioning. È possibile usare messaggi SMS per aggiornare le statistiche sull'utilizzo dei dati o avviare un aggiornamento delle informazioni di provisioning. Questi messaggi possono essere identificati da una combinazione delle seguenti:

  • Tipo di orso (SMS/USSD)

  • Mittente (solo SMS)

  • Espressione regolare‏

Per altre informazioni sulle notifiche SMS, vedere Abilitazione delle notifiche degli operatori di telefonia mobile e degli eventi di sistema.

Ogni regola contiene le informazioni seguenti:

  • Silenzioso Se questo valore è true, il messaggio restituisce solo un evento MobileOperatorNotification . Se questo valore è false, il messaggio restituisce un evento SmsMessageReceived .

  • Mittente consentito Specifica l'indirizzo del mittente riservato da cui è consentita l'arrivo della notifica. Questo numero deve corrispondere esattamente al numero di mittente ricevuto nel messaggio SMS, incluso il formato internazionale.

  • Modello Espressione regolare per identificare ed estrarre facoltativamente i campi dati dal messaggio di testo. Questo modello corrisponderà a tutti i messaggi di un mittente: [^]*

  • RuleId Identificatore di questa regola, che viene passato all'app mobile broadband come parte dell'evento MobileOperatorNotification . Questo identificatore consente all'app di sapere quale regola ha causato l'attivazione di un evento MobileOperatorNotification da parte dell'app e può ridurre la necessità di analizzare nuovamente il messaggio.

  • Campi e gruppi Ogni gruppo di acquisizione nel criterio di espressione regolare è associato a un campo denominato. Viene usato per estrarre e trasformare i dati in un set di valori utilizzabili. Ad esempio, il primo gruppo di corrispondenze può essere associato al campo Utilizzo e il secondo gruppo di corrispondenze può essere associato al campo UsageDataLimit . Questa associazione indica che il primo valore è le informazioni sull'utilizzo correnti e il secondo valore è l'utilizzo massimo consentito.

    • Utilizzo, UsagePercentage, UsageOverage, UsageOveragePercentage: esprime l'utilizzo corrente come numero assoluto, come percentuale del limite di dati, come numero in eccesso del limite di dati o come percentuale in eccesso del limite di dati. I valori assoluti possono fare riferimento a un gruppo che specifica l'unità in cui viene espresso il valore.

    • UsageTimestamp: data e ora in cui viene calcolato il campo di utilizzo. Queste informazioni devono essere incluse se è incluso un campo Usage\*. La stringa di formato contiene gli identificatori seguenti per esprimere la modalità di interpretazione della sottostringa:

      Identificatore Descrizione
      %d Giorno del mese come numero decimale (01 - 31)
      %H Ora nel formato 24 ore (00 - 23)
      %I Ora nel formato 12 ore (01 - 12)
      %m Mese come numero decimale (01 - 12)
      %M Minuto come numero decimale (00 - 59)
      %S Secondo come numero decimale (00 - 59)
      %y Anno senza secolo, come numero decimale (00 - 99)
      %Y Anno con secolo, come numero decimale (0000-9999)
      %p Indicatore AM/PM
      %#d, %#H, %#I, %#m, %#M, %#S, %#y, %#Y Uguale a quello precedente, ma senza zeri iniziali
    • DataLimit: numero assoluto di byte che l'utente può usare; include un gruppo che specifica l'unità in cui viene espresso il valore.

    • OverDataLimit, Congested: modifica i flag segnalati alle app per indicare che l'utente ha superato il limite di dati o che la rete è sotto carico elevato.

    • InboundBandwidth, OutboundBandwidth: se viene imposta una larghezza di banda massima dalla rete, specifica i gruppi che rappresentano il valore e le unità.

    • PlanType: specifica come viene addebitato l'utilizzo futuro dell'utente.

Attenzione Poiché i messaggi SMS influiscono sul comportamento di Windows, è possibile utilizzare solo messaggi SMS attendibili. La sicurezza viene mantenuta limitando l'indirizzo del mittente. Questo metodo di sicurezza presuppone che il gateway SMS della rete assicuri che i messaggi provenienti da mittenti con restrizioni non possano essere spoofati.

Wi-Fi informazioni

Questa sezione consente di specificare un numero qualsiasi di profili di rete Wi-Fi da usare per Windows. Il formato della sezione è simile all'XML Schema usato dall'API WLAN nativa di Windows.

Nota

Un profilo può contenere più SSID, se tutte le altre impostazioni sono uguali. Se reti diverse variano in altri modi (metodo di autenticazione, impostazioni di crittografia, piano e così via), è necessario creare profili aggiuntivi.

Quando si specifica la sezione WLAN, è necessario specificare anche tutti i profili che devono essere configurati nel computer. Se tali profili fanno riferimento a un piano dati, è necessario includere anche la sezione piani. Il comportamento che si verifica quando questa sezione viene elaborata è la seguente:

  • Se nel computer è presente un profilo che non è più specificato, viene eliminato.

  • Se si specifica un profilo, viene aggiornato o creato.

  • Una sezione WLAN vuota elimina tutti i profili.

  • L'omissione della sezione WLAN lascia invariati i profili WLAN della macchina.

Un nodo aggiuntivo in questa sezione è il piano associato. Questo nodo consente a Windows di associare il profilo WLAN a un piano descritto nella sezione piani. Il piano consente di informare Windows dello stato di misurazione della rete e influenzare il comportamento di Windows durante il momento in cui il computer è connesso alla rete.

Rete non crittografata, nessuna autenticazione automatica

Questo profilo configura Windows per la connessione a una rete aperta.

  • Se questa rete contiene un portale captive, il browser viene aperto alla connessione alla rete.

  • Se la rete non contiene un portale captive, l'utente è connesso senza ulteriori azioni.

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

Rete non crittografata, autenticazione WISPr

Questo profilo configura Windows per connettersi a una rete aperta e usa l'autenticazione wispr (Wireless Internet Service Provider roaming):

  • Se la rete contiene un portale captive con supporto per WISPr, il nome utente e la password specificati vengono inviati al server di autenticazione specificato.

  • Se il portale captive non è in grado di usare WISPr, il browser viene aperto al momento della connessione alla rete.

  • Se la rete non contiene un portale captive, l'utente è connesso senza ulteriori azioni.

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

Rete crittografata, autenticazione EAP-SIM

Questo profilo configura Windows per connettersi a una rete crittografata usando una SIM come tipo di autenticazione, ad esempio una rete Hotspot 2.0. Hotspot 2.0 definisce una rete di questo tipo da usare WPA2-Enterprise con l'autenticazione EAP-SIM.

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

Rete non crittografata, autenticazione basata su app

Questo profilo configura Windows per connettersi a una rete aperta e usare l'autenticazione WISPr in collaborazione con l'app mobile broadband.

  • Se la rete contiene un portale captive, l'app viene aperta in background per fornire le credenziali WISPr. Le credenziali vengono quindi inviate al server di autenticazione specificato.

  • Se il portale captive non è in grado di usare WISPr, il browser viene aperto al momento della connessione alla rete.

  • Se la rete non contiene un portale captive, l'utente è connesso senza ulteriori azioni.

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

Informazioni sul piano

Ogni profilo mobile broadband e hotspot fa riferimento a un piano. Più profili possono fare riferimento allo stesso piano. I piani sono descritti in una sezione di primo livello separata.

Il piano è suddiviso in due sezioni: Descrizione e Utilizzo. In questo modo è possibile fornire inizialmente profili e descrizioni in un file di provisioning di dimensioni maggiori e successivamente fornire file di provisioning più piccoli che contengono solo l'utilizzo corrente del cliente.

Queste informazioni vengono usate per influire direttamente sul comportamento di Windows e vengono fornite alle applicazioni per adattarne il comportamento alla rete. Queste informazioni possono essere rese disponibili per le applicazioni di terze parti tramite le API di informazioni di rete.

Descrizione

Gli elementi che in genere cambiano con bassa frequenza nel periodo di sottoscrizione di un cliente, tra cui:

  • PlanType Tipo di relazione di fatturazione che il cliente ha con l'operatore:

    • Illimitato L'utilizzo non comporta costi aggiuntivi.

    • Fisso All'utente viene assegnata una determinata quantità di utilizzo per un costo fisso.

    • Variabile L'utente paga in base all'utilizzo.

  • SecurityUpdatesExempt Valore booleano che specifica se gli aggiornamenti della sicurezza vengono conteggiati per l'utilizzo del cliente.

  • DataLimitInMegabytes Utilizzo assegnato dall'utente, se PlanType è fisso.

  • BillingCycle Definisce la data e l'ora di inizio del piano, la relativa durata e cosa accade alla fine del ciclo di fatturazione.

  • BandwidthInKbps Velocità di connessione dell'utente consentita dalla rete; ciò può riflettere la norma per il loro piano o riflettere un tasso inferiore attualmente imposto dal vettore a causa della congestione o dell'uso eccessivo (massimo di 2 Gbps).

  • MaxTransferSizeInMegabyte Intero che esprime le dimensioni di un singolo download che un'applicazione conforme deve consentire una connessione a consumo, senza approvazione esplicita dell'utente della connessione usata.

  • UserSMSEnabled Indica se il piano include il supporto SMS da utente a utente. Se true, Windows mantiene il dispositivo collegato alla rete in Standby connesso anche quando l'interfaccia a banda larga mobile non viene usata. Se false, Windows può ridurre l'interfaccia a banda larga mobile per risparmiare energia, causando così che il dispositivo non è indirizzabile dalla rete quando il computer è inattivo.

Utilizzo

Gli elementi seguenti possono cambiare con una frequenza maggiore:

  • UsageInMegabyte Utilizzo dei dati più recente dell'utente.

  • OverDataLimit Valore booleano che indica se l'utente ha passato l'utilizzo allocato, se PlanType è fisso.

  • Congestionata Valore booleano che indica se viene imposta una velocità di connessione inferiore rispetto al solito a causa di un utilizzo eccessivo. Il flag congestito indica che la rete sta attualmente riscontrando un carico elevato (o prevede l'esperienza) e i trasferimenti con priorità inferiore devono essere posticipati fino a un'altra volta, se possibile. È possibile usare questo flag per indicare concetti come le ore di punta o per rispondere a un hotspot di overload.

Aggiorna

È possibile eseguire il push delle impostazioni aggiornate nel computer in base alle modifiche di rete o per il supporto tecnico. Windows tenta aggiornamenti periodici usando informazioni fornite dall'utente o dall'API di provisioning. È possibile attivare un aggiornamento tramite notifiche SMS dall'operatore. Per abilitare l'aggiornamento, è necessario fornire le informazioni seguenti nel codice XML di provisioning:

  • TrustedCertificates Elenco delle identificazioni personali del certificato con firme attendibili nei file di provisioning futuri.

  • DelayInDays Numero intero di giorni prima del quale non viene tentato un aggiornamento.

  • RefreshURL URL HTTPS per ottenere la copia più recente del file di provisioning dell'utente.

  • UserName & Credenziali facoltative che devono essere presentate usando HTTP-Auth durante il recupero del file di re-provisioning. Queste informazioni devono essere crittografate quando archiviate.

In alternativa, l'app mobile broadband può fornire un nuovo file di provisioning in qualsiasi momento, in base alla comunicazione tra l'app e il back-end dell'operatore.

<RefreshParameters>
      <DelayInDays>30</DelayInDays>
      <RefreshURL>https://www.contoso.com/refresh</RefreshURL>
      <Username>[PLACEHOLDER]</Username>
      <Password>[PLACEHOLDER]</Password>
    </RefreshParameters>

Firma

Poiché il provisioning modifica le impostazioni di sistema persistenti dopo l'uscita dell'utente o la disinstallazione dell'app, è necessaria una misura più restrittiva della verifica rispetto alla maggior parte delle API. Questa verifica viene fornita da una combinazione di hardware specifico dell'operatore (SIM), firme crittografiche e conferma utente.

Requisiti di provisioning:

SIM presente? Origine del provisioning Requisito di firma Requisito di conferma utente
Sì, provider MB App a banda larga per dispositivi mobili Nessuno Nessuno
Sì, provider MB Sito Web dell'operatore Il certificato deve:-
Concatenare nuovamente la CA radice attendibile.
- Essere associati all'hardware a banda larga mobile nel database APN o ai metadati dell'esperienza.
Nessuno
No, Wi-Fi provider Sito Web dell'appor a banda larga mobile Il certificato deve:-
Concatenare nuovamente la CA radice attendibile.
- Essere contrassegnato per la convalida estesa.
Viene richiesto all'utente di confermare la prima volta che viene usato il certificato; Non è necessaria alcuna conferma successivamente.

Combinazioni consentite

Anche se Global è l'unico nodo di primo livello richiesto dallo schema, alcune combinazioni di altri nodi sono tipiche. Questa sezione illustra queste combinazioni tipiche:

  • Profili (WLANProfiles, MBNProfiles) + Piani inclusi Descrizione e utilizzo Crea o aggiorna il set completo di profili e applica le informazioni sul piano e l'utilizzo corrente a ognuno. Viene restituito un errore se un profilo fa riferimento a un piano non specificato nello stesso file di provisioning e viene restituito un avviso se nel file di provisioning non viene fatto riferimento a un profilo specificato.

  • Piani che includono Descrizione e (facoltativamente) Utilizzo Aggiornamenti Informazioni sul piano per i profili esistenti nel computer, ma non modifica i profili nel computer. Viene restituito un avviso se nel computer non viene fatto riferimento a un profilo specificato.

  • Piani che includono l'utilizzo solo Aggiornamenti informazioni sull'utilizzo nei profili esistenti nel computer, ma non modifica i profili o la descrizione del piano associato a ogni profilo.

Scenari comuni

Ecco alcuni scenari comuni necessari per creare i metadati di provisioning:

Trovare lo schema di provisioning dell'account

Gli schemi XSD sono disponibili in %SYSTEMROOT%\schemas\provisioning in qualsiasi computer che esegue Windows 8, Windows 8.1 o Windows 10.

Applicare il provisioning XML al dispositivo

È possibile applicare un file XML di provisioning a un dispositivo usando un'app mobile a banda larga, un'app UWP o da un sito Web.

Per effettuare il provisioning da un'app a banda larga per dispositivi mobili:

  1. Creare un'istanza di ProvisioningAgent usando Windows.Networking.NetworkOperators.ProvisioningAgent.CreateFromNetworkAccountId.

  2. Chiamare ProvisionFromXmlDocumentAsync, passando il documento XML di provisioning senza segno.

L'operazione asincrona viene completata e i risultati dell'operazione di provisioning vengono restituiti.

Per eseguire il provisioning da un'app UWP diversa dall'app a banda larga per dispositivi mobili:

  1. Generare un documento XML di provisioning account firmato.

  2. Creare un'istanza di ProvisioningAgent usando il costruttore predefinito.

  3. Chiamare ProvisionFromXmlDocumentAsync, passando il documento XML firmato.

L'operazione asincrona viene completata e i risultati dell'operazione di provisioning vengono restituiti.

Da un sito Web:

  1. Generare un documento XML di provisioning account firmato.

  2. Chiamare window.external.msProvisionNetworks passando il documento XML firmato.

L'operazione viene completata e i risultati dell'operazione di provisioning vengono restituiti.

Effettuare il provisioning del dispositivo per connettersi automaticamente a una rete a banda larga mobile

È possibile definire un documento XML di provisioning usando una sezione MBNProfile .

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

Nota

Gli elementi figlio di DefaultProfile sono necessari. Per altre informazioni, vedere informazioni di riferimento su XML Schema di provisioning.

Effettuare il provisioning del dispositivo per connettersi automaticamente a una rete Wi-Fi

È possibile definire un documento XML di provisioning usando una sezione WlanProfiles .

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

Gli elementi figlio di MSM definiscono come connettersi alla rete. Ciò include qualsiasi configurazione EAP necessaria. Tutti gli elementi figlio dell'elemento MSM nel WLAN_profile Schema sono supportati. Per altre informazioni, vedere informazioni di riferimento su XML Schema di provisioning.

Effettuare il provisioning del dispositivo per connettersi automaticamente a un hotspot abilitato per WISPr

È possibile usare uno dei due modi seguenti per abilitare l'autenticazione hotspot:

  1. Dichiarare direttamente le credenziali usando la direttiva 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>
    
  2. Reindirizzare a un'app per l'autenticazione usando la direttiva 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>
    

È consigliabile definire direttamente le credenziali quando possibile. Il reindirizzamento a un'altra app ha implicazioni di potenza e complessità.

Invio dell'attivazione al dispositivo a banda larga mobile

Un oggetto blob di grandi dimensioni binario arbitrario contenuto all'interno dell'elemento CarrierSpecificData può essere codificato in Base64 e inviato al dispositivo usando ProvisioningAgent. È possibile eseguire questa operazione usando la direttiva Attivazione<serviceActivatation> nel codice XML di provisioning:

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

Questo metodo equivale a richiamare il metodo IMbnVendorSpecificOperation::SetVendorSpecific dell'API Mobile Broadband e passare un safearray insieme al contenuto BLOB.

Forzare la riconnessione del dispositivo mobile broadband alla rete al termine del provisioning

Esistono due modi per forzare la riconnessione del dispositivo mobile broadband alla rete dopo il provisioning: ReregisterToNetwork e ReconnectToNetwork.

È possibile usare la direttiva ReregisterToNetwork per forzare la riregistrazione nella rete mobile broadband attivando la radio mobile broadband e quindi riattivando. Dopo il ritorno della radio, la scheda è connessa usando il profilo predefinito. È consigliabile usare questa direttiva con moderazione e solo se è necessario annullare la registrazione dalla rete dopo l'attivazione dell'account.

È possibile usare la direttiva ReconnectToNetwork quando l'attivazione del contesto deve applicare eventuali nuove impostazioni di sicurezza o criteri dopo il completamento dell'attivazione dell'account. Questa operazione viene eseguita disattivando il contesto PDP e riattivando in base alle impostazioni predefinite del profilo per la scheda mobile broadband. Se il profilo predefinito viene aggiornato nello stesso codice XML di provisioning, verranno usate le nuove impostazioni del profilo.

Facoltativamente, è possibile specificare queste direttive usando conteggi/intervalli di ripetizione dei tentativi e tempi di esecuzione ritardati.

Nota

Se la radio viene usata correttamente in un ReregisterToNetwork , ma la connessione automatica alla rete tramite il profilo predefinito ha esito negativo, i tentativi successivi non ciclicano nuovamente la radio.

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

Aggiornamento delle statistiche di utilizzo dei dati per un profilo di connessione

È possibile aggiornare l'utilizzo solo per i profili di cui è stato effettuato il provisioning usando ProvisioningAgent applicando un nuovo file di provisioning dell'account con informazioni aggiornate sul piano. È possibile specificare un file di provisioning contenente solo informazioni sull'utilizzo o solo informazioni di piano. A seconda della configurazione di sistema da modificare, il nuovo file di provisioning può includere quanto segue:

  • Profili, descrizioni dei piani e utilizzo

  • Descrizioni dei piani e utilizzo (aggiorna i profili esistenti)

  • Pianificare l'utilizzo (aggiorna i profili e i piani esistenti)

Se si applicano nuovi profili e piani di riferimento non definiti nel codice XML, i risultati del provisioning includono un avviso.

Aggiornare l'utilizzo dei dati usando un messaggio SMS

Questa operazione viene eseguita in uno dei modi seguenti:

  • Specificare un messaggio dell'operatore, ricevere un messaggio di notifica dell'operatore, leggere il messaggio usando l'API SMS, analizzare il messaggio nell'app e quindi impostare l'utilizzo usando IProvisionedProfile.

  • Specificare una regola di messaggio dell'operatore con una combinazione valida di campi di utilizzo e fornire direttamente l'utilizzo aggiornato nell'SMS.

Risoluzione dei problemi

Se si verificano problemi di provisioning, è possibile usare le sezioni seguenti per individuarlo.

Risultati dell'API di provisioning

Se il provisioning non riesce, si riceverà un'eccezione quando si tenta di eseguire l'azione di provisioning. Gli errori che possono causare eccezioni includono quanto segue:

  • Il codice XML di provisioning non è conforme allo schema CarrierControlSchema.

  • Il codice XML di provisioning richiede una firma, ma non è firmato in modo appropriato.

Errori di provisioning parziali

Alcune parti dell'operazione di provisioning potrebbero non riuscire a causa di diversi motivi. Ad esempio, potrebbe essere presente un riferimento a Wi-Fi hardware non presente al momento del provisioning. L'agente di provisioning esegue un tentativo ottimale di effettuare il provisioning di tutti gli elementi nel file. Quando si verifica un errore, viene indicato nei risultati del provisioning restituiti in modo asincrono tramite ProvisionFromXmlDocumentAsync.

I risultati vengono restituiti come XML e possono essere analizzati per individuare l'errore. Gli elementi forniscono la struttura per visualizzare gli attributi non riusciti e ErrorCode indicano il motivo dell'errore come HRESULT standard.

Ad esempio, il codice di errore seguente indica che non è stato effettuato il provisioning di profili WLAN perché il servizio WLAN non era attivo:

<CarrierProvisioningResult>
    <WLANProfiles ErrorCode=”80070426”/>
</CarrierProvisioningResult>

Se non è stato possibile applicare un singolo profilo, verrà visualizzato come segue:

<CarrierProvisioningResult>
    <WLANProfiles>
        <WLANProfile Name=”MyProfile” ErrorCode=”80070005”/>
    </WLANProfiles>
</CarrierProvisioningResult>

Log eventi

Gli eventi nei registri applicazioni e servizi\Microsoft\Windows\NetworkProvisioning\Operational possono fornire feedback dettagliato sugli errori di provisioning.

Modulo PowerShell ProvisioningTestHelper

È possibile importare il modulo ProvisioningTestHelper dai Windows 8, Windows 8.1 e Windows 10 SDK. Usando questo modulo, è possibile generare e installare certificati EV, firmare un file XML usando il certificato installato e convalidare il codice XML rispetto allo schema di provisioning. Per importare il modulo in una sessione di PowerShell, digitare il comando seguente:

Import-Module "<path_to_sdk>\bin\<arch>\ProvisioningTestHelper.psd1"

Dove <path_to_sdk\bin\<arch>> è il percorso di installazione del Windows 8, Windows 8.1 o Windows 10 SDK che corrisponde all'architettura del computer.

Dopo aver importato questo modulo, sono disponibili i quattro cmdlet di PowerShell seguenti:

  • Install-TestEVCert Genera un nuovo certificato della CA, lo registra nel computer di test come provider SSL EV attendibile e lo usa per generare e installare un certificato EV da usare per la firma. È necessario eseguire questo cmdlet una sola volta per installare i certificati. È possibile firmare un numero qualsiasi di file usando i certificati.

    Install-TestEVCert -CertName <Certificate Name> -RootCertOutputPath <complete path to the folder to which the root certificate is to be exported>
    

    Il certificato client ha il nome specificato nel comando e il certificato radice ha aggiunto "Root" insieme al nome del certificato client. Il parametro -CertName è facoltativo. Se il parametro –CertName non è specificato, viene usato MBAPTestCert .

    Il parametro -RootCertOutputPath è facoltativo. Deve essere usato se si desidera esportare il certificato radice da installare in un altro computer usando il cmdlet Install-RootCertFromFile.

  • Install-RootCertFromFile Applica il certificato radice di test in un computer diverso per testare l'esperienza client in un computer diverso da quello di sviluppo.

    Install-RootCertFromFile -CertFile <complete path to the root certificate>
    
  • ConvertTo-SignedXml Usa un certificato EV (generato per il test o rilasciato da un provider di terze parti) per applicare una firma XML-DSig a un file XML di provisioning. Questa firma da un certificato attendibile fa sì che Windows accetti il file di provisioning come valido da un'app mobile broadband senza hardware affiliato.

    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>
    

    Questo comando firma il file XML di input, inserisce la firma nel file XML e lo salva nel file XML di output.

  • Test-ValidProvisioningXml Convalida il codice XML di provisioning (firmato o non firmato) rispetto allo schema di provisioning.

    Test-ValidProvisioningXml -InputFile <complete path to the input XML file>