Compartilhar via


CSP AssignedAccess

O fornecedor de serviços de configuração (CSP) AssignedAccess é utilizado para configurar uma experiência de utilizador restrita ou de quiosque. Assim que o CSP for executado, o próximo início de sessão do utilizador associado ao perfil de Acesso Atribuído coloca o dispositivo no modo de quiosque especificado na configuração do CSP.

Para saber mais sobre como configurar o Acesso Atribuído, veja Configurar quiosques e experiências de utilizador restritas.

A lista seguinte mostra os nós do fornecedor de serviços de configuração AssignedAccess:

Configuração

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1709 [10.0.16299] e posterior
./Vendor/MSFT/AssignedAccess/Configuration

Este nó aceita um xml AssignedAccessConfiguration como entrada.

Para saber como configurar o ficheiro xml, veja Criar um ficheiro XML de configuração de Acesso Atribuído

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia)
Tipo de acesso Adicionar, Excluir, Obter, Substituir

Exemplos:

  • Obter Configuração

    <SyncML xmlns='SYNCML:SYNCML1.2'>
       <SyncBody>
           <Get>
               <CmdID>2</CmdID>
               <Item>
                   <Target>
                       <LocURI>./Device/Vendor/MSFT/AssignedAccess/Configuration</LocURI>
                   </Target>
               </Item>
           </Get>
           <Final />
       </SyncBody>
    </SyncML>
    
  • Eliminar Configuração

    <SyncML xmlns='SYNCML:SYNCML1.2'>
       <SyncBody>
           <Delete>
               <CmdID>2</CmdID>
               <Item>
                   <Target>
                       <LocURI>./Device/Vendor/MSFT/AssignedAccess/Configuration</LocURI>
                   </Target>
               </Item>
           </Delete>
           <Final />
       </SyncBody>
    </SyncML>
    

KioskModeApp

Observação

Esta política foi preterida e poderá ser removida numa versão futura.

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1507 [10.0.10240] e posterior
./Vendor/MSFT/AssignedAccess/KioskModeApp

Este nó pode aceitar e devolver a cadeia json, que é composta pelo nome da conta, e AUMID para a aplicação de modo de local público.

Exemplo: {"User":"domain\\user", "AUMID":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}.

Ao configurar a aplicação de modo de quiosque, o nome da conta será utilizado para localizar o utilizador de destino. O nome da conta inclui o nome de domínio e o nome de utilizador. O nome de domínio pode ser opcional se o nome de utilizador for exclusivo em todo o sistema. Para uma conta local, o nome de domínio deve ser o nome do computador. Quando "Get" é executado neste nó, o nome de domínio é sempre devolvido na saída.

Este nó suporta os métodos Adicionar, Eliminar, Substituir e Obter. Quando não existe configuração, os métodos "Obter" e "Eliminar" falham. Quando já existe uma configuração para a aplicação de modo de quiosque, o método "Adicionar" falha. O padrão de dados para "Adicionar" e "Substituir" é o mesmo.

Dica

No exemplo acima, o duplo \\ é necessário porque está em JSON e JSON entra \\ em \. Se um servidor MDM utilizar o analisador\compositor JSON, deverá pedir aos clientes para escreverem apenas um \, que estará \\ no JSON. Se o utilizador escrever \\, tornar-se-á \\\\ em JSON, o que causará resultados erróneos. Pelo mesmo motivo, domain\user utilizado em Configuração xml não precisa \\ , mas apenas um \, porque xml não escapa (precisa) \de .

Isto aplica-se a , domain\user, AzureAD\someone@contoso.onmicrosoft.comdesde que um \ seja utilizado na cadeia JSON.

Para obter mais informações sobre como obter o AUMID, veja Localizar o ID do Modelo de Utilizador da Aplicação de uma aplicação instalada.

Importante

  • No Windows 10, versão 1803, o nó Configuração introduziu o perfil de quiosque de aplicação única para substituir o nó KioskModeApp CSP. O nó KioskModeApp será preterido em breve, pelo que deve utilizar o perfil de quiosque de aplicação única no xml de configuração do nó Configuração para configurar o Quiosque de aplicação única destinado ao público.
  • Além disso, a partir do Windows 10, versão 1803, o nó KioskModeApp torna-se No-Op se o nó Configuração estiver configurado no dispositivo. Os comandos Adicionar/Substituir/Eliminar no nó KioskModeApp devolvem sempre ÊXITO ao servidor MDM se o nó de Configuração estiver definido, mas os dados do KioskModeApp não produzirão qualquer efeito no dispositivo. Obter o comando no KioskModeApp irá devolver a cadeia JSON configurada, mesmo que não seja eficaz.
  • Não pode definir o KioskModeApp e o ShellLauncher ao mesmo tempo no dispositivo.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia)
