AssignedAccess-Konfigurationsdienstanbieter

Der AssignedAccess-Konfigurationsdienstanbieter (CSP) wird verwendet, um einen Kiosk oder eine eingeschränkte Benutzeroberfläche zu konfigurieren. Nachdem der CSP ausgeführt wurde, versetzt die nächste Benutzeranmeldung, die dem Profil für zugewiesenen Zugriff zugeordnet ist, das Gerät in den in der CSP-Konfiguration angegebenen Kioskmodus.

Weitere Informationen zum Konfigurieren des zugewiesenen Zugriffs finden Sie unter Konfigurieren von Kiosken und eingeschränkten Benutzeroberflächen.

Die folgende Liste enthält die Knoten des AssignedAccess-Konfigurationsdienstanbieters:

Konfiguration

Bereich Editionen Anwendbares Betriebssystem
✅ Gerät
❌ Benutzer
✅ Pro
✅ Enterprise
✅ Bildung
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10, Version 1709 [10.0.16299] und höher
./Vendor/MSFT/AssignedAccess/Configuration

Dieser Knoten akzeptiert eine AssignedAccessConfiguration-XML-Datei als Eingabe.

Informationen zum Konfigurieren einer XML-Datei finden Sie unter Erstellen einer XML-Konfigurationsdatei für den zugewiesenen Zugriff.

Eigenschaften des Beschreibungsframeworks:

Eigenschaftenname Eigenschaftenwert
Format chr (Zeichenfolge)
Zugriffstyp Hinzufügen, Löschen, Abrufen, Ersetzen

Beispiele:

  • Konfiguration abrufen

    <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>
    
  • Konfiguration löschen

    <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

Hinweis

Diese Richtlinie ist veraltet und kann in einer zukünftigen Version entfernt werden.

Bereich Editionen Anwendbares Betriebssystem
✅ Gerät
❌ Benutzer
✅ Pro
✅ Enterprise
✅ Bildung
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10, Version 1507 [10.0.10240] und höher
./Vendor/MSFT/AssignedAccess/KioskModeApp

Dieser Knoten kann eine JSON-Zeichenfolge akzeptieren und zurückgeben, die den Kontonamen und die AUMID für die Kioskmodus-App umfasst.

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

Beim Konfigurieren der Kioskmodus-App wird der Kontoname verwendet, um den Zielbenutzer zu finden. Kontoname umfasst Domänen- und Benutzernamen. Der Domänenname kann optional sein, wenn der Benutzername im gesamten System eindeutig ist. Bei einem lokalen Konto sollte der Domänenname computername sein. Wenn "Get" auf diesem Knoten ausgeführt wird, wird der Domänenname immer in der Ausgabe zurückgegeben.

Dieser Knoten unterstützt die Methoden Add, Delete, Replace und Get. Wenn keine Konfiguration vorhanden ist, schlagen die Methoden "Get" und "Delete" fehl. Wenn bereits eine Konfiguration für die Kioskmodus-App vorhanden ist, schlägt die Methode "Hinzufügen" fehl. Das Datenmuster für "Add" und "Replace" ist identisch.

Tipp

Im obigen Beispiel ist der Double-Wert \\ erforderlich, da es sich in JSON befindet und JSON in \escapet\\. Wenn ein MDM-Server JSON-Parser\Composer verwendet, sollten kunden aufgefordert werden\\, nur einen \einzugeben, der sich im JSON-Code befindet. Wenn der Benutzer eingibt \\, wird \\\\ er in JSON angezeigt, was zu fehlerhaften Ergebnissen führt. Aus dem gleichen Grund domain\user benötigt \\ xml in Configuration xml nicht, sondern nur eine \, da xml kein Escapezeichen \(muss) enthalten.

Dies gilt für , domain\user, AzureAD\someone@contoso.onmicrosoft.comsolange ein in einer \ JSON-Zeichenfolge verwendet wird.

Weitere Informationen zum Abrufen der AUMID finden Sie unter Suchen der Anwendungsbenutzermodell-ID einer installierten App.

