CSP CMPolicy

A tabela abaixo mostra a aplicabilidade do Windows:

Edição Windows 10 Windows 11
Home Sim Sim
Pro Sim Sim
Windows SE Não Sim
Negócios Sim Sim
Enterprise Sim Sim
Educação Sim Sim

O provedor de serviços de configuração CMPolicy define regras que o Gerenciador de Conexões usa para identificar a conexão correta para uma solicitação de conexão.

Observação

Esse provedor de serviços de configuração requer que os recursos ID_CAP_CSP_FOUNDATION e ID_CAP_NETWORKING_ADMIN sejam acessados de um aplicativo de configuração de rede.

Cada entrada de política identifica um ou mais aplicativos em combinação com um padrão de host. A entrada da política recebe uma lista de detalhes de conexão que Gerenciador de Conexões usa para atender às solicitações de conexão que correspondem aos padrões de aplicativo e host. O provedor de serviços de configuração do CMPolicy pode ter várias políticas

Ordenação de políticas: não há nenhuma ordenação explícita de políticas. A regra geral é que os mapeamentos de política mais concretos ou específicos têm uma precedência maior.

Políticas padrão: as políticas são aplicadas em ordem de seu escopo com as políticas mais específicas consideradas antes das políticas mais gerais. O comportamento padrão do telefone se aplica a todos os aplicativos e a todos os domínios e só é usado quando nenhuma outra política mais específica está disponível. A política padrão é usar qualquer Wi-Fi rede disponível primeiro e, em seguida, qualquer APN disponível.

A seguir, mostra o objeto de gerenciamento do provedor de serviços de configuração CMPolicy no formato de árvore, conforme usado pelo Provisionamento de Clientes do Open Mobile Alliance (OMA) e Gerenciamento de Dispositivos de OMA.

./Vendor/MSFT
CMPolicy
----PolicyName
--------SID
--------ClientType
--------Host
--------OrderedConnections
--------Connections
------------ConnXXX
----------------ConnectionID
----------------Type

Policyname Define o nome da política.

SID O valor do SID depende do ClientType.

Para políticas de mapeamento baseadas em aplicativo Plataforma Universal do Windows (UWP), SID é o nome da família Package sem colchetes {}encaracolados , não o aplicativo.

Para políticas de mapeamento não baseadas em aplicativo UWP, o SID é a ID do produto de aplicativo no formato GUID. Os colchetes {} encaracolados ao redor do GUID são necessários.

Para políticas de mapeamento baseadas em host, o SID deve ser definido como *.

ClientType Especifica o tipo de política de mapeamento.

A lista a seguir descreve os tipos de política de mapeamento disponíveis:

  • As políticas de mapeamento baseadas em aplicativo são aplicadas a aplicativos. Para especificar esse tipo de mapeamento, use o valor app.

  • As políticas de mapeamento baseadas em host são aplicadas a todos os tipos de clientes que solicitam conexões aos hostes especificados. Para especificar esse tipo de mapeamento, use o valor *.

Host Especifica o nome de um padrão de host. O nome do host é correspondido à solicitação de conexão para selecionar a política certa a ser usada.

O padrão de host pode ter dois curingas * e +. O padrão de host não é um padrão de URL e não há nenhum conceito de transporte ou caminhos no host específico. Por exemplo, o padrão de host pode ser *.host_name.com para corresponder qualquer prefixo com os host_name.com domínios. O padrão de host corresponderá www.host_name.com e mail.host_name.com, mas não corresponderá host_name.com.

OrderedConnections Especifica se a lista de conexões está em ordem de preferência.

Um valor de "0" especifica que as conexões não estão listadas em ordem de preferência. Um valor de "1" indica que as conexões listadas estão em ordem de preferência.

O ConnXXX enumera as conexões associadas à política. Os nomes dos elementos começam com "Conn" seguidos por três dígitos, que incrementam a partir de "000". Por exemplo, uma política, que se aplicava a cinco conexões, teria entradas de elementos chamadas "Conn000", "Conn001", "Conn002", "Conn003" e "Conn004".

Connectionid Especifica um identificador exclusivo para uma conexão dentro de um grupo de conexões. O valor exato é baseado no parâmetro Type.

Para CMST_CONNECTION_NAME, especifique o nome da conexão. Por exemplo, se você tiver uma conexão configurada usando o provedor de serviços de configuração CM_CellularEntries, o nome da conexão poderá ser o nome da conexão. Se você tiver um NAP configurado com o NAPID definido como "GPRS1", o nome da conexão poderá ser "GPRS1@WAP".

Para CMST_CONNECTION_TYPE, especifique o GUID para o tipo de conexão desejado. Os colchetes {} encaracolados ao redor do GUID são necessários. Os seguintes tipos de conexão estão disponíveis:

