Fournisseur de services de configuration AssignedAccess

Le fournisseur de services de configuration AssignedAccess est utilisé pour configurer un kiosque ou une expérience utilisateur restreinte. Une fois le fournisseur csp exécuté, la connexion utilisateur suivante associée au profil Accès affecté place l’appareil en mode plein écran spécifié dans la configuration csp.

Pour en savoir plus sur la configuration de l’accès affecté, consultez Configurer des kiosques et des expériences utilisateur restreintes.

La liste suivante présente les nœuds du fournisseur de services de configuration AssignedAccess :

Configuration

Étendue Éditions Système d’exploitation applicable
✅ Appareil
❌Utilisateur
✅Pro
✅ Enterprise
✅ Éducation
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, version 1709 [10.0.16299] et versions ultérieures
./Vendor/MSFT/AssignedAccess/Configuration

Ce nœud accepte un xml AssignedAccessConfiguration comme entrée.

Pour savoir comment configurer un fichier xml, consultez Créer un fichier XML de configuration d’accès affecté.

Propriétés de l’infrastructure de description :

Nom de la propriété Valeur de la propriété
Format chr (chaîne)
Type d’accès Ajouter, Supprimer, Obtenir, Remplacer

Exemples :

  • Obtenir la configuration

    <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>
    
  • Supprimer la configuration

    <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

Remarque

Cette stratégie est déconseillée et peut être supprimée dans une version ultérieure.

Étendue Éditions Système d’exploitation applicable
✅ Appareil
❌Utilisateur
✅Pro
✅ Enterprise
✅ Éducation
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, version 1507 [10.0.10240] et versions ultérieures
./Vendor/MSFT/AssignedAccess/KioskModeApp

Ce nœud peut accepter et retourner une chaîne json qui comprend le nom du compte et l’AUMID pour l’application en mode plein écran.

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

Lors de la configuration de l’application en mode plein écran, le nom du compte est utilisé pour rechercher l’utilisateur cible. Le nom du compte inclut le nom de domaine et le nom d’utilisateur. Le nom de domaine peut être facultatif si le nom d’utilisateur est unique dans le système. Pour un compte local, le nom de domaine doit être le nom de l’ordinateur. Lorsque « Get » est exécuté sur ce nœud, le nom de domaine est toujours retourné dans la sortie.

Ce nœud prend en charge les méthodes Add, Delete, Replace et Get. En l’absence de configuration, les méthodes « Get » et « Delete » échouent. Lorsqu’il existe déjà une configuration pour l’application en mode plein écran, la méthode « Ajouter » échoue. Le modèle de données pour « Ajouter » et « Remplacer » est le même.

Astuce

Dans l’exemple ci-dessus, le double \\ est requis, car il est en JSON et JSON s’échappe \\ dans \. Si un serveur MDM utilise l’analyseur JSON\composer, il doit demander aux clients de taper un \seul , qui sera \\ dans le JSON. Si l’utilisateur est de type \\, il devient \\\\ au format JSON, ce qui entraîne des résultats erronés. Pour la même raison, domain\user utilisé dans configuration xml n’a pas besoin \\ d’un , mais d’un \seul , car xml n’a pas (besoin) d’échappement \.

Cela s’applique à la fois domain\userà , AzureAD\someone@contoso.onmicrosoft.com, tant qu’un \ est utilisé dans une chaîne JSON.

Pour plus d’informations sur l’obtention de l’AUMID, consultez Rechercher l’ID de modèle utilisateur d’application d’une application installée.