Wichtig

  • In Windows 10 Version 1803 wurde im Konfigurationsknoten ein Kioskprofil für eine einzelne App eingeführt, um den CSP-Knoten KioskModeApp zu ersetzen. Der KioskModeApp-Knoten wird bald als veraltet gekennzeichnet. Daher sollten Sie das Kioskprofil einer einzelnen App in Konfigurations-XML für konfigurationsknoten verwenden, um den kiosk mit öffentlichem Zugriff auf einzelne Apps zu konfigurieren.
  • Darüber hinaus wird der Knoten KioskModeApp ab Windows 10 Version 1803 No-Op, wenn der Konfigurationsknoten auf dem Gerät konfiguriert ist. Add/Replace/Delete-Befehle auf dem KioskModeApp-Knoten gibt immer SUCCESS an den MDM-Server zurück, wenn der Konfigurationsknoten festgelegt ist, aber die Daten von KioskModeApp haben keine Auswirkungen auf das Gerät. Der Befehl "Get" für KioskModeApp gibt die konfigurierte JSON-Zeichenfolge zurück, auch wenn sie nicht effektiv ist.
  • Sie können kioskModeApp und ShellLauncher nicht gleichzeitig auf dem Gerät festlegen.

Eigenschaften des Beschreibungsframeworks:

Eigenschaftenname Eigenschaftenwert
Format chr (Zeichenfolge)
Zugriffstyp Hinzufügen, Löschen, Abrufen, Ersetzen

Beispiele:

  • Hinzufügen von 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>
    
  • Löschen von 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>
    
  • Abrufen von 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>
    
  • Ersetzen von 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

Bereich Editionen Anwendbares Betriebssystem
✅ Gerät
❌ Benutzer
❌ Pro
✅ Enterprise
✅ Bildung
❌ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10, Version 1803 [10.0.17134] und höher
./Vendor/MSFT/AssignedAccess/ShellLauncher

Dieser Knoten akzeptiert eine ShellLauncherConfiguration-XML-Datei als Eingabe.

Weitere Informationen zum Shell-Startprogramm finden Sie unter Was ist das Shell-Startprogramm?.

Wichtig

Sie können shellLauncher und KioskModeApp nicht gleichzeitig auf dem Gerät festlegen.

Hinweis

Wenn Sie das Shell-Startprogramm mithilfe des Knotens ShellLauncher konfigurieren, wird automatisch das Shell-Startprogramm aktiviert, sofern es innerhalb der SKU verfügbar ist.

Das Shell-Startprogramm als Feature und der ShellLauncher-Knoten erfordern windows Enterprise oder Windows Education, um zu funktionieren. Der ShellLauncher-Knoten wird in Windows 10 Pro nicht unterstützt.

Eigenschaften des Beschreibungsframeworks:

Eigenschaftenname Eigenschaftenwert
Format chr (Zeichenfolge)
Zugriffstyp Hinzufügen, Löschen, Abrufen, Ersetzen

Hier ist der Artikel zur XSD-Referenz zum Shell-Startprogramm: Shell Launcher XML Schema Definition (XSD).

Beispiele:

  • 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>
    
  • „Abrufen“

    <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

Bereich Editionen Anwendbares Betriebssystem
✅ Gerät
❌ Benutzer
✅ Pro
✅ Enterprise
✅ Bildung
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10, Version 1803 [10.0.17134] und höher
./Vendor/MSFT/AssignedAccess/Status

Dieser schreibgeschützte Knoten enthält xml-Code für das Kioskintegritätsereignis.

Dadurch kann der MDM-Server den aktuellen KioskModeAppRuntimeStatus abfragen, solange der Knoten StatusConfiguration auf "On" oder "OnWithAlerts" festgelegt ist. Wenn statusConfiguration auf "Off" festgelegt ist, wird dem MDM-Server der Fehler "Knoten nicht gefunden" gemeldet.

Ab Windows 10, Version 1809 unterstützt die Status Für den zugewiesenen Zugriff die Überwachung von Kiosk- und Multi-App-Modi mit einzeler App. Hier sind die möglichen status Codes:

Statuscode Status Beschreibung
0 Unknown Unbekannte status.
1 Running Das AssignedAccess-Konto (Kiosk oder Multi-App) wird normal ausgeführt.
2 AppNotFound Die Kiosk-App wird nicht auf dem Computer bereitgestellt.
3 ActivationFailed Fehler beim Anmelden des AssignedAccess-Kontos (Kiosk oder Multi-App).
4 AppNoResponse Die Kiosk-App wurde erfolgreich gestartet, reagiert aber jetzt nicht mehr.

Darüber hinaus enthält die Statusnutzlast die folgenden Felder:

  • profileId: Sie kann vom MDM-Server verwendet werden, um zu korrelieren, welches Konto den Fehler verursacht hat.
  • OperationList: Gibt die Liste der fehlgeschlagenen Vorgänge an, die beim Anwenden des zugewiesenen Zugriffs-CSP aufgetreten sind, sofern vorhanden.

