Partager via


Approvisionnement des comptes

L’approvisionnement fait référence à la configuration d’un ordinateur Windows avec les informations nécessaires pour se connecter à un réseau d’opérateur. L’approvisionnement est généralement effectué après l’achat d’un abonnement haut débit mobile. Windows accepte un fichier d’approvisionnement xml de l’opérateur. L’API approvisionnement applique un fichier XML d’approvisionnement à partir de l’opérateur, soit à l’aide d’une application haut débit mobile, soit via un site web d’achat.

Le diagramme suivant illustre le contenu et la hiérarchie du fichier XML d’approvisionnement.

Diagramme montrant la hiérarchie d’un fichier XML d’approvisionnement pour le haut débit mobile.

Pour plus d’informations sur le schéma d’approvisionnement, consultez Schéma CarrierControlSchema.

Mise à jour des métadonnées d’approvisionnement

Il existe plusieurs façons de mettre à jour les métadonnées d’approvisionnement sur un ordinateur.

Application haut débit mobile

Une fois l’application haut débit mobile installée sur l’ordinateur, elle peut récupérer ou générer un fichier d’approvisionnement mis à jour en fonction de n’importe quel déclencheur que vous implémentez dans l’application.

Les applications haut débit mobiles peuvent appliquer des fichiers d’approvisionnement à l’aide des API Windows.Networking.NetworkOperator.ProvisioningAgent . Si l’application est associée à un ID de compte réseau, elle peut utiliser CreateFromNetworkAccountId pour fournir des métadonnées non signées. Si l’application n’est pas associée à un ID de compte réseau, elle doit utiliser le constructeur par défaut pour ProvisioningAgent et signer le code XML.

Une application haut débit mobile peut utiliser les déclencheurs suivants pour mettre à jour les métadonnées d’approvisionnement :

  • Utilisation Une fois la limite de données configurée, vous pouvez indiquer à Windows d’avertir l’application à chaque incrément d’utilisation de 5 %. Cela garantit que l’application récupère les informations d’utilisation les plus à jour.

  • Minuteries Un minuteur peut mettre à jour les métadonnées d’approvisionnement à des intervalles de temps appropriés.

  • SMS entrants Vous pouvez envoyer des SMS que votre application comprend. Cela peut définir un message qui lance une actualisation ou vérifie automatiquement l’utilisation mise à jour lors de la réception d’une notification de seuil.

  • Service de notification Windows Toute application UWP peut s’inscrire aux notifications Push et effectuer des actions en fonction de son contenu. Vous pouvez l’utiliser comme canal de notification pour l’approvisionnement des mises à jour.

  • Changements importants d’emplacement Si des paramètres différents s’appliquent aux utilisateurs qui se trouvent dans des paramètres régionaux différents, un changement d’emplacement peut déclencher l’application des paramètres mis à jour pour le nouvel emplacement de l’utilisateur.

  • Changements de fuseau horaire Pour les grandes tailles de région, une modification du fuseau horaire système peut être utilisée comme proxy pour les modifications d’emplacement. Cela peut être particulièrement intéressant sur les ordinateurs qui n’ont pas de GPS ou de haut débit mobile.

Approvisionnement basé sur le web

Un site web peut fournir des données d’approvisionnement à l’aide de l’API window.external.msProvisionNetworks . Les fichiers d’approvisionnement fournis à cette API doivent être signés à l’aide d’un certificat X.509 et xml-DSig.

Les certificats peuvent être pré-fournis à l’ordinateur à l’aide de la base de données APN, des métadonnées de service ou d’un fichier de métadonnées d’approvisionnement de compte précédent. Si le certificat est déjà approuvé, il n’y a aucune interaction utilisateur. Si le certificat n’est pas connu précédemment de l’ordinateur, il doit s’agir d’un certificat EV et l’utilisateur est invité à donner son consentement avant d’accepter le certificat.

Actualisation de l’approvisionnement automatique

Un fichier d’approvisionnement peut inclure une directive permettant à Windows de récupérer automatiquement un fichier d’approvisionnement mis à jour à un intervalle planifié ou en réponse à un message SMS spécifique. Cette méthode ne nécessite pas l’installation d’une application haut débit mobile sur l’ordinateur local.

Approvisionnement du contenu des métadonnées