Tipo de acesso Adicionar, Excluir, Obter, Substituir

Exemplos:

  • Adicionar KioskModeApp

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Add>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Device/Vendor/MSFT/AssignedAccess/KioskModeApp</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>{"Account":"Domain\\AccountName","AUMID":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}</Data>
                </Item>
            </Add>
            <Final />
        </SyncBody>
    </SyncML>
    
  • Eliminar KioskModeApp

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Delete>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Device/Vendor/MSFT/AssignedAccess/KioskModeApp</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final />
        </SyncBody>
    </SyncML>
    
  • Obter KioskModeApp

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Get>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Device/Vendor/MSFT/AssignedAccess/KioskModeApp</LocURI>
                    </Target>
                </Item>
            </Get>
            <Final />
        </SyncBody>
    </SyncML>
    
  • Substituir KioskModeApp

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Replace>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Device/Vendor/MSFT/AssignedAccess/KioskModeApp</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>{"Account":"Domain\\AccountName","AUMID":"Microsoft.WindowsAlarms_8wekyb3d8bbwe!App"}</Data>
                </Item>
            </Replace>
            <Final />
        </SyncBody>
    </SyncML>
    

ShellLauncher

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ❌
Corporativo ✅
Educação ✅
Windows SE ❌
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1803 [10.0.17134] e posterior
./Vendor/MSFT/AssignedAccess/ShellLauncher

Este nó aceita um xml ShellLauncherConfiguration como entrada.

Para saber mais sobre o Shell Launcher, consulte O que é o Shell Launcher?.

Importante

Não pode definir ShellLauncher e KioskModeApp ao mesmo tempo no dispositivo.

Observação

Configurar o Iniciador de Shell com o nó ShellLauncher ativa automaticamente a funcionalidade Do Shell Launcher, se estiver disponível no SKU.

O Shell Launcher como uma funcionalidade e o nó ShellLauncher requerem que o Windows Enterprise ou o Windows Education funcionem. O nó ShellLauncher não é suportado no Windows 10 Pro.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia)
Tipo de acesso Adicionar, Excluir, Obter, Substituir

Eis o artigo de referência XSD do Iniciador de Shell: Definição de Esquema XML (XSD) do Iniciador de Shell.

Exemplos:

  • Adicionar

    <SyncML xmlns='SYNCML:SYNCML1.2'>
      <SyncBody>
        <Add>
          <CmdID>2</CmdID>
          <Item>
            <Target>
              <LocURI>./Device/Vendor/MSFT/AssignedAccess/ShellLauncher</LocURI>
            </Target>
            <Meta>
              <Format xmlns="syncml:metinf">chr</Format>
            </Meta>
            <Data>
            <![CDATA[
            <!-- Add your XML configuration. For more information, see the Shell Launcher XSD reference article. -->
            ]]>
            </Data>
          </Item>
        </Add>
        <Final />
      </SyncBody>
    </SyncML>
    
  • Obter

    <SyncML xmlns='SYNCML:SYNCML1.2'>
      <SyncBody>
        <Get>
          <CmdID>2</CmdID>
          <Item>
            <Target>
              <LocURI>./Device/Vendor/MSFT/AssignedAccess/ShellLauncher</LocURI>
            </Target>
          </Item>
        </Get>
        <Final />
      </SyncBody>
    </SyncML>
    

Status

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1803 [10.0.17134] e posterior
./Vendor/MSFT/AssignedAccess/Status

Este nó só de leitura contém o xml do evento de estado de funcionamento do quiosque.

Isto permite que o servidor MDM consulte o KioskModeAppRuntimeStatus atual, desde que o nó StatusConfiguration esteja definido como "Ativado" ou "OnWithAlerts". Se StatusConfiguration estiver "Desativado", será comunicado um erro "nó não encontrado" ao servidor MDM.

A partir de Windows 10, versão 1809, o runtime de Acesso Atribuído status suporta a monitorização de modos de quiosque de aplicação única e de várias aplicações. Eis os códigos de status possíveis:

