"Подготовка учетных записей";

Подготовка — это настройка компьютера Windows со сведениями, необходимыми для подключения к сети оператора. Подготовка обычно выполняется после приобретения подписки на мобильное широкополосное подключение. Windows принимает файл подготовки на основе XML от оператора . API подготовки применяет XML-файл подготовки от оператора с помощью мобильного широкополосного приложения или веб-сайта покупки.

На следующей схеме показано содержимое и иерархия XML-файла подготовки.

Схема, показывающая иерархию XML-файла подготовки для мобильной широкополосной связи.

Дополнительные сведения о схеме подготовки см. в разделе Схема CarrierControlSchema.

Обновление метаданных подготовки

Существует несколько способов обновления метаданных подготовки на компьютере.

Мобильное широкополосное приложение

После установки приложения мобильной широкополосной связи на компьютере оно может получить или создать обновленный файл подготовки на основе любого триггера, который вы реализуете в приложении.

Мобильные широкополосные приложения могут применять файлы подготовки с помощью API Windows.Networking.NetworkOperator.ProvisioningAgent . Если приложение связано с идентификатором сетевой учетной записи, оно может использовать CreateFromNetworkAccountId для предоставления неподписанных метаданных. Если приложение не связано с идентификатором сетевой учетной записи, оно должно использовать конструктор по умолчанию для ProvisioningAgent и подписать XML-код.

Мобильное широкополосное приложение может использовать следующие триггеры для обновления метаданных подготовки:

  • Использования После первоначальной настройки ограничения данных можно указать Windows уведомлять приложение при каждом приращении использования в 5 %. Это гарантирует, что приложение получает самые актуальные сведения об использовании.

  • Таймеры Таймер может обновлять метаданные подготовки через соответствующие интервалы времени.

  • Входящие SMS Вы можете отправлять SMS-сообщения, понятные вашему приложению. Это может определить сообщение, которое инициирует обновление, или автоматически проверяет наличие обновленного использования при получении уведомления о пороговом значении.

  • Служба уведомлений Windows Любое приложение UWP может регистрироваться для получения push-уведомлений и выполнять действия на основе их содержимого. Его можно использовать в качестве канала уведомлений для подготовки обновлений.

  • Изменение больших расположений Если к пользователям с разными языковыми параметрами применяются разные параметры, изменение расположения может привести к тому, что приложение будет применять обновленные параметры для нового расположения пользователя.

  • Изменения часовых поясов Для больших размеров регионов изменение системного часового пояса можно использовать в качестве прокси-сервера для изменения расположения. Это может быть особенно интересно на компьютерах без GPS или мобильной широкополосной связи.

Веб-подготовка

Веб-сайт может предоставлять данные подготовки с помощью API window.external.msProvisionNetworks . Файлы подготовки, которые предоставляются в этот API, должны быть подписаны с помощью сертификата X.509 и XML-DSig.

Сертификаты можно предварительно предоставить на компьютер с помощью базы данных APN, метаданных службы или файла метаданных подготовки предыдущей учетной записи. Если сертификат уже является доверенным, взаимодействие с пользователем отсутствует. Если сертификат ранее не известен компьютеру, он должен быть сертификатом EV, и пользователю будет предложено предоставить согласие перед принятием сертификата.

Обновление автоматической подготовки

Файл подготовки может включать директиву для Windows для автоматического получения обновленного файла подготовки через запланированный интервал времени или в ответ на определенное SMS-сообщение. Для этого метода не требуется, чтобы на локальном компьютере устанавливалось мобильное широкополосное приложение.

Содержимое метаданных подготовки

Метаданные подготовки включают следующие разделы:

Дополнительные сведения об этих разделах см. в разделе Схема CarrierControlSchema.

Глобальный

Глобальный раздел требуется в каждом файле подготовки. Обязательные элементы в этом разделе:

  • CarrierId Идентификатор GUID, однозначно определяющий организацию, создающую файл. При создании приложения мобильной широкополосной связи необходимо использовать GUID, указанный в поле Номер службыServiceInfo.xml в пакете метаданных службы. Дополнительные сведения о схеме пакета метаданных службы см. в статье Справочник по схеме пакета метаданных службы.

    Примечание

    Это тот же номер службы, который вы указали в мастере создания возможностей мобильного широкополосного подключения на панели мониторинга Центра разработки для Windows — оборудование. Если вы не создаете мобильное широкополосное приложение, вы можете создать GUID для использования в вашей организации. В любом случае всегда следует использовать один и тот же GUID для всех файлов подготовки, которые возникают в вашей организации.

  • SubscriberId Строка, однозначно идентифицирующая клиента в вашей организации. Если вы являетесь оператором мобильной связи, это должны быть диапазоны IMSI или ICCID для операторов GSM или идентификатор поставщика или имя поставщика для операторов CDMA. Если вы не являетесь оператором мобильной связи, вы можете выбрать любую достаточно уникальную строку.