Les métadonnées d’approvisionnement incluent les sections suivantes :

Pour plus d’informations sur ces sections, consultez Schéma CarrierControlSchema.

Global

La section globale est requise dans chaque fichier d’approvisionnement. Les éléments requis dans cette section sont les suivants :

  • CarrierId GUID qui identifie de manière unique le organization qui a créé le fichier. Si vous créez une application haut débit mobile, vous devez utiliser le GUID que vous avez spécifié dans le champ Numéro de service de ServiceInfo.xml dans le package de métadonnées de service. Pour plus d’informations sur le schéma du package de métadonnées de service, consultez Informations de référence sur le schéma de package de métadonnées de service.

    Notes

    Il s’agit du même numéro de service que celui que vous avez fourni dans l’Assistant Créer une expérience haut débit mobile sur le tableau de bord du Centre de développement Windows – Matériel. Si vous ne créez pas d’application haut débit mobile, vous pouvez générer un GUID à l’usage de votre organization. Dans les deux cas, vous devez toujours utiliser le même GUID sur tous les fichiers d’approvisionnement que votre organization problèmes.

  • SubscriberId Chaîne qui identifie de manière unique le client dans votre organization. Si vous êtes un opérateur mobile, il doit s’agir des plages IMSI ou ICCID pour les opérateurs GSM ou de l’ID du fournisseur ou du nom du fournisseur pour les opérateurs CDMA. Si vous n’êtes pas un opérateur mobile, vous pouvez choisir une chaîne suffisamment unique.

Activation

L’activation de l’appareil se produit une fois le processus d’activation terminé sur le serveur principal. Le PC peut avoir besoin de suivre certaines instructions avant de se connecter au réseau. Le moteur d’approvisionnement utilise les instructions d’activation reçues dans l’élément d’activation de l’appareil. Si aucune valeur n’est spécifiée, aucune action client n’est requise. Les actions disponibles sont les suivantes :

  • Se reconnecter Déconnectez et connectez-vous au réseau de l’opérateur.

    Réinscrire Déconnectez-vous et inscrivez-vous au réseau de l’opérateur.

  • Données Données ou instructions que vous souhaitez envoyer à l’appareil pour activer la connexion. Le moteur d’approvisionnement transmet ces données telles qu’elles sont à l’appareil. Pour CDMA, cela peut inclure des instructions telles que *228 pour démarrer une session de programmation OTA et se reconnecter au réseau.

Informations sur le haut débit mobile

Les informations sur le haut débit mobile contiennent plusieurs éléments :

MBNProfiles

Définit les informations de l’abonné sur le réseau de l’opérateur mobile. Il existe deux profils différents qui peuvent être utilisés :

  • PurchaseProfile : informations nécessaires pour se connecter au réseau de l’opérateur pour acheter un nouvel abonnement.

  • DefaultProfile Chaque abonnement haut débit mobile peut avoir un profil par défaut utilisé pour se connecter à l’opérateur réseau domestique. Windows Gestionnaire des connexions utilise ce profil pour la connexion automatique au réseau.

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

Personnalisation

Important

À compter de Windows 10, version 1709, les champs de personnalisation approvisionnés par l’API ProvisioningAgent ont été remplacés par des champs de personnalisation dans la base de données COSA. Le logo a été remplacé par l’icône de marque dans COSA et le nom a été remplacé par nom de marque dans COSA.

Le logo et le nom ne seront plus pris en compte lors de l’approvisionnement dans Windows 10, version 1709 et ultérieure. L’API ProvisioningAgent ne génère pas d’erreur si elles sont utilisées, mais vous devez plutôt modifier l’icône de marque et le nom de la marque dans COSA.

Pour plus d’informations sur l’icône de personnalisation et le nom de la personnalisation, consultez Paramètres de base de données COSA/APN de bureau (paramètres COSA de bureau uniquement).

La personnalisation vous permet de spécifier la façon dont Windows affiche vos réseaux haut débit mobiles. Ces informations remplacent toutes les métadonnées de service, le cas échéant. Si aucune information n’est fournie, le contenu du package de métadonnées de service est utilisé. Les éléments de personnalisation sont les suivants :

  • Logo Fichier .PNG or.BMP encodé en Base64 incorporé dans le XML. Ce logo est appliqué à vos profils haut débit mobiles pour l’afficher dans la liste réseau.

  • Nom Définit le nom d’affichage de l’opérateur pour les profils haut débit mobiles.