Important

  • Dans Windows 10, version 1803, le nœud Configuration a introduit un profil kiosque d’application unique pour remplacer le nœud CSP KioskModeApp. Le nœud KioskModeApp sera bientôt déprécié. Vous devez donc utiliser le profil kiosque d’application unique dans le xml de configuration pour le nœud Configuration afin de configurer le kiosque d’application unique accessible au public.
  • En outre, à compter de Windows 10 version 1803, le nœud KioskModeApp devient No-Op si le nœud Configuration est configuré sur l’appareil. Les commandes Add/Replace/Delete sur le nœud KioskModeApp retournent toujours SUCCESS au serveur MDM si le nœud Configuration est défini, mais les données de KioskModeApp n’ont aucun effet sur l’appareil. La commande Get sur KioskModeApp retourne la chaîne JSON configurée, même si elle n’est pas effective.
  • Vous ne pouvez pas définir KioskModeApp et ShellLauncher en même temps sur l’appareil.

Propriétés de l’infrastructure de description :

Nom de la propriété Valeur de la propriété
Format chr (chaîne)
Type d’accès Ajouter, Supprimer, Obtenir, Remplacer

Exemples :

  • Ajouter 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>
    
  • Supprimer 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>
    
  • Obtenir 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>
    
  • Remplacer 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

Étendue Éditions Système d’exploitation applicable
✅ Appareil
❌Utilisateur
❌Pro
✅ Enterprise
✅ Éducation
❌Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, version 1803 [10.0.17134] et versions ultérieures
./Vendor/MSFT/AssignedAccess/ShellLauncher

Ce nœud accepte un xml ShellLauncherConfiguration comme entrée.

Pour en savoir plus sur le lanceur d’interpréteur de commandes, consultez Qu’est-ce que le lanceur d’interpréteur de commandes ?.

Important

Vous ne pouvez pas définir ShellLauncher et KioskModeApp en même temps sur l’appareil.

Remarque

La configuration du lanceur d’interpréteur de commandes à l’aide du nœud ShellLauncher active automatiquement la fonctionnalité lanceur d’interpréteur de commandes, si elle est disponible dans la référence SKU.

Le lanceur d’interpréteur de commandes en tant que fonctionnalité et le nœud ShellLauncher nécessitent tous deux windows Entreprise ou Windows Éducation pour fonctionner. Le nœud ShellLauncher n’est pas pris en charge dans Windows 10 Professionnel.

Propriétés de l’infrastructure de description :

Nom de la propriété Valeur de la propriété
Format chr (chaîne)
Type d’accès Ajouter, Supprimer, Obtenir, Remplacer

Voici l’article de référence XSD du lanceur d’interpréteur de commandes : Définition de schéma XML du lanceur d’interpréteur de commandes (XSD).

Exemples :

  • Add

    <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>
    
  • Télécharger

    <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>
    

Statut

Étendue Éditions Système d’exploitation applicable
✅ Appareil
❌Utilisateur
✅Pro
✅ Enterprise
✅ Éducation
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, version 1803 [10.0.17134] et versions ultérieures
./Vendor/MSFT/AssignedAccess/Status

Ce nœud en lecture seule contient un xml d’événement d’intégrité kiosque.

Cela permet au serveur MDM d’interroger le kioskModeAppRuntimeStatus actuel tant que le nœud StatusConfiguration est défini sur « On » ou « OnWithAlerts ». Si StatusConfiguration est « Désactivé », une erreur « nœud introuvable » est signalée au serveur MDM.

À compter de Windows 10, version 1809, le runtime d’accès affecté status prend en charge la surveillance des modes kiosque à application unique et multi-applications. Voici les codes status possibles :

Code d’état Statut Description
0 Inconnu Status inconnu.
1 Running Le compte AssignedAccess (kiosque ou multi-application) s’exécute normalement.
2 AppNotFound L’application kiosque n’est pas déployée sur l’ordinateur.
3 Échec de l’activation Le compte AssignedAccess (kiosque ou multi-application) n’a pas pu se connecter.
4 AppNoResponse L’application kiosque a été lancée avec succès, mais ne répond plus.

En outre, la charge utile État inclut les champs suivants :

  • profileId : il peut être utilisé par le serveur MDM pour mettre en corrélation le compte à l’origine de l’erreur.
  • OperationList : il fournit la liste des opérations ayant échoué qui se sont produites lors de l’application du fournisseur csp d’accès affecté, le cas échéant.