Código de Estado Status Descrição
0 Desconhecido Status desconhecido.
1 Running A conta AssignedAccess (quiosque ou várias aplicações) está a ser executada normalmente.
2 AppNotFound A aplicação de quiosque não está implementada no computador.
3 Falha na Ativação A conta AssignedAccess (quiosque ou várias aplicações) não conseguiu iniciar sessão.
4 AppNoResponse A aplicação de quiosque foi iniciada com êxito, mas agora não responde.

Além disso, o payload Estado inclui os seguintes campos:

  • profileId: pode ser utilizado pelo servidor MDM para correlacionar a conta que causou o erro.
  • OperationList: fornece a lista de operações falhadas que ocorreram ao aplicar o CSP de acesso atribuído, se existir alguma.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia)
Tipo de acesso Obter

AssignedAccessAlert XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema
    elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/AssignedAccess/2018/AssignedAccessAlert"
    xmlns:default="http://schemas.microsoft.com/AssignedAccess/2018/AssignedAccessAlert"
    targetNamespace="http://schemas.microsoft.com/AssignedAccess/2018/AssignedAccessAlert"
    >

    <xs:simpleType name="status_t">
        <xs:restriction base="xs:int">
            <xs:enumeration value="0"/> <!-- Unknown -->
            <xs:enumeration value="1"/> <!-- Running -->
            <xs:enumeration value="2"/> <!-- AppNotFound -->
            <xs:enumeration value="3"/> <!-- ActivationFailed -->
            <xs:enumeration value="4"/> <!-- AppNoResponse -->
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="guid_t">
        <xs:restriction base="xs:string">
            <xs:pattern value="\{[0-9a-fA-F]{8}\-([0-9a-fA-F]{4}\-){3}[0-9a-fA-F]{12}\}"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="operation_t">
        <xs:sequence minOccurs="1" maxOccurs="1">
            <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
            <xs:element name="errorCode" type="xs:int" minOccurs="1" maxOccurs="1"/>
            <xs:element name="data" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="operationlist_t">
        <xs:sequence minOccurs="1" maxOccurs="1">
            <xs:element name="Operation" type="operation_t" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="event_t">
        <xs:sequence minOccurs="1" maxOccurs="1">
            <xs:element name="status" type="status_t" minOccurs="1" maxOccurs="1"/>
            <xs:element name="profileId" type="guid_t" minOccurs="1" maxOccurs="1"/>
            <xs:element name="errorCode" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="OperationList" type="operationlist_t" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="Name" type="xs:string" use="required"/>
    </xs:complexType>

    <xs:element name="Events">
        <xs:complexType>
            <xs:choice minOccurs="1" maxOccurs="1">
                <xs:element name="Event" type="event_t" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>

Exemplo:

<SyncML xmlns='SYNCML:SYNCML1.2'>
   <SyncBody>
       <Get>
           <CmdID>2</CmdID>
           <Item>
               <Target>
                 <LocURI>./Device/Vendor/MSFT/AssignedAccess/Status</LocURI>
               </Target>
           </Item>
       </Get>
       <Final />
   </SyncBody>
</SyncML>

StatusConfiguration

Escopo Edições Sistema operacional aplicável
Dispositivo ✅
Usuário ❌
Pro ✅
Corporativo ✅
Educação ✅
Windows SE ✅
Empresa de Internet das Coisas / LTSC Empresa Internet das Coisas ✅
✅Windows 10, versão 1803 [10.0.17134] e posterior
./Vendor/MSFT/AssignedAccess/StatusConfiguration

Este nó aceita um xml StatusConfiguration como entrada.

Existem três valores possíveis para StatusEnabled no nó StatusConfiguration xml:

  • Ativado
  • OnWithAlerts
  • Desativado

Por predefinição, o nó StatusConfiguration não existe e implica que esta funcionalidade está desativada. Depois de ativado através do CSP, o Acesso Atribuído marcar aplicação de quiosque status e aguardará que o servidor MDM consulte a status mais recente a partir do nó Estado. Opcionalmente, o servidor MDM pode optar ativamente por participar no alerta de MDM para que seja gerado um alerta mdm e enviado imediatamente para o servidor MDM quando o runtime de acesso atribuído status for alterado. Este alerta mdm irá conter o payload status que está disponível através do nó Estado. Este cabeçalho de alerta mdm é definido da seguinte forma:

  • MDMAlertMark: Critical
  • MDMAlertType: com.microsoft.mdm.assignedaccess.status
  • MDMAlertDataType: string
  • Origem: ./Vendor/MSFT/AssignedAccess
  • Destino: N/A

Observação

O alerta MDM só é enviado para erros.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia)
Tipo de acesso Adicionar, Excluir, Obter, Substituir