Analyse SMS

Vous pouvez provisionner les règles pour identifier un message texte et extraire des informations dans le cadre du fichier XML d’approvisionnement. Vous pouvez utiliser des messages SMS pour mettre à jour les statistiques d’utilisation des données ou lancer une actualisation des informations d’approvisionnement. Ces messages peuvent être identifiés par une combinaison des éléments suivants :

  • Type de porteur (SMS/USSD)

  • Expéditeur (SMS uniquement)

  • Expression régulière

Pour plus d’informations sur les notifications PAR SMS, consultez Activation des notifications d’opérateur mobile et des événements système.

Chaque règle contient les informations suivantes :

  • Silencieux Si cette valeur est true, le message génère un événement MobileOperatorNotification uniquement. Si cette valeur est false, le message génère un événement SmsMessageReceived .

  • Expéditeur autorisé Spécifie l’adresse de l’expéditeur réservée à partir de laquelle la notification est autorisée à arriver. Ce numéro doit correspondre exactement au numéro d’expéditeur reçu dans le sms, y compris au format international.

  • Modèle Expression régulière permettant d’identifier et éventuellement d’extraire des champs de données du message texte. Ce modèle correspond à tous les messages d’un expéditeur : [^]*

  • RuleId Identificateur de cette règle, qui est passé à l’application haut débit mobile dans le cadre de l’événement MobileOperatorNotification . Cet identificateur permet à l’application de savoir quelle règle a provoqué le déclenchement d’un événement MobileOperatorNotification par SMS et peut réduire le besoin de l’application d’analyser à nouveau le message.

  • Champs et groupes Chaque groupe de capture dans le modèle d’expression régulière est lié à un champ nommé. Il est utilisé pour extraire et transformer les données en un ensemble de valeurs utilisables. Par exemple, le premier groupe de correspondances peut être lié au champ Utilisation et le deuxième groupe de correspondance peut être lié au champ UsageDataLimit . Cette association indique que la première valeur est les informations d’utilisation actuelles et que la deuxième valeur est l’utilisation maximale autorisée.

    • Usage, UsagePercentage, UsageOverage, UsageOveragePercentage : exprime l’utilisation actuelle sous la forme d’un nombre absolu, d’un pourcentage de la limite de données, d’un nombre au-delà de la limite de données ou d’un pourcentage au-delà de la limite de données. Les valeurs absolues peuvent référencer un groupe qui spécifie l’unité dans laquelle la valeur est exprimée.

    • UsageTimestamp : date et heure auxquelles le champ d’utilisation est calculé. Ces informations doivent être incluses si un champ Usage\* est inclus. La chaîne de format contient les identificateurs suivants pour exprimer la façon dont la sous-chaîne doit être interprétée :

      Identificateur Description
      %d Jour du mois sous forme de nombre décimal (de 01 à 31)
      %H Heure au format 24 heures (de 00 à 23)
      %I Heure au format 12 heures (de 01 à 12)
      %m Mois sous forme de nombre décimal (de 01 à 12)
      %M Minute sous forme de nombre décimal (de 00 à 59)
      %S Seconde sous forme de nombre décimal (de 00 à 59)
      %y Année sans le siècle, sous forme de nombre décimal (de 00 à 99)
      %Y Année avec siècle, comme nombre décimal (0000-9999)
      %p Indicateur AM/PM
      %#d, %#H, %#I, %#m, %#M, %#S, %#y, %#Y Identique à ce qui précède, mais sans zéros non significatifs
    • DataLimit : nombre absolu d’octets que l’utilisateur est autorisé à utiliser ; cela inclut un groupe qui spécifie l’unité dans laquelle la valeur est exprimée.

    • OverDataLimit, Congested : modifie les indicateurs signalés aux applications pour indiquer que l’utilisateur a dépassé sa limite de données ou que le réseau est soumis à une charge importante.

    • InboundBandwidth, OutboundBandwidth : si une bande passante maximale est imposée par le réseau, cela spécifie les groupes qui représentent la valeur et les unités.

    • PlanType : spécifie comment l’utilisateur est facturé pour une utilisation ultérieure.

