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:
- ./Vendor/MSFT/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.com
desde 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> <?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> </defaultlayout:StartLayout> </StartLayoutCollection> </DefaultLayoutOverride> </LayoutModificationTemplate> ]]> </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>
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>