StatusConfiguration XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema
    elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/AssignedAccess/2018/StatusConfiguration"
    xmlns:default="http://schemas.microsoft.com/AssignedAccess/2018/StatusConfiguration"
    targetNamespace="http://schemas.microsoft.com/AssignedAccess/2018/StatusConfiguration"
    >

    <xs:simpleType name="status_enabled_t">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Off"/>
            <xs:enumeration value="On"/>
            <xs:enumeration value="OnWithAlerts"/>
        </xs:restriction>
    </xs:simpleType>

    <!--below is the definition of the config xml content-->
    <xs:element name="StatusConfiguration">
        <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="1">
                <xs:element name="StatusEnabled" type="status_enabled_t" minOccurs="1" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Exemplos:

  • Adicionar StatusConfiguration com StatusEnabled definido como OnWithAlerts

    <SyncML xmlns='SYNCML:SYNCML1.2'>
      <SyncBody>
        <Add>
          <CmdID>2</CmdID>
          <Item>
            <Target>
              <LocURI>./Device/Vendor/MSFT/AssignedAccess/StatusConfiguration</LocURI>
            </Target>
            <Meta>
              <Format xmlns="syncml:metinf">chr</Format>
            </Meta>
            <Data>
              <![CDATA[
              <?xml version="1.0" encoding="utf-8" ?>
              <StatusConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2018/StatusConfiguration">
                <StatusEnabled>OnWithAlerts</StatusEnabled>
              </StatusConfiguration>
              ]]>
            </Data>
          </Item>
        </Add>
        <Final />
      </SyncBody>
    </SyncML>
    
  • Eliminar EstadoConfiguração

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Delete>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                      <LocURI>./Device/Vendor/MSFT/AssignedAccess/StatusConfiguration</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final />
        </SyncBody>
    </SyncML>
    
  • Obter StatusConfiguration

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Get>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                      <LocURI>./Device/Vendor/MSFT/AssignedAccess/StatusConfiguration</LocURI>
                    </Target>
                </Item>
            </Get>
            <Final />
        </SyncBody>
    </SyncML>
    
  • Substituir StatusEnabled valor por Ativado

    <SyncML xmlns='SYNCML:SYNCML1.2'>
      <SyncBody>
        <Replace>
          <CmdID>2</CmdID>
          <Item>
            <Target>
              <LocURI>./Device/Vendor/MSFT/AssignedAccess/StatusConfiguration</LocURI>
            </Target>
            <Meta>
              <Format xmlns="syncml:metinf">chr</Format>
            </Meta>
            <Data>
              <![CDATA[
              <?xml version="1.0" encoding="utf-8" ?>
              <StatusConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2018/StatusConfiguration">
                <StatusEnabled>On</StatusEnabled>
              </StatusConfiguration>
              ]]>
            </Data>
          </Item>
        </Replace>
        <Final />
      </SyncBody>
    </SyncML>
    

AssignedAccessConfiguration XSD

Eis o artigo de referência XSD de Acesso Atribuído: Definição de Esquema XML (XSD) de Acesso Atribuído.

Para obter exemplos práticos de ficheiros de configuração do Acesso Atribuído, veja Exemplos de Acesso Atribuído.

Processar XML na Configuração

A codificação XML (escapada) e o CDATA do XML no nó Dados irão garantir que o cliente DM consegue interpretar corretamente o SyncML e enviar o xml de configuração como cadeia (no formato original, não paisagens) para o CSP AssignedAccess para processar.

Da mesma forma, o xml StartLayout dentro do xml de configuração está a utilizar o mesmo formato, xml dentro de xml como cadeia. No xml de Configuração de exemplo indicado acima, o CDATA é utilizado para incorporar o xml StartLayout. Se também utilizar o CDATA para incorporar o xml de configuração no SyncML, tem o CDATA aninhado, pelo que tenha atenção à forma como o CDATA é utilizado no exemplo de CDATA fornecido. Dito isto, quando o xml de Configuração está a ser construído, o servidor MDM pode escapar ao esquema de início de escape xml ou colocar o xml startlayout dentro do CDATA, quando o servidor MDM coloca o xml de configuração dentro do SyncML, o servidor MDM também pode escapar ou encapsular com CDATA.