Attention Étant donné que les SMS influencent le comportement de Windows, seuls les SMS approuvés peuvent être consommés. La sécurité est maintenue en limitant l’adresse de l’expéditeur. Cette méthode de sécurité suppose que la passerelle SMS de votre réseau garantit que les messages provenant d’expéditeurs restreints ne peuvent pas être usurpés.

Wi-Fi informations

Cette section vous permet de fournir n’importe quel nombre de profils réseau Wi-Fi que Windows peut utiliser. Le format de la section est similaire au schéma XML utilisé par l’API WLAN native Windows.

Notes

Un profil peut contenir plusieurs SSID, si tous les autres paramètres sont identiques. Si différents réseaux varient d’une autre manière (méthode d’authentification, paramètres de chiffrement, plan, etc.), vous devez créer des profils supplémentaires.

Lorsque vous spécifiez la section WLAN, vous devez également spécifier tous les profils qui doivent être configurés sur l’ordinateur. Si ces profils font référence à un plan de données, la section plans doit également être incluse. Le comportement qui se produit lorsque cette section est traitée est le suivant :

  • Si l’ordinateur a un profil qui n’est plus spécifié, il est supprimé.

  • Si vous spécifiez un profil, il est mis à jour ou créé.

  • Une section WLAN vide supprime tous les profils.

  • Si vous omettez la section WLAN, les profils WLAN de la machine restent inchangés.

Un nœud supplémentaire dans cette section est le plan associé. Ce nœud permet à Windows d’associer le profil WLAN à un plan décrit dans la section plans. Le plan vous permet d’informer Windows de l’état de contrôle du réseau et d’influencer le comportement de Windows pendant la connexion de l’ordinateur au réseau.

Réseau non chiffré, pas d’authentification automatique

Ce profil configure Windows pour se connecter à un réseau ouvert.

  • Si ce réseau contient un portail captif, le navigateur est ouvert lors de la connexion au réseau.

  • Si le réseau ne contient pas de portail captif, l’utilisateur est connecté sans action supplémentaire.

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

Réseau non chiffré, authentification WISPr

Ce profil configure Windows pour se connecter à un réseau ouvert et utilise l’authentification WISPr (Wireless Internet Service Provider Roaming) :

  • Si le réseau contient un portail captif compatible WISPr, le nom d’utilisateur et le mot de passe spécifiés sont envoyés au serveur d’authentification spécifié.

  • Si le portail captif n’est pas compatible avec WISPr, le navigateur est ouvert lors de la connexion au réseau.

  • Si le réseau ne contient pas de portail captif, l’utilisateur est connecté sans action supplémentaire.

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

Réseau chiffré, authentification EAP-SIM

Ce profil configure Windows pour se connecter à un réseau chiffré à l’aide d’une carte SIM comme type d’authentification, par exemple un réseau Hotspot 2.0. Hotspot 2.0 définit un tel réseau pour utiliser WPA2-Enterprise avec l’authentification 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>

Réseau non chiffré, authentification basée sur l’application

Ce profil configure Windows pour se connecter à un réseau ouvert et utiliser l’authentification WISPr en coopération avec votre application haut débit mobile.

  • Si le réseau contient un portail captif, votre application est ouverte en arrière-plan pour fournir des informations d’identification WISPr. Les informations d’identification sont ensuite envoyées au serveur d’authentification spécifié.

  • Si le portail captif n’est pas compatible avec WISPr, le navigateur est ouvert lors de la connexion au réseau.

  • Si le réseau ne contient pas de portail captif, l’utilisateur est connecté sans action supplémentaire.

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

Informations sur le plan

Chaque profil haut débit et point d’accès mobile fait référence à un plan. Plusieurs profils peuvent référencer le même plan. Les plans sont décrits dans une section distincte de niveau supérieur.

Le plan est divisé en deux sections : Description et Utilisation. Cela vous permet de fournir initialement des profils et des descriptions dans un fichier d’approvisionnement plus volumineux, puis de fournir des fichiers d’approvisionnement plus petits qui contiennent uniquement l’utilisation actuelle du client.

Ces informations sont utilisées pour affecter directement le comportement de Windows et sont fournies aux applications pour adapter leur comportement au réseau. Ces informations peuvent être mises à la disposition d’applications tierces via les API d’informations réseau.

