CSP AssignedAccess

O CSP (provedor de serviços de configuração AssignedAccess) é usado para configurar um quiosque ou uma experiência restrita do usuário. Depois que o CSP é executado, o próximo logon do usuário associado ao perfil de Acesso Atribuído coloca o dispositivo no modo de quiosque especificado na configuração CSP.

Para saber mais sobre como configurar o Acesso Atribuído, confira Configurar quiosques e experiências restritas do usuário.

A lista a seguir mostra os nós do provedor 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

Esse nó aceita uma entrada AssignedAccessConfiguration xml.

Para saber como configurar o arquivo xml, consulte Criar um arquivo XML de configuração de acesso atribuído

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
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>
    
  • Excluir 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

Essa política é preterida e pode ser removida em uma 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

Esse nó pode aceitar e retornar a cadeia de caracteres json, que compreende o nome da conta e o aplicativo de modo AUMID for Kiosk.

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

Ao configurar o aplicativo de modo de quiosque, o nome da conta será usado para localizar o usuário de destino. O nome da conta inclui nome de domínio e nome de usuário. O nome de domínio pode ser opcional se o nome de usuário 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 é retornado na saída.

Esse nó dá suporte aos métodos Adicionar, Excluir, Substituir e Obter. Quando não há configuração, os métodos "Obter" e "Excluir" falham. Quando já há uma configuração para o aplicativo de modo 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 escapa \\ para \. Se um servidor MDM usar o analisador de JSON\composer, ele deverá pedir aos clientes que digitem apenas um \, que estará \\ no JSON. Se o usuário digitar \\, ele se tornará \\\\ no JSON, o que causará resultados incorretos. Pelo mesmo motivo, domain\user usado em Configuração xml não precisa \\ , mas apenas um \, porque xml não (precisa) escapar \.

Isso se aplica a domain\user, , AzureAD\someone@contoso.onmicrosoft.comdesde que um \ seja usado na cadeia de caracteres JSON.

Para obter mais informações sobre como obter o AUMID, consulte Localizar a ID do Modelo de Usuário de Aplicativo de um aplicativo instalado.

Importante

  • No Windows 10, versão 1803, o nó Configuração introduziu o perfil de quiosque de aplicativo único para substituir o nó KioskModeApp CSP. O nó KioskModeApp será preterido em breve, portanto, você deve usar o perfil de quiosque de aplicativo único na configuração xml para o nó Configuração para configurar o quiosque de aplicativo único voltado para o público.
  • Além disso, a partir de Windows 10, versão 1803, o nó KioskModeApp se torna No-Op se o nó Configuração estiver configurado no dispositivo. Os comandos Adicionar/Substituir/Excluir no nó KioskModeApp sempre retornarão SUCCESS ao servidor MDM se o nó De configuração estiver definido, mas os dados do KioskModeApp não afetarão o dispositivo. Obter comando no KioskModeApp retornará a cadeia de caracteres JSON configurada, mesmo que não seja eficaz.
  • Você 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 de caracteres)
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>
    
  • Excluir 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

Esse nó aceita um ShellLauncherConfiguration xml como entrada.

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

Importante

Você não pode definir o ShellLauncher e o KioskModeApp ao mesmo tempo no dispositivo.

Observação

Configurar o Shell Launcher usando o nó ShellLauncher habilita automaticamente o recurso Shell Launcher, se ele estiver disponível no SKU.

O Shell Launcher como um recurso e o nó ShellLauncher exigem que o Windows Enterprise ou o Windows Education funcionem. Não há suporte para o nó ShellLauncher no Windows 10 Pro.

Propriedades da estrutura de descrição:

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

Aqui está o artigo de referência XSD do Shell Launcher: Definição de esquema XML do Inicializador do Shell (XSD).

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ó de leitura só contém xml de evento de integridade do quiosque.

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

A partir de Windows 10, versão 1809, o status de runtime do Acesso Atribuído dá suporte ao monitoramento de quiosques de aplicativo único e modos de vários aplicativos. Aqui estão os possíveis códigos de status:

Código de status Status Descrição
0 Desconhecido status desconhecido.
1 Running A conta AssignedAccess (quiosque ou vários aplicativos) está em execução normalmente.
2 AppNotFound O aplicativo de quiosque não é implantado no computador.
3 Falha na ativação A conta AssignedAccess (quiosque ou vários aplicativos) não conseguiu entrar.
4 AppNoResponse O aplicativo de quiosque foi iniciado com êxito, mas agora não responde.

Além disso, a carga de status inclui os seguintes campos:

  • profileId: ele pode ser usado pelo servidor MDM para correlacionar qual conta causou o erro.
  • OperationList: ele fornece a lista de operações com falha que ocorreram durante a aplicação do CSP de acesso atribuído, se houver alguma.

Propriedades da estrutura de descrição:

Nome da propriedade Valor de propriedade
Formato chr (cadeia de caracteres)
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

Esse nó aceita um statusConfiguration xml como entrada.

Há três valores possíveis para o nó StatusEnabled dentro de StatusConfiguration xml:

  • Ativado
  • OnWithAlerts
  • Desativado

Por padrão, o nó StatusConfiguration não existe e isso implica que esse recurso está desativado. Depois de habilitado por meio do CSP, o Acesso Atribuído marcar aplicativo de quiosque status e aguardará o servidor MDM consultar o status mais recente do nó Status. Opcionalmente, o servidor MDM pode optar pelo alerta MDM para que um alerta MDM seja gerado e enviado imediatamente para o servidor MDM quando o status de runtime de acesso atribuído for alterado. Esse alerta de MDM conterá a carga de status disponível por meio do nó Status. Este cabeçalho de alerta MDM é definido da seguinte maneira:

  • MDMAlertMark: Critical
  • MDMAlertType: com.microsoft.mdm.assignedaccess.status
  • MDMAlertDataType: string
  • Fonte: ./Vendor/MSFT/AssignedAccess
  • Alvo: 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 de caracteres)
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>
    
  • Excluir StatusConfiguration

    <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 o valor StatusEnabled por On

    <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

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

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

Manipulação de XML em Configuração

A codificação XML (escapada) e a CDATA do XML no nó Data garantirão que o cliente DM possa interpretar corretamente o SyncML e enviar a configuração xml como cadeia de caracteres (no formato original, unescaped) para o CSP AssignedAccess para manipular.

Da mesma forma, o xml StartLayout dentro da configuração xml está usando o mesmo formato, xml dentro de xml como cadeia de caracteres. Na configuração de exemplo xml fornecida acima, a CDATA é usada para inserir o xml StartLayout. Se você usar CDATA para inserir a configuração xml no SyncML também, você aninhado CDATA, portanto, preste atenção em como a CDATA é usada no exemplo de CDATA fornecido. Com isso sendo dito, quando a configuração xml está sendo construída, o servidor MDM pode escapar do layout de início xml ou colocar startlayout xml dentro da CDATA, quando o servidor MDM coloca a configuração xml dentro do SyncML, o servidor MDM também pode escapar dele ou encapsular com CDATA.

Escape e CDATA são mecanismos usados ao manipular xml em xml. Considere que é um canal de transporte para enviar a configuração xml como carga do servidor para o cliente. É transparente para ambos, o usuário final que configura o CSP e para o nosso CSP. O cliente no lado do servidor e nosso CSP só devem ver a configuração original XML.

  • Este exemplo mostra xml escapado 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