Escape e CDATA são mecanismos utilizados ao processar xml em xml. Considere que é um canal de transporte para enviar o xml de configuração como payload do servidor para o cliente. É transparente para ambos, o utilizador final que configura o CSP e para o nosso CSP. Tanto o cliente do lado do servidor como o nosso CSP só têm de ver o XML de configuração original.

  • Este exemplo mostra o XML de escape do nó Dados.

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Add>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Device/Vendor/MSFT/AssignedAccess/Configuration</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>
                        &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
    &lt;AssignedAccessConfiguration xmlns=&quot;http://schemas.microsoft.com/AssignedAccess/2017/config&quot;&gt;
        &lt;Profiles&gt;
            &lt;Profile Id=&quot;{9A2A490F-10F6-4764-974A-43B19E722C23}&quot;&gt;
                &lt;AllAppsList&gt;
                    &lt;AllowedApps&gt;
                        &lt;App DesktopAppPath=&quot;C:\Windows\System32\notepad.exe&quot; /&gt;
                    &lt;/AllowedApps&gt;
                &lt;/AllAppsList&gt;
                &lt;StartLayout&gt;
                    &lt;![CDATA[&lt;LayoutModificationTemplate xmlns:defaultlayout=&quot;http://schemas.microsoft.com/Start/2014/FullDefaultLayout&quot; xmlns:start=&quot;http://schemas.microsoft.com/Start/2014/StartLayout&quot; Version=&quot;1&quot; xmlns=&quot;http://schemas.microsoft.com/Start/2014/LayoutModification&quot;&gt;
                          &lt;LayoutOptions StartTileGroupCellWidth=&quot;6&quot; /&gt;
                          &lt;DefaultLayoutOverride&gt;
                            &lt;StartLayoutCollection&gt;
                              &lt;defaultlayout:StartLayout GroupCellWidth=&quot;6&quot;&gt;
                                &lt;start:Group Name=&quot;Group1&quot;&gt;
                                  &lt;start:Tile Size=&quot;4x4&quot; Column=&quot;0&quot; Row=&quot;0&quot; AppUserModelID=&quot;Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic&quot; /&gt;
                                &lt;/start:Group&gt;
                              &lt;/defaultlayout:StartLayout&gt;
                            &lt;/StartLayoutCollection&gt;
                          &lt;/DefaultLayoutOverride&gt;
                        &lt;/LayoutModificationTemplate&gt;
                    ]]&gt;
                &lt;/StartLayout&gt;
                &lt;Taskbar ShowTaskbar=&quot;true&quot;/&gt;
            &lt;/Profile&gt;
        &lt;/Profiles&gt;
        &lt;Configs&gt;
            &lt;Config&gt;
                &lt;Account&gt;MultiAppKioskUser&lt;/Account&gt;
                &lt;DefaultProfile Id=&quot;{9A2A490F-10F6-4764-974A-43B19E722C23}&quot;/&gt;
            &lt;/Config&gt;
        &lt;/Configs&gt;
    &lt;/AssignedAccessConfiguration&gt;
    
                    </Data>
                </Item>
            </Add>
            <Final />
        </SyncBody>
    </SyncML>
    
  • Este exemplo mostra CData para o XML.

    <SyncML xmlns='SYNCML:SYNCML1.2'>
        <SyncBody>
            <Add>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Device/Vendor/MSFT/AssignedAccess/Configuration</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>
                        <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
    <AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config">
      <Profiles>
        <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
          <AllAppsList>
            <AllowedApps>
              <App DesktopAppPath="C:\Windows\System32\notepad.exe" />
            </AllowedApps>
          </AllAppsList>
          <StartLayout>
            <![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
                          <LayoutOptions StartTileGroupCellWidth="6" />
                          <DefaultLayoutOverride>
                            <StartLayoutCollection>
                              <defaultlayout:StartLayout GroupCellWidth="6">
                                <start:Group Name="Group1">
                                  <start:Tile Size="4x4" Column="0" Row="0" AppUserModelID="Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" />
                                </start:Group>
                                <start:Group Name="Group2">
                                  <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationID="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\mspaint.exe" />
                                  <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\notepad.exe" />
                                </start:Group>
                              </defaultlayout:StartLayout>
                            </StartLayoutCollection>
                          </DefaultLayoutOverride>
                        </LayoutModificationTemplate>
                      ]]]]><![CDATA[>
          </StartLayout>
          <Taskbar ShowTaskbar="true"/>
        </Profile>
      </Profiles>
      <Configs>
        <Config>
          <Account>MultiAppKioskUser</Account>
          <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
        </Config>
      </Configs>
    </AssignedAccessConfiguration>
    ]]>
                    </Data>
                </Item>
            </Add>
            <Final />
        </SyncBody>
    </SyncML>
    

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