Description

Les éléments qui changent généralement avec une faible fréquence au cours de la période d’abonnement d’un client, notamment :

  • PlanType Type de relation de facturation entre le client et l’opérateur :

    • Sans restriction L’utilisation n’entraîne pas de coût supplémentaire.

    • Fixe Une certaine quantité d’utilisation est allouée à l’utilisateur pour un coût fixe.

    • Variable L’utilisateur paie en fonction de l’utilisation.

  • SecurityUpdatesExempt Valeur booléenne qui spécifie si les mises à jour de sécurité sont comptabilisées dans l’utilisation du client.

  • DataLimitInMegabytes Utilisation allouée de l’utilisateur, si PlanType est fixe.

  • BillingCycle Définit la date et l’heure de début du plan, sa durée et ce qui se passe à la fin de la cycle de facturation.

  • Bande passanteInKbps Vitesse de connexion de l’utilisateur autorisée par le réseau ; cela peut refléter la norme de son plan, ou refléter un tarif inférieur qui est actuellement imposé par le transporteur en raison d’une congestion ou d’une utilisation excessive (maximum de 2 Gbits/s).

  • MaxTransferSizeInMegabytes Entier qui exprime la taille d’un téléchargement individuel qu’une application conforme doit autoriser sur une connexion limitée, sans l’approbation explicite de l’utilisateur de la connexion utilisée.

  • UserSMSEnabled Indique si le plan inclut la prise en charge des SMS d’utilisateur à utilisateur. Si la valeur est true, Windows conserve l’appareil attaché au réseau en mode Veille connectée, même lorsque l’interface haut débit mobile n’est pas utilisée. Si la valeur est false, Windows peut mettre hors tension l’interface haut débit mobile pour économiser l’alimentation, ce qui fait que l’appareil n’est pas adressable par le réseau lorsque l’ordinateur est inactif.

Utilisation

Les éléments suivants peuvent changer avec une fréquence plus élevée :

  • UtilisationInMegabytes Utilisation des données la plus récente de l’utilisateur.

  • OverDataLimit Valeur booléenne qui indique si l’utilisateur a réussi l’utilisation allouée, si PlanType est résolu.

  • Encombrées Valeur booléenne qui indique si une vitesse de connexion inférieure à la normale est imposée en raison d’une utilisation excessive. L’indicateur Congested indique que le réseau subit actuellement (ou s’attend à subir) une charge importante, et que les transferts à faible priorité doivent être reportés à une autre date, si possible. Vous pouvez utiliser cet indicateur pour indiquer des concepts tels que les heures de pointe ou pour répondre à un point d’accès surchargé.

Actualiser

Vous pouvez envoyer (push) les paramètres mis à jour à l’ordinateur en fonction des besoins en raison de modifications du réseau ou d’un support technique. Windows tente des actualisations périodiques à l’aide des informations fournies par vous ou par l’API d’approvisionnement. Une actualisation peut être déclenchée par des notifications SMS de l’opérateur. Pour activer l’actualisation, vous devez fournir les informations suivantes dans le code XML d’approvisionnement :

  • TrustedCertificates Liste des empreintes de certificat qui ont des signatures approuvées sur les futurs fichiers d’approvisionnement.

  • DelayInDays Nombre (entier) de jours avant lesquels une actualisation n’est pas tentée.

  • RefreshURL URL HTTPS permettant d’obtenir la dernière copie du fichier d’approvisionnement de l’utilisateur.

  • UserName & Password Informations d’identification facultatives qui doivent être présentées à l’aide de HTTP-Auth lors de la récupération du fichier de réapprovisionnement. Ces informations doivent être chiffrées lorsqu’elles sont stockées.

L’application haut débit mobile peut également fournir un nouveau fichier d’approvisionnement à tout moment, en fonction de la communication entre l’application et le back-end de l’opérateur.

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

Signature

Étant donné que l’approvisionnement modifie les paramètres système qui persistent une fois que l’utilisateur a quitté ou désinstallé l’application, une mesure de vérification plus stricte est requise que pour la plupart des API. Cette vérification est fournie par une combinaison de matériel spécifique à l’opérateur (la CARTE SIM), de signatures de chiffrement et de confirmation de l’utilisateur.