Propriétés de l’infrastructure de description :

Nom de la propriété Valeur de la propriété
Format chr (chaîne)
Type d’accès Télécharger

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>

Exemple :

<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

Étendue Éditions Système d’exploitation applicable
✅ Appareil
❌Utilisateur
✅Pro
✅ Enterprise
✅ Éducation
✅Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows 10, version 1803 [10.0.17134] et versions ultérieures
./Vendor/MSFT/AssignedAccess/StatusConfiguration

Ce nœud accepte un xml StatusConfiguration comme entrée.

Il existe trois valeurs possibles pour le nœud StatusEnabled dans statusConfiguration xml :

  • Activé
  • OnWithAlerts
  • Désactivé

Par défaut, le nœud StatusConfiguration n’existe pas et cela implique que cette fonctionnalité est désactivée. Une fois activé via csp, l’accès affecté case activée application kiosque status et attend que le serveur GPM interroge la dernière status à partir du nœud État. Si vous le souhaitez, le serveur MDM peut accepter l’alerte MDM afin qu’une alerte GPM soit générée et envoyée immédiatement au serveur MDM lorsque le status du runtime d’accès affecté est modifié. Cette alerte MDM contient la charge utile status disponible via le nœud État. Cet en-tête d’alerte MDM est défini comme suit :

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

Remarque

Les alertes GPM sont envoyées uniquement pour les erreurs.

Propriétés de l’infrastructure de description :

Nom de la propriété Valeur de la propriété
Format chr (chaîne)
Type d’accès Ajouter, Supprimer, Obtenir, Remplacer

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>

Exemples :

  • Ajouter StatusConfiguration avec StatusEnabled défini sur 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>
    
  • Supprimer 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>
    
  • 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>
    
  • Remplacez la valeur StatusEnabled par 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

Voici l’article de référence XSD d’accès affecté : Définition de schéma XML d’accès affecté (XSD).

Pour obtenir des exemples pratiques de fichiers de configuration d’accès affecté, consultez Exemples d’accès affecté.

Gestion du code XML dans la configuration

L’encodage XML (échappement) et le code CDATA du code XML dans le nœud Données garantissent que le client DM peut interpréter correctement le fichier SyncML et envoyer le code XML de configuration en tant que chaîne (au format d’origine, sans séquence d’échappement) au fournisseur de services de configuration AssignedAccess à gérer.

De même, le xml StartLayout à l’intérieur du xml de configuration utilise le même format, xml dans xml comme chaîne. Dans l’exemple de code xml de configuration fourni ci-dessus, CDATA est utilisé pour incorporer le code xml StartLayout. Si vous utilisez également CDATA pour incorporer du code XML de configuration dans SyncML, vous avez imbriqué CDATA. Par conséquent, faites attention à la façon dont CDATA est utilisé dans l’exemple CDATA fourni. Cela étant dit, lorsque le xml de configuration est en cours de construction, le serveur MDM peut soit échapper le xml de disposition de démarrage, soit placer startlayout xml dans CDATA. Lorsque le serveur MDM place du code xml de configuration dans SyncML, le serveur MDM peut également le placer dans une séquence d’échappement ou encapsuler avec CDATA.

Escape et CDATA sont des mécanismes utilisés lors de la gestion de xml dans xml. Considérez qu’il s’agit d’un canal de transport pour envoyer le xml de configuration en tant que charge utile du serveur au client. Elle est transparente à la fois pour l’utilisateur final qui configure le fournisseur de solutions Cloud et pour notre fournisseur de solutions Cloud. Le client côté serveur et notre fournisseur de solutions cloud doivent uniquement voir le code XML de configuration d’origine.

  • Cet exemple montre le code XML d’échappement du nœud Données.

    <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>
    
  • Cet exemple montre CData pour le code 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>
    

Informations de référence sur les fournisseurs de services de configuration