AssignedAccess CSP

AssignedAccess 設定服務提供者 (CSP) 可用來設定 kiosk 或受限制的用戶體驗。 執行 CSP 之後,下一個與受指派存取權配置檔相關聯的使用者登入會將裝置置於 CSP 組態中指定的 kiosk 模式。

若要深入瞭解如何設定受指派的存取權,請參閱設定 kiosk 和受限制的用戶體驗

下列清單顯示 AssignedAccess 設定服務提供者節點:

設定

領域 版本 適用的作業系統
✅ 裝置
❌ 使用者
✅ 專業版
✅ 企業版
✅ 教育版
✅ Windows SE
✅ IoT 企業版 / IoT 企業版 LTSC
✅Windows 10,版本 1709 [10.0.16299] 和更新版本
./Vendor/MSFT/AssignedAccess/Configuration

此節點接受 AssignedAccessConfiguration xml 作為輸入。

若要瞭解如何設定 xml 檔案,請參閱 建立受指派的存取權組態 XML 檔案

描述架構屬性:

屬性名稱 屬性值
格式 chr (字串)
存取類型 新增、刪除、取得、取代

範例

  • 取得組態

    <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>
    
  • 刪除組態

    <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

注意

此原則已被取代,並可能在未來的版本中移除。

領域 版本 適用的作業系統
✅ 裝置
❌ 使用者
✅ 專業版
✅ 企業版
✅ 教育版
✅ Windows SE
✅ IoT 企業版 / IoT 企業版 LTSC
✅Windows 10,版本 1507 [10.0.10240] 和更新版本
./Vendor/MSFT/AssignedAccess/KioskModeApp

此節點可以接受並傳回 json 字串,其中包含帳戶名稱,以及適用於 Kiosk 模式應用程式的 AUMID。

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

設定 kiosk 模式應用程式時,會使用帳戶名稱來尋找目標使用者。 帳戶名稱包括功能變數名稱和用戶名稱。 如果使用者名稱在整個系統中是唯一的,則功能變數名稱可以是選擇性的。 針對本機帳戶,功能變數名稱應該是計算機名稱。 在此節點上執行 「Get」 時,一律會在輸出中傳回功能變數名稱。

此節點支援 Add、Delete、Replace 和 Get 方法。 沒有設定時,“Get” 和 “Delete” 方法會失敗。 當已有 kiosk 模式應用程式的組態時,「新增」方法會失敗。 「新增」和「取代」的數據模式相同。

提示

在上述範例中,雙精度 \\ 浮點數是必要的,因為它是在 JSON 中,而 JSON 會 \\ 逸出到 \。 如果 MDM 伺服器使用 JSON 剖析器\composer,他們應該要求客戶只輸入一個 \,這將會 \\ 在 JSON 中。 如果使用者輸入 \\,它將會變成 \\\\ JSON,這會導致錯誤的結果。 基於相同原因, domain\user 在 Configuration xml 中使用 並不需要 \\ ,但只需要一個 \,因為 xml 不需要 (需要) 逸出 \

只要 \ 在 JSON 字串中使用 ,這就適用於 這兩domain\userAzureAD\someone@contoso.onmicrosoft.com者。

如需如何取得 AUMID 的詳細資訊,請 參閱尋找已安裝應用程式的應用程式使用者模型識別碼

重要

  • 在 Windows 10 1803 版中,設定節點引進了單一應用程式 kiosk 配置檔來取代 KioskModeApp CSP 節點。 KioskModeApp 節點很快就會被取代,因此您應該在設定 xml 中使用單一應用程式 kiosk 設定檔來設定組態節點,以設定公開的單一應用程式 Kiosk。
  • 此外,從 Windows 10 1803 版開始,如果在裝置上設定了設定節點,KioskModeApp 節點就會變成 No-Op。 如果設定設定節點,KioskModeApp 節點上的 Add/Replace/Delete 命令一律會將 SUCCESS 傳回 MDM 伺服器,但 KioskModeApp 的數據不會對裝置有任何影響。 KioskModeApp 上的 Get 命令會傳回已設定的 JSON 字串,即使其無效也一樣。
  • 您無法同時在裝置上設定 KioskModeApp 和 ShellLauncher。

描述架構屬性:

屬性名稱 屬性值
格式 chr (字串)
存取類型 新增、刪除、取得、取代

範例

  • 新增 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>
    
  • 刪除 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>
    
  • 取得 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>
    
  • 取代 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

領域 版本 適用的作業系統
✅ 裝置
❌ 使用者
❌ 專業版
✅ 企業版
✅ 教育版
❌ Windows SE
✅ IoT 企業版 / IoT 企業版 LTSC
✅Windows 10,版本 1803 [10.0.17134] 和更新版本
./Vendor/MSFT/AssignedAccess/ShellLauncher

此節點接受ShellLauncherConfiguration xml 作為輸入。

若要瞭解Shell Launcher,請參閱 什麼是殼層啟動器?

重要

您無法同時在裝置上設定ShellLauncher和 KioskModeApp。

注意

如果 Shell Launcher 功能可在 SKU 內使用,則使用 ShellLauncher 節點設定 Shell Launcher 會自動啟用殼層啟動器功能。

殼層啟動器作為功能,而ShellLauncher節點都需要 Windows 企業版或 Windows 教育版才能運作。 Windows 10 專業版 不支援ShellLauncher節點。