Exigences d’approvisionnement :

SIM présent ? Source d’approvisionnement Exigence de signature Exigence de confirmation de l’utilisateur
Oui, fournisseur Mo Application haut débit mobile None None
Oui, fournisseur Mo Site web de l’opérateur Le certificat doit :
- Rechaîner vers l’autorité de certification racine approuvée.
- Être associé au matériel haut débit mobile dans la base de données APN ou les métadonnées d’expérience.
None
Non, Wi-Fi fournisseur Site web d’application haut débit mobile Le certificat doit :
- Rechaîner vers l’autorité de certification racine approuvée.
- Être marqué pour validation étendue.
L’utilisateur est invité à confirmer la première fois que le certificat est utilisé ; aucune confirmation n’est requise par la suite.

Combinaisons autorisées

Bien que Global soit le seul nœud de premier niveau requis par le schéma, certaines combinaisons d’autres nœuds sont typiques. Cette section décrit ces combinaisons classiques :

  • Profils (WLANProfiles, MBNProfiles) + Plans incluant description et utilisation Crée ou met à jour l’ensemble complet de profils et applique les informations de plan et l’utilisation actuelle à chacun d’eux. Une erreur est retournée si un profil fait référence à un plan qui n’est pas spécifié dans le même fichier d’approvisionnement, et un avertissement est retourné si aucun profil dans le fichier d’approvisionnement ne fait référence à un plan spécifié.

  • Plans y compris description et (éventuellement) informations sur l’utilisation Mises à jour plan pour les profils existants sur l’ordinateur, mais ne modifie pas les profils sur l’ordinateur. Un avertissement est retourné si aucun profil sur l’ordinateur ne fait référence à un plan spécifié.

  • Les plans incluant l’utilisation uniquement Mises à jour informations d’utilisation dans les profils existants sur l’ordinateur, mais ne modifient pas les profils ni la description du plan associé à chaque profil.

Scénarios courants

Voici quelques scénarios courants dont vous pouvez avoir besoin lorsque vous créez des métadonnées d’approvisionnement :

Rechercher le schéma d’approvisionnement de compte

Les schémas XSD sont disponibles sous %SYSTEMROOT%\schemas\provisioning sur n’importe quel ordinateur exécutant Windows 8, Windows 8.1 ou Windows 10.

Appliquer le code XML d’approvisionnement à l’appareil

Vous pouvez appliquer un fichier XML d’approvisionnement à un appareil à l’aide d’une application haut débit mobile, d’une application UWP ou d’un site web.

Pour approvisionner à partir d’une application haut débit mobile :

  1. Instanciez un instance ProvisioningAgentl’aide de Windows.Networking.NetworkOperators.ProvisioningAgent.CreateFromNetworkAccountId).

  2. Appelez ProvisionFromXmlDocumentAsync, en passant le document XML d’approvisionnement non signé.

L’opération asynchrone se termine et les résultats de l’opération d’approvisionnement sont retournés.

Pour approvisionner à partir d’une application UWP autre que l’application haut débit mobile :

  1. Générez un document XML d’approvisionnement de compte signé.

  2. Instanciez un instance ProvisioningAgent (à l’aide du constructeur par défaut).

  3. Appelez ProvisionFromXmlDocumentAsync, en passant le document XML signé.

L’opération asynchrone se termine et les résultats de l’opération d’approvisionnement sont retournés.

À partir d’un site web :

  1. Générez un document XML d’approvisionnement de compte signé.

  2. Appelez window.external.msProvisionNetworks, en passant le document XML signé.

L’opération se termine et les résultats de l’opération d’approvisionnement sont retournés.

Provisionner l’appareil pour qu’il se connecte automatiquement à un réseau haut débit mobile

Vous pouvez définir un document XML d’approvisionnement à l’aide d’une section 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>

Notes

Les éléments enfants de DefaultProfile sont requis. Pour plus d’informations, consultez les informations de référence sur le schéma XML d’approvisionnement.

Provisionner l’appareil pour qu’il se connecte automatiquement à un réseau Wi-Fi

Vous pouvez définir un document XML d’approvisionnement à l’aide d’une section 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>