Eigenschaften des Beschreibungsframeworks:

Eigenschaftenname Eigenschaftenwert
Format chr (Zeichenfolge)
Zugriffstyp „Abrufen“

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>

Beispiel:

<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

Bereich Editionen Anwendbares Betriebssystem
✅ Gerät
❌ Benutzer
✅ Pro
✅ Enterprise
✅ Bildung
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10, Version 1803 [10.0.17134] und höher
./Vendor/MSFT/AssignedAccess/StatusConfiguration

Dieser Knoten akzeptiert eine StatusConfiguration-XML-Datei als Eingabe.

Es gibt drei mögliche Werte für den StatusEnabled-Knoten in StatusConfiguration xml:

  • Ein
  • OnWithAlerts
  • Deaktiviert

Standardmäßig ist der Knoten StatusConfiguration nicht vorhanden, und dies impliziert, dass dieses Feature deaktiviert ist. Nach der Aktivierung über CSP überprüft der zugewiesene Zugriff die kiosk-App-status und wartet, bis der MDM-Server die neueste status vom Knoten Status abgefragt hat. Optional kann sich der MDM-Server für die MDM-Warnung anmelden, sodass eine MDM-Warnung generiert und sofort an den MDM-Server gesendet wird, wenn die zugewiesene Zugriffslaufzeit status geändert wird. Diese MDM-Warnung enthält die status Nutzlast, die über den Knoten Status verfügbar ist. Dieser MDM-Warnungsheader ist wie folgt definiert:

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

Hinweis

MDM-Warnungen werden nur bei Fehlern gesendet.

Eigenschaften des Beschreibungsframeworks:

Eigenschaftenname Eigenschaftenwert
Format chr (Zeichenfolge)
Zugriffstyp Hinzufügen, Löschen, Abrufen, Ersetzen

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>

Beispiele:

  • Hinzufügen von StatusConfiguration, wobei StatusEnabled auf OnWithAlerts festgelegt ist

    <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>
    
  • StatusKonfiguration löschen

    <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>
    
  • StatusConfiguration abrufen

    <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>
    
  • Ersetzen Sie den StatusEnabled-Wert durch Ein.

    <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

Hier ist der XSD-Referenzartikel für zugewiesenen Zugriff: Xml-Schemadefinition für zugewiesenen Zugriff (Assigned Access XML Schema Definition, XSD).

Praktische Beispiele für Konfigurationsdateien für zugewiesenen Zugriff finden Sie unter Beispiele für den zugewiesenen Zugriff.

Verarbeiten von XML in der Konfiguration

Die XML-Codierung (Escapezeichen) und CDATA des XML-Codes im Knoten Daten stellen sicher, dass der DM-Client syncML ordnungsgemäß interpretieren und die Konfigurations-XML als Zeichenfolge (im originalen Format, ohne Escapezeichen) an assignedAccess CSP senden kann, um die Verarbeitung zu ermöglichen.

Ebenso verwendet die StartLayout-XML-Datei innerhalb der Konfigurations-XML das gleiche Format: xml in xml wie Zeichenfolge. In der oben bereitgestellten Beispielkonfigurations-XML wird CDATA verwendet, um die StartLayout-XML einzubetten. Wenn Sie CDATA zum Einbetten von Konfigurations-XML auch in SyncML verwenden, haben Sie CDATA geschachtelt. Achten Sie daher darauf, wie CDATA im bereitgestellten CDATA-Beispiel verwendet wird. Wenn die Konfigurations-XML-Datei erstellt wird, kann der MDM-Server entweder startlayout xml oder startlayout xml in CDATA einfügen. Wenn der MDM-Server Konfigurations-XML in SyncML platziert, kann der MDM-Server auch entweder escapen oder mit CDATA umschließen.

Escape und CDATA sind Mechanismen, die bei der Verarbeitung von XML in XML verwendet werden. Beachten Sie, dass es sich um einen Transportkanal handelt, über den die Xml-Datei der Konfiguration als Nutzlast vom Server an den Client gesendet wird. Dies ist sowohl für den Endbenutzer, der den CSP konfiguriert, als auch für unseren CSP transparent. Sowohl der Kunde auf serverseitiger Seite als auch unser CSP darf nur die ursprüngliche Konfigurations-XML sehen.

  • In diesem Beispiel wird xml mit Escapezeichen des Knotens Daten dargestellt.

    <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>
    
  • Dieses Beispiel zeigt CData für den XML-Code.

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

Referenz zum Konfigurationsdienstanbieter