CSP AssignedAccess
Il provider di servizi di configurazione AssignedAccess (CSP) viene usato per configurare un'esperienza utente in modalità tutto schermo o con restrizioni. Dopo l'esecuzione del CSP, l'account di accesso utente successivo associato al profilo di accesso assegnato inserisce il dispositivo nella modalità tutto schermo specificata nella configurazione CSP.
Per altre informazioni su come configurare l'accesso assegnato, vedere Configurare chioschi multimediali ed esperienze utente con restrizioni.
L'elenco seguente mostra i nodi del provider di servizi di configurazione AssignedAccess:
- ./Vendor/MSFT/AssignedAccess
Configurazione
Ambito | Edizioni | Sistema operativo applicabile |
---|---|---|
✅ dispositivo ❌ utente |
✅ Pro ✅ Enterprise ✅ Education ✅Windows SE ✅ IoT Enterprise / IoT Enterprise LTSC |
✅Windows 10, versione 1709 [10.0.16299] e versioni successive |
./Vendor/MSFT/AssignedAccess/Configuration
Questo nodo accetta un xml AssignedAccessConfiguration come input.
Per informazioni su come configurare un file XML, vedere Creare un file XML di configurazione di Accesso assegnato
Proprietà del framework di descrizione:
Nome della proprietà | Valore proprietà |
---|---|
Formato |
chr (stringa) |
Tipo accesso | Aggiungere, eliminare, ottenere, sostituire |
Esempi:
Ottenere la configurazione
<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>
Elimina configurazione
<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
Nota
Questo criterio è deprecato e può essere rimosso in una versione futura.
Ambito | Edizioni | Sistema operativo applicabile |
---|---|---|
✅ dispositivo ❌ utente |
✅ Pro ✅ Enterprise ✅ Education ✅Windows SE ✅ IoT Enterprise / IoT Enterprise LTSC |
✅Windows 10 versione 1507 [10.0.10240] e versioni successive |
./Vendor/MSFT/AssignedAccess/KioskModeApp
Questo nodo può accettare e restituire una stringa json costituita dal nome dell'account e da AUMID per l'app in modalità tutto schermo.
Esempio: {"User":"domain\\user", "AUMID":"Microsoft. WindowsCalculator_8wekyb3d8bbwe!App"}
.
Quando si configura l'app in modalità tutto schermo, verrà usato il nome dell'account per trovare l'utente di destinazione. Il nome dell'account include il nome di dominio e il nome utente. Il nome di dominio può essere facoltativo se il nome utente è univoco nel sistema. Per un account locale, il nome di dominio deve essere nome computer. Quando "Get" viene eseguito su questo nodo, il nome di dominio viene sempre restituito nell'output.
Questo nodo supporta i metodi Add, Delete, Replace e Get. Quando non è disponibile alcuna configurazione, i metodi "Get" e "Delete" hanno esito negativo. Quando è già disponibile una configurazione per l'app in modalità tutto schermo, il metodo "Add" ha esito negativo. Il modello di dati per "Add" e "Replace" è lo stesso.
Suggerimento
Nell'esempio precedente è necessario il valore double \\
perché è in JSON e JSON esegue l'escape \\
in \
. Se un server MDM usa JSON parser\composer, deve chiedere ai clienti di digitare solo uno \
, che sarà \\
nel codice JSON. Se l'utente digita \\
, diventerà \\\\
in JSON, il che causerà risultati errati. Per lo stesso motivo, domain\user
usato in Configuration xml non è necessario \\
ma solo uno \
, perché xml non esegue (necessario) l'escape \
di .
Questo vale sia domain\user
per , AzureAD\someone@contoso.onmicrosoft.com
, purché venga usato un \
oggetto nella stringa JSON.
Per altre informazioni su come ottenere l'AUMID, vedere Trovare l'ID del modello utente dell'applicazione di un'app installata.
Importante
- In Windows 10 versione 1803, il nodo Configurazione ha introdotto il profilo chiosco multimediale per app singola per sostituire il nodo CSP KioskModeApp. Il nodo KioskModeApp verrà deprecato a breve, quindi è consigliabile usare il profilo chiosco multimediale dell'app singola nel file xml di configurazione per il nodo Configurazione per configurare un'app singola in modalità tutto schermo pubblica.
- Inoltre, a partire da Windows 10 versione 1803, il nodo KioskModeApp diventa No-Op se il nodo Configuration è configurato nel dispositivo. Se il nodo Configuration è impostato, i comandi Add/Replace/Delete nel nodo KioskModeApp restituiscono sempre SUCCESS al server MDM, ma i dati di KioskModeApp non avranno alcun effetto sul dispositivo. Il comando Get in KioskModeApp restituirà la stringa JSON configurata anche se non è efficace.
- Non è possibile impostare sia KioskModeApp che ShellLauncher contemporaneamente nel dispositivo.
Proprietà del framework di descrizione:
Nome della proprietà | Valore proprietà |
---|---|
Formato |
chr (stringa) |
Tipo accesso | Aggiungere, eliminare, ottenere, sostituire |
Esempi:
Aggiungere 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>
Eliminare 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>
Get 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>
Sostituire 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
Ambito | Edizioni | Sistema operativo applicabile |
---|---|---|
✅ dispositivo ❌ utente |
❌ Pro ✅ Enterprise ✅ Education ❌Windows SE ✅ IoT Enterprise / IoT Enterprise LTSC |
✅Windows 10 versione 1803 [10.0.17134] e versioni successive |
./Vendor/MSFT/AssignedAccess/ShellLauncher
Questo nodo accetta un xml ShellLauncherConfiguration come input.
Per informazioni su Shell Launcher, vedere Che cos'è Shell Launcher?.
Importante
Non è possibile impostare sia ShellLauncher che KioskModeApp contemporaneamente nel dispositivo.
Nota
La configurazione di Shell Launcher tramite il nodo ShellLauncher abilita automaticamente la funzionalità di avvio della shell, se disponibile all'interno dello SKU.
Shell Launcher come funzionalità e il nodo ShellLauncher richiedono sia Windows Enterprise che Windows Education per funzionare. Il nodo ShellLauncher non è supportato in Windows 10 Pro.
Proprietà del framework di descrizione:
Nome della proprietà | Valore proprietà |
---|---|
Formato |
chr (stringa) |
Tipo accesso | Aggiungere, eliminare, ottenere, sostituire |
Di seguito è riportato l'articolo di riferimento su Shell Launcher XSD: Shell Launcher XML Schema Definition (XSD).
Esempi:
Aggiungi
<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>
Ottieni
<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>
Stato
Ambito | Edizioni | Sistema operativo applicabile |
---|---|---|
✅ dispositivo ❌ utente |
✅ Pro ✅ Enterprise ✅ Education ✅Windows SE ✅ IoT Enterprise / IoT Enterprise LTSC |
✅Windows 10 versione 1803 [10.0.17134] e versioni successive |
./Vendor/MSFT/AssignedAccess/Status
Questo nodo di sola lettura contiene xml dell'evento di integrità del chiosco multimediale.
Ciò consente al server MDM di eseguire query sull'oggetto KioskModeAppRuntimeStatus corrente, purché il nodo StatusConfiguration sia impostato su "On" o "OnWithAlerts". Se StatusConfiguration è "Off", verrà segnalato un errore "node not found" al server MDM.
A partire da Windows 10, versione 1809, lo stato del runtime di Accesso assegnato supporta il monitoraggio delle modalità tutto schermo e multi-app per app singola. Ecco i possibili codici di stato:
Codice di stato | Stato | Descrizione |
---|---|---|
0 | Sconosciuto | Stato sconosciuto. |
1 | Running | L'account AssignedAccess (chiosco multimediale o multi-app) è in esecuzione normalmente. |
2 | AppNotFound | L'app in modalità tutto schermo non viene distribuita nel computer. |
3 | ActivationFailed | L'account AssignedAccess (chiosco multimediale o multi-app) non è riuscito ad accedere. |
4 | AppNoResponse | L'app in modalità tutto schermo è stata avviata correttamente, ma ora non risponde. |
Inoltre, il payload stato include i campi seguenti:
- profileId: può essere usato dal server MDM per correlare l'account che ha causato l'errore.
- OperationList: fornisce l'elenco delle operazioni non riuscite che si sono verificate durante l'applicazione del CSP di accesso assegnato, se presente.
Proprietà del framework di descrizione:
Nome della proprietà | Valore proprietà |
---|---|
Formato |
chr (stringa) |
Tipo accesso | Ottieni |
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>
Esempio:
<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
Ambito | Edizioni | Sistema operativo applicabile |
---|---|---|
✅ dispositivo ❌ utente |
✅ Pro ✅ Enterprise ✅ Education ✅Windows SE ✅ IoT Enterprise / IoT Enterprise LTSC |
✅Windows 10 versione 1803 [10.0.17134] e versioni successive |
./Vendor/MSFT/AssignedAccess/StatusConfiguration
Questo nodo accetta un xml StatusConfiguration come input.
Sono disponibili tre valori possibili per il nodo StatusEnabled all'interno di StatusConfiguration xml:
- Attivato
- OnWithAlerts
- Disattivato
Per impostazione predefinita, il nodo StatusConfiguration non esiste e implica che questa funzionalità è disattivata. Una volta abilitato tramite CSP, Accesso assegnato controllerà lo stato dell'app in modalità tutto schermo e attenderà che il server MDM eservi una query sullo stato più recente dal nodo Stato. Facoltativamente, il server MDM può acconsentire esplicitamente all'avviso MDM in modo che venga generato un avviso MDM e inviato immediatamente al server MDM quando viene modificato lo stato del runtime di accesso assegnato. Questo avviso MDM conterrà il payload di stato disponibile tramite il nodo Stato. Questa intestazione di avviso MDM è definita come segue:
- MDMAlertMark:
Critical
- MDMAlertType:
com.microsoft.mdm.assignedaccess.status
- MDMAlertDataType:
string
- Fonte:
./Vendor/MSFT/AssignedAccess
- Bersaglio:
N/A
Nota
L'avviso MDM viene inviato solo per gli errori.
Proprietà del framework di descrizione:
Nome della proprietà | Valore proprietà |
---|---|
Formato |
chr (stringa) |
Tipo accesso | Aggiungere, eliminare, ottenere, sostituire |
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>
Esempi:
Aggiungere StatusConfiguration con StatusEnabled impostato su 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>
Elimina statoConfigurazione
<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>
Get 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>
Sostituire il valore StatusEnabled con 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
Ecco l'articolo di riferimento XSD per l'accesso assegnato: Definizione XSD (Assigned Access XML Schema Definition).
Per esempi pratici di file di configurazione di Accesso assegnato, vedere Esempi di accesso assegnato.
Gestione del codice XML nella configurazione
La codifica XML (escape) e CDATA del codice XML nel nodo Dati garantiscono che il client Dm possa interpretare correttamente SyncML e invierà il file xml di configurazione come stringa (in formato originale, senza caratteri di escape) a AssignedAccess CSP da gestire.
Analogamente, il codice xml StartLayout all'interno del file xml di configurazione usa lo stesso formato xml all'interno di xml come stringa. Nell'xml di configurazione di esempio fornito in precedenza, CDATA viene usato per incorporare il codice xml StartLayout. Se si usa CDATA per incorporare xml di configurazione anche in SyncML, è disponibile CDATA annidato, quindi prestare attenzione al modo in cui viene usato CDATA nell'esempio CDATA fornito. Detto questo, quando viene costruito il file xml di configurazione, il server MDM può eseguire l'escape del layout iniziale xml o inserire il file xml startlayout in CDATA, quando il server MDM inserisce xml di configurazione all'interno di SyncML, il server MDM può anche eseguirne l'escape o eseguire il wrapping con CDATA.
Escape e CDATA sono meccanismi usati durante la gestione di xml in xml. Si consideri che si tratta di un canale di trasporto per inviare l'xml di configurazione come payload dal server al client. È trasparente sia per l'utente finale che configura il CSP che per il CSP. Sia il cliente sul lato server che il CSP devono visualizzare solo il codice XML di configurazione originale.
In questo esempio viene illustrato il codice XML con caratteri di escape del nodo Dati.
<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>
Questo esempio mostra CData per il codice 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>