Les éléments enfants de MSM définissent comment se connecter au réseau. Cela inclut toute configuration EAP nécessaire. Tous les éléments enfants de l’élément MSM dans le schéma WLAN_profile sont pris en charge. Pour plus d’informations, consultez les informations de référence sur le schéma XML d’approvisionnement.

Provisionner l’appareil pour qu’il se connecte automatiquement à un point d’accès wi-fi activé

Vous pouvez utiliser l’une des deux méthodes suivantes pour activer l’authentification par point d’accès :

  1. Déclarez directement les informations d’identification à l’aide de la directive 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. Redirigez vers une application pour l’authentification à l’aide de la directive 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>
    

Vous devez définir directement les informations d’identification lorsque cela est possible. La redirection vers une autre application a des implications en termes de puissance et de complexité.

Envoi de l’activation à l’appareil haut débit mobile

Un objet BLOB (Binary Large Object) arbitraire contenu à l’intérieur de l’élément CarrierSpecificData peut être encodé en Base64 et envoyé à l’appareil à l’aide de ProvisioningAgent. Pour ce faire, utilisez la directive Activation<ServiceActivatation> dans le code XML d’approvisionnement :

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

Cette méthode équivaut à appeler la méthode IMbnVendorSpecificOperation ::SetVendorSpecific de l’API Haut débit mobile et à transmettre un SAFEARRAY avec le contenu d’objet BLOB.

Forcer le périphérique haut débit mobile à se reconnecter au réseau une fois l’approvisionnement terminé

Il existe deux façons de forcer l’appareil haut débit mobile à se reconnecter au réseau après l’approvisionnement : ReregisterToNetwork et ReconnectToNetwork.

Vous pouvez utiliser la directive ReregisterToNetwork pour forcer la réinscription sur le réseau haut débit mobile en activant la radio haut débit mobile, puis en activant à nouveau. Une fois la radio rétablie, l’adaptateur est connecté à l’aide du profil par défaut. Vous devez utiliser cette directive avec parcimonie, et seulement s’il est nécessaire de vous désinscrire du réseau après l’activation du compte.

Vous pouvez utiliser la directive ReconnectToNetwork lorsque l’activation contextuelle doit appliquer de nouveaux paramètres de sécurité ou de stratégie une fois l’activation du compte terminée. Pour ce faire, désactivez le contexte PDP et réactivez en fonction des paramètres de profil par défaut de l’adaptateur haut débit mobile. Si le profil par défaut est mis à jour dans le même code XML d’approvisionnement, les nouveaux paramètres de profil sont utilisés.

Si vous le souhaitez, vous pouvez spécifier ces directives en utilisant des nombres/intervalles de nouvelles tentatives et des temps d’exécution différés.

Notes

Si la radio est correctement activée dans un ReregisterToNetwork , mais que la connexion automatique au réseau à l’aide du profil par défaut échoue, les nouvelles tentatives suivantes ne cyclent plus 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>

Mise à jour des statistiques d’utilisation des données pour un profil de connexion

Vous pouvez uniquement mettre à jour l’utilisation des profils qui ont été provisionnés à l’aide de ProvisioningAgent en appliquant un nouveau fichier d’approvisionnement de compte qui contient des informations de plan mises à jour. Vous pouvez fournir un fichier d’approvisionnement qui contient uniquement des informations d’utilisation ou uniquement des informations de plan. Selon la quantité de configuration système que vous souhaitez modifier, le nouveau fichier d’approvisionnement peut inclure les éléments suivants :

  • Profils, descriptions de plan et utilisation

  • Descriptions et utilisation du plan (mises à jour des profils existants)

  • Utilisation du plan (met à jour les profils et plans existants)

Si vous appliquez de nouveaux profils et plans de référence qui ne sont pas définis dans le code XML, les résultats de l’approvisionnement incluent un avertissement.

Mettre à jour l’utilisation des données à l’aide d’un sms

Cela se fait de l’une des manières suivantes :

  • Spécifiez un message d’opérateur, recevez un message de notification d’opérateur, lisez le message à l’aide de l’API SMS, analysez le message dans l’application, puis définissez l’utilisation à l’aide de IProvisionedProfile.

  • Spécifiez une règle de message d’opérateur qui a une combinaison valide de champs d’utilisation et fournit directement l’utilisation mise à jour dans le SMS.

Dépannage