Tipo de conexão GUID
GSM {A05DC613-E393-40ad-AA89-CCCE04277CD9}
CDMA {274AD55A-4A70-4E35-93B3-AE2D2E6727FC}
Herdado 3GPP {6DE4C04B-B74E-47FA-99E5-8F2097C06A92}
LTE {2378E547-8312-46A5-905E-5C581E92693B}
Wi-Fi {8568B401-858E-4B7B-B3DF-0FD4927F131B}
Wi-Fi hotspot {072FC7DC-1D93-40D1-9BB0-2114D7D7D73434}

Para CMST_CONNECTION_NETWORK_TYPE, especifique o GUID para o tipo de rede desejado. Os colchetes {} encaracolados ao redor do GUID são necessários. Os seguintes tipos de rede estão disponíveis:

Tipo de rede GUID
GPRS {AFB7D659-FC1F-4EA5-BDD0-0FDA62676D96}
1XRTT {B1E700AE-A62F-49FF-9BBE-B880C995F27D}
EDGE {C347F8EC-7095-423D-B838-7C7A7F38CD03}
WCDMA UMTS {A72F04C6-9BE6-4151-B5EF-15A53E12C482}
WCDMA FOMA {B8326098-F845-42F3-804E-8CC3FF7B50B4}
1XEVDO {DD42DF39-EBDF-407C-8146-1685416401B2}
1XEVDV {61BF1BFD-5218-4CD4-949C-241CA3F326F6}
HSPA HSDPA {047F7282-BABD-4893-AA77-B8B312657F8C}
HSPA HSUPA {1536A1C6-A4AF-423C-8884-6BDDA3656F84}
LTE {B41CBF43-6994-46FF-9C2F-D6CA6D45889B}
EHRPD {7CFA04A5-0F3F-445C-88A4-C86ED2AD94EA}
Ethernet 10 Mbps {97D3D1B3-854A-4C32-BD1C-C13069078370}
Ethernet 100 Mbps {A8F4FE66-8D04-43F5-9DD2-2A85BD21029B}
Ethernet Gbps {556C1E6B-B8D4-448E-836D-9451BA4CCE75}

Para CMST_CONNECTION_DEVICE_TYPE, especifique o GUID para o tipo de dispositivo desejado. Os colchetes {} encaracolados ao redor do GUID são necessários. Os seguintes tipos de dispositivo estão disponíveis:

Tipo de dispositivo GUID
Dispositivo celular {F9A53167-4016-4198-9B41-86D9522DC019}
Ethernet {97844272-00C7-4572-B20A-D8D861C095F2}
Bluetooth {1D793123-701A-4fd0-B6AE-9C3C57E99C2C}
Virtual {EAA02CE5-9C70-4E87-97FE-55C9DEC847D4}

Tipo Especifica o tipo de conexão que está sendo referenciada. A lista a seguir descreve os tipos de conexão disponíveis:

  • CMST_CONNECTION_NAME – uma conexão especificada pelo nome.

  • CMST_CONNECTION_TYPE – Qualquer conexão de um tipo especificado.

  • CMST_CONNECTION_NETWORK_TYPE – Qualquer conexão de um tipo de rede especificado.

  • CMST_CONNECTION_DEVICE_TYPE – Qualquer conexão do tipo de dispositivo especificado.

Exemplos de provisionamento de cliente OMA

Adicionando uma política de mapeamento baseada em aplicativo. Neste exemplo, o ConnectionId para tipo CMST_CONNECTION_NAME é definido como o nome da conexão ("GPRSConn1") configurada com o provedor de serviços de configuração CM_CellularEntries.

<wap-provisioningdoc>

   <characteristic type="CM_CellularEntries">
       <characteristic type="GPRSConn1">
          <parm name="ConnectionType" value="gprs" />
             <characteristic type="DevSpecificCellular">
                <parm name="GPRSInfoAccessPointName" value="apn.adatum.com" />
         </characteristic>
          <parm name="AlwaysOn" value="0" />
          <parm name="Enabled" value="1" />
       </characteristic>
    </characteristic>

   <characteristic type="CMPolicy">
      <characteristic type="Policy1">
       <parm name="SID" value="{A05D1234-F393-9385-AA89-CD3E049367D2}" />
       <parm name="ClientType" value="app" />
       <parm name="Host" value="*.+" />
       <parm name="OrderedConnections" value="1" />
       <characteristic type="Connections">
           <characteristic type="Conn000">
               <parm name="Type" value="CMST_CONNECTION_DEVICE_TYPE" />
               <parm name="ConnectionId" value="{F9A53167-4016-4198-9B41-86D9522DC019}" />
           </characteristic>
           <characteristic type="Conn001">
               <parm name="Type" value="CMST_CONNECTION_NETWORK_TYPE" />
               <parm name="ConnectionId" value="{AFB7D659-FC1F-4EA5-BDD0-0FDA62676D96}" />
           </characteristic>
           <characteristic type="Conn002">
               <parm name="Type" value="CMST_CONNECTION_NAME" />
               <parm name="ConnectionId" value="GPRSConn1" />
           </characteristic>
           <characteristic type="Conn003">
              <parm name="Type" value="CMST_CONNECTION_TYPE" />
              <parm name="ConnectionId" value="{072FC7DC-1D93-40d1-9BB0-2114D7D73434}" />
           </characteristic>
       </characteristic>
      </characteristic>
    </characteristic>