Активация

Активация устройства происходит после завершения процесса активации на серверной части. Компьютеру может потребоваться выполнить определенные инструкции перед подключением к сети. Модуль подготовки использует инструкции по активации, полученные в элементе активации устройства. Если значение не указано, то никаких действий клиента не требуется. Доступные действия:

  • Повторное подключение Отключите сеть оператора и подключитесь к ней.

    Повторная регистрация Отключитесь и зарегистрируйтесь в сети оператора.

  • Данных Данные или инструкции, которые необходимо отправить на устройство для активации подключения. Модуль подготовки передает эти данные на устройство как есть. Для CDMA это может включать такие инструкции, как *228 для запуска сеанса программирования OTA и повторного подключения к сети.

Информация о мобильной широкополосной связи

Информация о мобильной широкополосной связи содержит несколько элементов:

MBNProfiles

Определяет сведения о подписчике в сети оператора мобильной связи. Существует два разных профиля, которые можно использовать:

  • 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 поля фирменной символики, подготовленные API ProvisioningAgent, были заменены полями фирменной символики в базе данных COSA. Логотип был заменен значком фирменной символики в COSA, а имяфирменной символикой в COSA.

Логотип и имя больше не будут учитываться при подготовке в Windows 10 версии 1709 и более поздних. API ProvisioningAgent не выдает ошибку, если они используются, но вместо этого следует изменить значок фирменной символики и имя фирменной символики в COSA.

Дополнительные сведения о значке фирменной символики и фирменном имени см. в разделе Параметры базы данных COSA/APN для настольных компьютеров (только параметры COSA для настольных компьютеров).

Фирменная символика позволяет указать, как Windows отображает ваши мобильные широкополосные сети. Эти сведения переопределяют все метаданные службы, если они есть. Если информация не указана, используется содержимое пакета метаданных службы. Элементы фирменной символики:

  • Логотип Файл .PNG or.BMP в кодировке Base64, внедренный в XML. Этот логотип применяется к профилям мобильной широкополосной связи для отображения в списке сетей.

  • Имя Задает отображаемое имя оператора для профилей мобильной широкополосной связи.

Анализ SMS

Вы можете подготовить правила для идентификации текстового сообщения и извлечения сведений как часть XML-файла подготовки. С помощью SMS-сообщений можно обновлять статистику использования данных или инициировать обновление сведений о подготовке. Эти сообщения можно определить с помощью следующего сочетания:

  • Тип носителя (SMS/USSD)

  • Отправитель (только SMS)

  • Регулярное выражение

Дополнительные сведения о SMS-уведомлениях см. в разделе Включение уведомлений оператора мобильной связи и системных событий.