Si vous rencontrez des problèmes d’approvisionnement, vous pouvez utiliser les sections suivantes pour vous aider à les comprendre.

Résultats de l’API d’approvisionnement

Si l’approvisionnement échoue, vous recevrez une exception lorsque vous essayez d’effectuer l’action d’approvisionnement. Les échecs qui peuvent entraîner des exceptions sont les suivants :

  • Le code XML d’approvisionnement n’est pas conforme au schéma CarrierControlSchema.

  • Le code XML d’approvisionnement nécessite une signature, mais n’est pas signé de manière appropriée.

Échecs d’approvisionnement partiel

Certaines parties de l’opération d’approvisionnement peuvent ne pas réussir pour diverses raisons. Par exemple, vous pouvez avoir une référence à Wi-Fi matériel qui n’est pas présent au moment de l’approvisionnement. L’agent d’approvisionnement tente au mieux de provisionner tout ce qui se trouve dans le fichier. Lorsque quelque chose échoue, il est noté dans les résultats d’approvisionnement qui sont retournés de manière asynchrone à l’aide de ProvisionFromXmlDocumentAsync.

Les résultats sont retournés au format XML et peuvent être analysés pour découvrir l’échec. Les éléments fournissent une structure pour montrer ce qui a échoué, et les attributs ErrorCode indiquent la raison de l’échec en tant que HRESULT standard.

Par exemple, le code d’erreur suivant indique qu’aucun profil WLAN n’a été provisionné, car le service WLAN n’était pas actif :

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

Si un profil individuel n’a pas pu être appliqué, il apparaît comme suit :

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

Journaux des événements

Les événements du canal Journaux des applications et des services\Microsoft\Windows\NetworkProvisioning\Operational peuvent fournir des commentaires détaillés sur les échecs d’approvisionnement.

Module PowerShell ProvisioningTestHelper

Vous pouvez importer le module ProvisioningTestHelper à partir des kits SDK Windows 8, Windows 8.1 et Windows 10. À l’aide de ce module, vous pouvez générer et installer des certificats EV, signer un fichier XML à l’aide du certificat installé et valider le code XML par rapport au schéma d’approvisionnement. Pour importer le module dans une session PowerShell, tapez la commande suivante :

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

Où <path_to_sdk\bin\<arch>> est l’emplacement d’installation du Windows 8, Windows 8.1 ou Windows 10 SDK qui correspond à l’architecture de l’ordinateur.

Après avoir importé ce module, les quatre applets de commande PowerShell suivantes sont disponibles :

  • Install-TestEVCert Génère un nouveau certificat d’autorité de certification, l’inscrit sur votre ordinateur de test en tant que fournisseur SSL EV approuvé et l’utilise pour générer et installer un certificat EV à utiliser lors de la signature. Vous ne devez exécuter cette applet de commande qu’une seule fois pour installer les certificats. Vous pouvez signer n’importe quel nombre de fichiers à l’aide des certificats.

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

    Le certificat client a le nom spécifié dans la commande et le certificat racine a « Root » ajouté avec le nom du certificat client. Le paramètre -CertName est facultatif. Si le paramètre –CertName n’est pas spécifié, MBAPTestCert est utilisé.

    Le paramètre -RootCertOutputPath est également facultatif. Il doit être utilisé si vous souhaitez exporter le certificat racine à installer sur un autre ordinateur à l’aide de l’applet de commande Install-RootCertFromFile.

  • Install-RootCertFromFile Applique le certificat racine de test sur un autre ordinateur pour tester l’expérience client sur un ordinateur autre que l’ordinateur de développement.

    Install-RootCertFromFile -CertFile <complete path to the root certificate>
    
  • ConvertTo-SignedXml Utilise un certificat EV (généré à des fins de test ou émis par un fournisseur tiers) pour appliquer une signature XML-DSig à un fichier XML d’approvisionnement. Cette signature d’un certificat approuvé amène Windows à accepter le fichier d’approvisionnement comme valide à partir d’une application haut débit mobile sans matériel affilié.

    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>
    

    Cette commande signe le fichier XML d’entrée, place la signature dans le code XML et l’enregistre dans le fichier XML de sortie.

  • Test-ValidProvisioningXml Valide le code XML d’approvisionnement (signé ou non) par rapport au schéma d’approvisionnement.

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