</wap-provisioningdoc>

Adicionando uma política de mapeamento baseada em host:

Neste exemplo, o ConnectionId para tipo CMST_CONNECTION_NAME é definido como o nome da conexão ("GPRSConn1") configurada com o provedor de serviços de configuração CM_CellularEntries.

<wap-provisioningdoc>

   <characteristic type="CM_CellularEntries">
       <characteristic type="GPRSConn1">
          <parm name="ConnectionType" value="gprs" />
             <characteristic type="DevSpecificCellular">
                <parm name="GPRSInfoAccessPointName" value="apn.adatum.com" />
         </characteristic>
          <parm name="AlwaysOn" value="0" />
          <parm name="Enabled" value="1" />
       </characteristic>
    </characteristic>

   <characteristic type="CMPolicy">
      <characteristic type="Policy3">
       <parm name="SID" value="*" />
       <parm name="ClientType" value="*" />
       <parm name="Host" value="*.contoso.com" />
       <parm name="OrderedConnections" value="1" />
       <characteristic type="Connections">
           <characteristic type="Conn000">
               <parm name="Type" value="CMST_CONNECTION_DEVICE_TYPE" />
               <parm name="ConnectionId" value="{F9A53167-4016-4198-9B41-86D9522DC019}" />
           </characteristic>
           <characteristic type="Conn001">
               <parm name="Type" value="CMST_CONNECTION_NETWORK_TYPE" />
               <parm name="ConnectionId" value="{AFB7D659-FC1F-4EA5-BDD0-0FDA62676D96}" />
           </characteristic>
           <characteristic type="Conn002">
               <parm name="Type" value="CMST_CONNECTION_NAME" />
               <parm name="ConnectionId" value="GPRSConn1" />
           </characteristic>
           <characteristic type="Conn003">
               <parm name="Type" value="CMST_CONNECTION_TYPE" />
               <parm name="ConnectionId" value="{072FC7DC-1D93-40d1-9BB0-2114D7D73434}" />
           </characteristic>
       </characteristic>
      </characteristic>
    </characteristic>

</wap-provisioningdoc>

Exemplos de DM OMA

Adicionando uma política de mapeamento baseada em aplicativo:

<SyncML>
    <SyncBody>
        <Atomic>
    <CmdID>8000</CmdID>
    <Add>
        <CmdID>8051</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy4/SID</LocURI>
            </Target>
            <Data>{A05D1234-F393-9385-AA89-CD3E049367D2}</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8052</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy4/ClientType</LocURI>
            </Target>
            <Data>app</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8053</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy4/Host</LocURI>
            </Target>
            <Data>*.+</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8054</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy4/OrderedConnections</LocURI>
            </Target>
            <Data>1</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8055</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy4/Connections/Conn000/ConnectionId</LocURI>
            </Target>
            <Data>{A05DC613-E393-40AD-AA89-CCCE04277CD9}</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8056</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy4/Connections/Conn000/Type</LocURI>
            </Target>
            <Data>CMST_CONNECTION_DEVICE_TYPE</Data>
        </Item>
    </Add>
        </Atomic>
        <Final/>
    </SyncBody>
</SyncML>

Adicionando uma política de mapeamento baseada em host:

<SyncML>
    <SyncBody>
        <Atomic>
    <CmdID>8000</CmdID>
    <Add>
        <CmdID>8049</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy6/SID</LocURI>
            </Target>
            <Data>*</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8050</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy6/ClientType</LocURI>
            </Target>
            <Data>*</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8051</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy6/Host</LocURI>
            </Target>
            <Data>*.contoso.com</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8052</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy6/OrderedConnections</LocURI>
            </Target>
            <Data>1</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8053</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy6/Connections/Conn000/ConnectionId</LocURI>
            </Target>
            <Data>{AFB7D659-FC1F-4EA5-BDD0-0FDA62676D96}</Data>
        </Item>
    </Add>
    <Add>
        <CmdID>8054</CmdID>
        <Item>
            <Target>
                <LocURI>./Vendor/MSFT/CMPolicy/BTHPolicy6/Connections/Conn000/Type</LocURI>
            </Target>
            <Data>CMST_CONNECTION_NETWORK_TYPE</Data>
        </Item>
    </Add>
        </Atomic>
        <Final/>
    </SyncBody>
</SyncML>

Elementos personalizados da Microsoft

Elemento Disponível
parm-query Sim
Incaracterística Sim
characteristic-query Sim

Consulta recursiva: Sim

Consulta de nível superior: Sim

Referência de provedor de serviços de configuração