Каждое правило содержит следующие сведения:

  • Молчание Если это значение равно true, сообщение приводит только к событию MobileOperatorNotification . Если это значение равно false, сообщение приводит к событию SmsMessageReceived .

  • Разрешенный отправитель Указывает зарезервированный адрес отправителя, с которого может поступать уведомление. Этот номер должен точно соответствовать номеру отправителя, полученному в SMS-сообщении, включая международный формат.

  • Узор Регулярное выражение для идентификации и при необходимости извлечения полей данных из текстового сообщения. Этот шаблон будет соответствовать всем сообщениям от отправителя: [^]*

  • RuleId Идентификатор этого правила, который передается в мобильное широкополосное приложение в рамках события MobileOperatorNotification . Этот идентификатор позволяет приложению узнать, какое правило заставило SMS активировать событие MobileOperatorNotification, и может уменьшить потребность приложения в повторном анализе сообщения.

  • Поля и группы Каждая захватываемая группа в шаблоне регулярного выражения привязана к именованном полю. Используется для извлечения и преобразования данных в набор пригодных для использования значений. Например, первую группу совпадений можно привязать к полю Использование , а вторую — с полем 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 Year with century, as decimal number (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. Формат раздела аналогичен XML-схеме, используемой API WLAN в машинном коде Windows.

Примечание

Один профиль может содержать несколько идентификаторов SSID, если все остальные параметры совпадают. Если разные сети различаются другими способами (способ проверки подлинности, параметры шифрования, план и т. д.), необходимо создать дополнительные профили.

При указании раздела WLAN необходимо также указать все профили, которые должны быть настроены на компьютере. Если эти профили ссылаться на план данных, необходимо также включить раздел планов. Поведение, которое происходит при обработке этого раздела, выглядит следующим образом:

  • Если на компьютере есть профиль, который больше не указан, он удаляется.

  • Если указать профиль, он обновляется или создается.

  • Пустой раздел WLAN удаляет все профили.

  • Если пропустить раздел WLAN, профили WLAN на компьютере останутся без изменений.

Дополнительным узлом в этом разделе является связанный план. Этот узел позволяет Windows связать профиль WLAN с планом, описанным в разделе планов. План позволяет информировать Windows о состоянии использования сети и влиять на поведение Windows во время подключения компьютера к сети.

Незашифрованная сеть без автоматической проверки подлинности

Этот профиль настраивает Windows для подключения к открытой сети.

  • Если эта сеть содержит скрытый портал, браузер открывается при подключении к сети.

  • Если сеть не содержит скрытый портал, пользователь подключается без дальнейших действий.

<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, указанные имя пользователя и пароль передаются на указанный сервер проверки подлинности.

  • Если скрытый портал не поддерживает WISPr, браузер открывается при подключении к сети.

  • Если сеть не содержит скрытый портал, пользователь подключается без дальнейших действий.

<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-карты в качестве типа проверки подлинности, например сети Hotspot 2.0. Hotspot 2.0 определяет такую сеть для использования WPA2-Enterprise с проверкой подлинности 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>

Незашифрованная сеть, проверка подлинности на основе приложений

Этот профиль настраивает Windows для подключения к открытой сети и использования проверки подлинности WISPr в сотрудничестве с мобильным широкополосным приложением.

  • Если сеть содержит скрытый портал, приложение открывается в фоновом режиме для предоставления учетных данных WISPr. Затем учетные данные отправляются на указанный сервер проверки подлинности.

  • Если скрытый портал не поддерживает WISPr, браузер открывается при подключении к сети.

  • Если сеть не содержит скрытый портал, пользователь подключается без дальнейших действий.

<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 сведений о сети.

Описание

Элементы, которые обычно изменяются с низкой частотой в течение периода подписки клиента, в том числе:

  • Тип плана Тип отношений выставления счетов, которые клиент имеет с оператором:

    • Неограниченный Использование не требует дополнительных затрат.

    • Фиксированной Пользователю выделяется определенный объем использования для фиксированной стоимости.

    • Переменной Пользователь платит в зависимости от использования.

  • SecurityUpdatesExempt Логическое значение, указывающее, учитываются ли обновления для системы безопасности при использовании клиентом.

  • DataLimitInMegabytes Выделенное использование пользователя, если параметр PlanType имеет значение Fixed.

  • BillingCycle Определяет дату и время начала плана, его длительность и то, что происходит в конце период выставления счетов.

  • BandwidthInKbps Скорость подключения пользователя, разрешенная сетью; это может отражать норму для их плана или более низкую ставку, которая в настоящее время налагается перевозчиком из-за заторов или чрезмерного использования (максимум 2 Гбит/с).

  • MaxTransferSizeInMegabytes Целое число, которое выражает размер отдельного скачивания, который должно разрешать соответствующее приложение через лимитное подключение, без явного утверждения пользователем используемого подключения.

  • UserSMSEnabled Указывает, включает ли план поддержку SMS от пользователя к пользователю. Если значение равно true, Windows будет поддерживать подключение устройства к сети в режиме ожидания с подключением, даже если мобильный широкополосный интерфейс не используется. Если задано значение false, Windows может отключать мобильный широкополосный интерфейс для экономии электроэнергии, что приводит к тому, что устройство не может обращаться к сети, когда компьютер находится в режиме простоя.

Использование

Следующие элементы могут изменяться с большей частотой:

  • UsageInMegabytes Последнее использование данных пользователем.

  • OverDataLimit Логическое значение, указывающее, прошел ли пользователь выделенное использование, если planType имеет значение Fixed.

  • Перегруженных Логическое значение, указывающее, применяется ли более низкая скорость подключения, чем обычно, из-за чрезмерного использования. Флаг Перегруженный указывает, что сеть в настоящее время испытывает (или ожидает) большую нагрузку, и передачи с более низким приоритетом следует отложить до другого времени, если это возможно. Этот флаг можно использовать для обозначения таких понятий, как часы пиков или реагирования на перегруженный хот-спот.

Обновить

Обновленные параметры можно отправить на компьютер по мере необходимости из-за изменений в сети или для получения технической поддержки. Windows пытается периодически обновлять данные, предоставленные вами или API подготовки. Обновление можно активировать с помощью SMS-уведомлений от оператора. Чтобы включить обновление, необходимо указать следующие сведения в XML-коде подготовки:

  • TrustedCertificates Список отпечатков сертификатов с доверенными подписями в будущих файлах подготовки.

  • DelayInDays (целое число) дней, до которого не предпринимается попытка обновления.

  • RefreshURL URL-адрес HTTPS для получения последней копии файла подготовки пользователя.

  • UserName & Пароль Необязательные учетные данные, которые должны быть представлены с помощью HTTP-Auth при извлечении файла повторной подготовки. Эти сведения должны быть зашифрованы при хранении.

Кроме того, мобильное широкополосное приложение может в любое время предоставить новый файл подготовки на основе обмена данными между приложением и серверной частью оператора.

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

Сигнатура

Поскольку подготовка изменяет параметры системы, которые сохраняются после выхода пользователя из приложения или удаления приложения, требуется более строгая мера проверки, чем для большинства API. Эта проверка обеспечивается сочетанием оборудования для конкретного оператора (SIM- карты), криптографических подписей и подтверждения пользователя.

Требования к подготовке:

SIM-карта присутствует? Источник подготовки Требование к подписи Требование к подтверждению пользователей
Да, поставщик MB Мобильное широкополосное приложение Нет Нет
Да, поставщик MB Веб-сайт оператора Требуется сертификат:
обратная привязка к доверенному корневому ЦС.
— быть связанным с мобильным широкополосным оборудованием в базе данных APN или метаданных взаимодействия.
Нет
Нет, поставщик Wi-Fi Веб-сайт мобильного широкополосного приложения Требуется сертификат:
обратная привязка к доверенному корневому ЦС.
— быть помеченным для расширенной проверки.
Пользователю будет предложено подтвердить первое использование сертификата; После этого подтверждение не требуется.

Допустимые сочетания

Хотя глобальный узел является единственным узлом первого уровня, который требуется схеме, некоторые сочетания других узлов являются типичными. В этом разделе рассматриваются следующие типичные сочетания:

  • Профили (WLANProfiles, MBNProfiles) + Планы, включая описание и использование Создает или обновляет полный набор профилей, а также применяет к каждому из них сведения о плане и текущем использовании. Если профиль ссылается на план, не указанный в том же файле подготовки, возвращается ошибка, и возвращается предупреждение, если ни один профиль в файле подготовки не ссылается на указанный план.

  • Планы, включая описание и (при необходимости) использование Обновления сведения о планировании существующих профилей на компьютере, но не изменяют профили на компьютере. Если профиль на компьютере не ссылается на указанный план, возвращается предупреждение.

  • Планы, включающие только использование, Обновления сведения об использовании в существующих профилях на компьютере, но не изменяют профили или описание плана, связанного с каждым профилем.

Распространенные сценарии

Ниже приведены некоторые распространенные сценарии, которые могут потребоваться при создании метаданных подготовки.

Поиск схемы подготовки учетной записи

Схемы XSD доступны в разделе %SYSTEMROOT%\schemas\provisioning на любом компьютере под управлением Windows 8, Windows 8.1 или Windows 10.

Применение XML-кода подготовки к устройству

XML-файл подготовки можно применить к устройству с помощью мобильного широкополосного приложения, приложения UWP или веб-сайта.

Подготовка из мобильного широкополосного приложения:

  1. Создайте экземпляр ProvisioningAgent (с помощью Windows.Networking.NetworkOperators.ProvisioningAgent.CreateFromNetworkAccountId).

  2. Вызовите ProvisionFromXmlDocumentAsync, передав XML-документ подготовки без знака.

Асинхронная операция завершена и возвращаются результаты операции подготовки.

Подготовка из приложения UWP, отличного от мобильного широкополосного приложения:

  1. Создайте подписанный XML-документ подготовки учетной записи.

  2. Создайте экземпляр ProvisioningAgent (с помощью конструктора по умолчанию).

  3. Вызовите ProvisionFromXmlDocumentAsync, передав подписанный XML-документ.

Асинхронная операция завершается и возвращаются результаты операции подготовки.

С веб-сайта:

  1. Создайте подписанный XML-документ подготовки учетной записи.

  2. Вызовите window.external.msProvisionNetworks, передав подписанный XML-документ.

Операция завершается и возвращаются результаты операции подготовки.

Подготовка устройства для автоматического подключения к мобильной широкополосной сети

XML-документ подготовки можно определить с помощью раздела 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>

Примечание

Дочерние элементы DefaultProfile являются обязательными. Дополнительные сведения см. в справочнике по xml-схеме подготовки.

Подготовка устройства для автоматического подключения к Wi-Fi сети

XML-документ подготовки можно определить с помощью раздела 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>

Дочерние элементы MSM определяют способ подключения к сети. Сюда входит любая необходимая конфигурация EAP. Поддерживаются все дочерние элементы элемента MSM в схеме WLAN_profile . Дополнительные сведения см. в справочнике по xml-схеме подготовки.

Подготовка устройства для автоматического подключения к хот-споту с поддержкой WISPr

Для включения проверки подлинности с помощью хот-спота можно использовать один из следующих двух способов:

  1. Непосредственно объявите учетные данные с помощью директивы 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. Перенаправление в приложение для проверки подлинности с помощью директивы 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>
    

По возможности следует напрямую определять учетные данные. Перенаправление в другое приложение имеет силу и сложность.

Отправка активации на мобильное широкополосное устройство

Произвольный большой двоичный объект (BLOB), содержащийся в элементе CarrierSpecificData , может быть закодирован в Кодировке Base64 и отправлен на устройство с помощью ProvisioningAgent. Это можно сделать с помощью директивы Activation<ServiceActivatation> в 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>
  <Activation>
    <ServiceActivation xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1">
      <CarrierSpecificData>YXJiaXRyYXJ5ZGF0YQ==</CarrierSpecificData>
    </ServiceActivation>
  </Activation>
</CarrierProvisioning>

Этот метод эквивалентен вызову метода IMbnVendorSpecificOperation::SetVendorSpecific API мобильной широкополосной связи и передаче 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-сообщения

Это достигается одним из следующих способов.

  • Укажите сообщение оператора, получите уведомление оператора, прочтите сообщение с помощью API SMS, выполните синтаксический анализ сообщения в приложении, а затем задайте использование с помощью 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>

журналы событий;

События в канале Application and Services Logs\Microsoft\Windows\NetworkProvisioning\Operational могут предоставлять подробные отзывы о сбоях подготовки.

Модуль подготовки PowerShellTestHelper

Модуль ProvisioningTestHelper можно импортировать из пакетов SDK для Windows 8, Windows 8.1 и Windows 10. С помощью этого модуля можно создавать и устанавливать сертификаты EV, подписывать XML-файл с помощью установленного сертификата и проверять XML-код на соответствие схеме подготовки. Чтобы импортировать модуль в сеанс PowerShell, введите следующую команду:

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

Где <path_to_sdk\bin\<arch>> — это расположение установки пакета SDK для Windows 8, Windows 8.1 или Windows 10, соответствующее архитектуре компьютера.

После импорта этого модуля доступны следующие четыре командлета PowerShell:

  • Install-TestEVCert Создает новый сертификат ЦС, регистрирует его на тестовом компьютере в качестве доверенного поставщика SSL ev и использует его для создания и установки сертификата EV для использования при входе. Чтобы установить сертификаты, этот командлет необходимо выполнить только один раз. С помощью сертификатов можно подписать любое количество файлов.

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

    Сертификат клиента имеет имя, указанное в команде , а корневой сертификат добавляется в него вместе с именем сертификата клиента. Параметр -CertName является необязательным. Если параметр –CertName не указан, используется MBAPTestCert .

    Параметр -RootCertOutputPath также необязателен. Его следует использовать, если вы хотите экспортировать корневой сертификат, который будет установлен на другом компьютере с помощью командлета Install-RootCertFromFile.

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