描述架構屬性:

屬性名稱 屬性值
格式 chr (字串)
存取類型 新增、刪除、取得、取代

以下是Shell Launcher XSD 參考文章: Shell Launcher XML 架構定義 (XSD)

範例

  • 新增

    <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>
    
  • [取得]

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

狀態

領域 版本 適用的作業系統
✅ 裝置
❌ 使用者
✅ 專業版
✅ 企業版
✅ 教育版
✅ Windows SE
✅ IoT 企業版 / IoT 企業版 LTSC
✅Windows 10,版本 1803 [10.0.17134] 和更新版本
./Vendor/MSFT/AssignedAccess/Status

這個只讀節點包含 kiosk health 事件 xml。

這可讓 MDM 伺服器查詢目前的 KioskModeAppRuntimeStatus,只要 StatusConfiguration 節點設定為 “On” 或 “OnWithAlerts”。 如果 StatusConfiguration 為 「關閉」,則會向 MDM 伺服器回報「找不到節點」錯誤。

Windows 10 版本 1809 開始,受指派的存取運行時間狀態支援監視單一應用程式 kiosk 和多應用程式模式。 以下是可能的狀態代碼:

狀態代碼 狀態 說明
0 不明 未知的狀態。
1 Running kiosk 或多應用程式) (AssignedAccess 帳戶正常執行。
2 AppNotFound kiosk 應用程式未部署至電腦。
3 ActivationFailed (kiosk 或多應用程式) 的 AssignedAccess 帳戶無法登入。
4 AppNoResponse kiosk 應用程式已成功啟動,但現在沒有回應。

此外,狀態承載包含下列欄位:

  • profileId:MDM 伺服器可以使用它來使造成錯誤的帳戶相互關聯。
  • OperationList:它提供套用指派存取 CSP 時所發生的失敗作業清單,如果有的話。

描述架構屬性:

屬性名稱 屬性值
格式 chr (字串)
存取類型 [取得]

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>

範例

<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

領域 版本 適用的作業系統
✅ 裝置
❌ 使用者
✅ 專業版
✅ 企業版
✅ 教育版
✅ Windows SE
✅ IoT 企業版 / IoT 企業版 LTSC
✅Windows 10,版本 1803 [10.0.17134] 和更新版本
./Vendor/MSFT/AssignedAccess/StatusConfiguration

此節點接受 StatusConfiguration xml 作為輸入。

StatusConfiguration xml 內的 StatusEnabled 節點有三個可能的值:

  • 開啟
  • OnWithAlerts
  • 關閉

根據預設,StatusConfiguration 節點不存在,這表示此功能已關閉。 一旦透過 CSP 啟用,指派的存取權將會檢查 kiosk 應用程式狀態,並等候 MDM 伺服器從 [狀態] 節點查詢最新狀態。 選擇性地,MDM 伺服器可以加入加入 MDM 警示,以便在指派的存取運行時間狀態變更時產生 MDM 警示,並立即傳送至 MDM 伺服器。 此 MDM 警示將包含可透過 [狀態] 節點取得的狀態承載。 此 MDM 警示標頭的定義如下:

  • MDMAlertMark: Critical
  • MDMAlertType: com.microsoft.mdm.assignedaccess.status
  • MDMAlertDataType: string
  • 源: ./Vendor/MSFT/AssignedAccess
  • 目標: N/A

注意

只會針對錯誤傳送 MDM 警示。

描述架構屬性:

屬性名稱 屬性值
格式 chr (字串)
存取類型 新增、刪除、取得、取代

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>

範例

  • 新增 StatusConfiguration 並將 StatusEnabled 設定為 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>
    
  • 刪除 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>
    
  • 取得 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>
    
  • 將 StatusEnabled 值取代為 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

以下是受指派的存取 XSD 參考文章: 指派的存取權 XML 架構定義 (XSD)

如需受指派存取配置檔的實際範例,請參閱 指派的存取範例

在組態中處理 XML

XML 編碼 (逸出) 和數據節點中 XML 的 CDATA,都可確保 DM 用戶端可以正確解譯 SyncML,並將設定 xml 傳送為原始格式的字串 (,未逸出) 傳送至 AssignedAccess CSP 來處理。

同樣地,設定 xml 內的 StartLayout xml 會使用與字串相同的格式 xml 在 xml 內。 在上面提供的範例組態 xml 中,CDATA 是用來內嵌 StartLayout xml。 如果您也使用 CDATA 在 SyncML 中內嵌組態 xml,則您有巢狀 CDATA,因此請注意所提供 CDATA 範例中 CDATA 的使用方式。 如此一來,建構 Configuration xml 時,MDM 伺服器可以逸出開始配置 xml 或將 startlayout xml 放在 CDATA 內,當 MDM 伺服器將設定 xml 放在 SyncML 內時,MDM 伺服器也可以逸出它或使用 CDATA 包裝。

逸出和 CDATA 是處理 xml 中的 xml 時所使用的機制。 請考慮將設定 xml 當作承載從伺服器傳送至客戶端的運輸通道。 這對於設定 CSP 的終端使用者和我們的 CSP 而言都是透明的。 伺服器端的客戶和我們的 CSP 都必須只看到原始組態 XML。

  • 此範例顯示數據節點的逸出 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>
                        &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>
    
  • 此範例顯示 XML 的 CData。

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

設定服務提供者參考