AssignedAccess CSP
AssignedAccess CSP(구성 서비스 공급자)는 키오스크 또는 제한된 사용자 환경을 구성하는 데 사용됩니다. CSP가 실행되면 할당된 액세스 프로필과 연결된 다음 사용자 로그인은 디바이스를 CSP 구성에 지정된 키오스크 모드로 전환합니다.
할당된 액세스를 구성하는 방법에 대한 자세한 내용은 키오스크 및 제한된 사용자 환경 구성을 참조하세요.
다음 목록에서는 AssignedAccess 구성 서비스 공급자 노드를 보여 줍니다.
- ./Vendor/MSFT/AssignedAccess
구성
범위 | 에디션 | 적용 가능한 OS |
---|---|---|
✅ 장치 ❌ 사용자 |
✅ 프로 ✅ Enterprise ✅ Education ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise 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
참고
이 정책은 더 이상 사용되지 않으며 향후 릴리스에서 제거될 수 있습니다.
범위 | 에디션 | 적용 가능한 OS |
---|---|---|
✅ 장치 ❌ 사용자 |
✅ 프로 ✅ Enterprise ✅ Education ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10 버전 1507 [10.0.10240] 이상 |
./Vendor/MSFT/AssignedAccess/KioskModeApp
이 노드는 계정 이름으로 구성된 json 문자열과 키오스크 모드 앱용 AUMID를 수락하고 반환할 수 있습니다.
예: {"User":"domain\\user", "AUMID":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}
.
키오스크 모드 앱을 구성할 때 계정 이름을 사용하여 대상 사용자를 찾습니다. 계정 이름에는 도메인 이름 및 사용자 이름이 포함됩니다. 사용자 이름이 시스템 전체에서 고유한 경우 도메인 이름은 선택 사항일 수 있습니다. 로컬 계정의 경우 도메인 이름은 컴퓨터 이름이어야 합니다. 이 노드에서 "Get"이 실행되면 항상 출력에 도메인 이름이 반환됩니다.
이 노드는 추가, 삭제, 바꾸기 및 가져오기 메서드를 지원합니다. 구성이 없으면 "Get" 및 "Delete" 메서드가 실패합니다. 키오스크 모드 앱에 대한 구성이 이미 있는 경우 "추가" 메서드가 실패합니다. "추가" 및 "바꾸기"의 데이터 패턴은 동일합니다.
팁
위의 예제에서 double \\
은 JSON에 있고 JSON은 로 이스케 \\
이프되기 \
때문에 필요합니다. MDM 서버에서 JSON 파서\composer를 사용하는 경우 고객에게 JSON에 있는 \\
을 하나\
만 입력하도록 요청해야 합니다. 사용자가 를 입력 \\
하면 JSON에 포함되며 \\\\
이로 인해 잘못된 결과가 발생합니다. 같은 이유로 domain\user
구성 xml에서 사용되는 는 이스케\
이프하지 않기 때문에 가 하나\
만 필요하지 \\
않습니다.
JSON 문자열에서 가 \
사용되는 한 두 에 AzureAD\someone@contoso.onmicrosoft.com
모두 domain\user
적용됩니다.
AUMID를 가져오는 방법에 대한 자세한 내용은 설치된 앱의 애플리케이션 사용자 모델 ID 찾기를 참조하세요.
중요
- Windows 10 버전 1803에서 구성 노드는 키오스크ModeApp CSP 노드를 대체하는 단일 앱 키오스크 프로필을 도입했습니다. KioskModeApp 노드는 곧 더 이상 사용되지 않으므로 구성 노드에 대한 구성 xml에서 단일 앱 키오스크 프로필을 사용하여 공용 단일 앱 키오스크를 구성해야 합니다.
- 또한 Windows 10 버전 1803부터 디바이스에 구성 노드가 구성된 경우 키오스크ModeApp 노드가 No-Op 됩니다. 구성 노드가 설정된 경우 KioskModeApp 노드의 추가/바꾸기/삭제 명령은 항상 MDM 서버에 SUCCESS를 반환하지만, KioskModeApp의 데이터는 디바이스에 적용되지 않습니다. KioskModeApp의 Get 명령은 유효하지 않더라도 구성된 JSON 문자열을 반환합니다.
- 디바이스에서 동시에 키오스크ModeApp과 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>
키오스크ModeApp 삭제
<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>
키오스크ModeApp 바꾸기
<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
범위 | 에디션 | 적용 가능한 OS |
---|---|---|
✅ 장치 ❌ 사용자 |
❌ 프로 ✅ Enterprise ✅ Education ❌ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10 버전 1803 [10.0.17134] 이상 |
./Vendor/MSFT/AssignedAccess/ShellLauncher
이 노드는 ShellLauncherConfiguration xml을 입력으로 허용합니다.
셸 시작 관리자에 대한 자세한 내용은 셸 시작 관리자란?을 참조하세요.
중요
디바이스에서 ShellLauncher와 KioskModeApp을 동시에 설정할 수 없습니다.
참고
ShellLauncher 노드를 사용하여 셸 시작 관리자를 구성하면 SKU 내에서 사용할 수 있는 경우 셸 시작 관리자 기능이 자동으로 활성화됩니다.
셸 시작 관리자를 기능으로 사용하고 ShellLauncher 노드를 모두 작동하려면 Windows Enterprise 또는 Windows Education이 필요합니다. ShellLauncher 노드는 Windows 10 Pro 지원되지 않습니다.
설명 프레임워크 속성:
속성 이름 | 속성 값 |
---|---|
형식 |
chr (문자열) |
액세스 유형 | 추가, 삭제, 가져오기, 바꾸기 |
셸 시작 관리자 XSD 참조 문서는 다음과 같습니다. 셸 시작 관리자 XML 스키마 정의(XSD).
예:
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>
가져오기
<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>
상태
범위 | 에디션 | 적용 가능한 OS |
---|---|---|
✅ 장치 ❌ 사용자 |
✅ 프로 ✅ Enterprise ✅ Education ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10 버전 1803 [10.0.17134] 이상 |
./Vendor/MSFT/AssignedAccess/Status
이 읽기 전용 노드에는 키오스크 상태 이벤트 xml이 포함됩니다.
이렇게 하면 StatusConfiguration 노드가 "On" 또는 "OnWithAlerts"로 설정된 한 MDM 서버에서 현재 KioskModeAppRuntimeStatus를 쿼리할 수 있습니다. StatusConfiguration이 "Off"이면 "노드를 찾을 수 없음" 오류가 MDM 서버에 보고됩니다.
Windows 10, 버전 1809 시작해서 할당된 액세스 런타임 상태 단일 앱 키오스크 및 다중 앱 모드 모니터링을 지원합니다. 가능한 상태 코드는 다음과 같습니다.
상태 코드 | 상태 | 설명 |
---|---|---|
0 | 알 수 없음 | 알 수 없는 상태. |
1 | Running | AssignedAccess 계정(키오스크 또는 다중 앱)이 정상적으로 실행됩니다. |
2 | AppNotFound | 키오스크 앱은 머신에 배포되지 않습니다. |
3 | ActivationFailed | AssignedAccess 계정(키오스크 또는 다중 앱)이 로그인하지 못했습니다. |
4 | AppNoResponse | 키오스크 앱이 성공적으로 시작되었지만 지금은 응답하지 않습니다. |
또한 상태 페이로드에는 다음 필드가 포함됩니다.
- 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
범위 | 에디션 | 적용 가능한 OS |
---|---|---|
✅ 장치 ❌ 사용자 |
✅ 프로 ✅ Enterprise ✅ Education ✅ Windows SE ✅ IoT Enterprise/IoT Enterprise LTSC |
✅Windows 10 버전 1803 [10.0.17134] 이상 |
./Vendor/MSFT/AssignedAccess/StatusConfiguration
이 노드는 StatusConfiguration xml을 입력으로 허용합니다.
StatusConfiguration xml 내에 StatusEnabled 노드에 대한 세 가지 가능한 값이 있습니다.
- Windows
- OnWithAlerts
- 꺼짐
기본적으로 StatusConfiguration 노드는 존재하지 않으며 이 기능이 꺼져 있음을 의미합니다. CSP를 통해 사용하도록 설정되면 할당된 액세스는 키오스크 앱 상태 검사 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>
예:
StatusEnabled를 OnWithAlerts로 설정하여 StatusConfiguration 추가
<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>
상태 삭제구성
<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>
상태 가져오기구성
<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 값을 켜기로 바꿉니다.
<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를 사용하는 방법에 주의하세요. 즉, 구성 xml이 생성될 때 MDM 서버는 시작 레이아웃 xml을 이스케이프하거나 CDATA 내에 startlayout xml을 배치할 수 있습니다. MDM 서버가 SyncML 내에 구성 xml을 배치할 때 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> <?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>
이 예제에서는 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>