mirror of
https://github.com/MicrosoftDocs/windows-itpro-docs.git
synced 2025-06-19 12:23:37 +00:00
updates
This commit is contained in:
@ -1,524 +0,0 @@
|
||||
---
|
||||
title: Set up a multi-app kiosk on Windows 10
|
||||
description: Learn how to configure a kiosk device running Windows 10 so that users can only run a few specific apps.
|
||||
ms.topic: how-to
|
||||
ms.date: 11/08/2023
|
||||
---
|
||||
|
||||
# Set up a multi-app kiosk on Windows 10 devices
|
||||
|
||||
A kiosk device typically runs a single application, and users are prevented from accessing any features or functions on the device outside of the app.
|
||||
|
||||
The assigned access feature is intended for dedicated devices, like kiosks. When the multi-app assigned access configuration is applied on the device, [certain policies](kiosk-policies.md) are enforced system-wide, impacting other users on the device. Deleting the kiosk configuration removes the assigned access lockdown profiles associated with the users, but it can't revert all the enforced policies (for example, the Start layout). To clear all the policy settings enforced by Assigned Access, you must reset Windows.
|
||||
|
||||
## Configure a kiosk in Microsoft Intune
|
||||
|
||||
To configure a kiosk in Microsoft Intune, see:
|
||||
|
||||
- [Windows client and Windows Holographic for Business device settings to run as a dedicated kiosk using Intune](/intune/kiosk-settings)
|
||||
- [Windows client device settings to run as a kiosk in Intune](/intune/kiosk-settings-windows)
|
||||
|
||||
## Configure a kiosk using a provisioning package
|
||||
|
||||
Process:
|
||||
|
||||
1. [Create XML file](#create-xml-file)
|
||||
1. [Add XML file to provisioning package](#add-xml)
|
||||
1. [Apply provisioning package to device](#apply-ppkg)
|
||||
|
||||
Watch how to use a provisioning package to configure a multi-app kiosk.
|
||||
|
||||
> [!VIDEO https://www.microsoft.com/videoplayer/embed/fa125d0f-77e4-4f64-b03e-d634a4926884?autoplay=false]
|
||||
|
||||
### Create XML file
|
||||
|
||||
#### Profile
|
||||
|
||||
There are two types of profiles that you can specify in the XML:
|
||||
|
||||
- **Lockdown profile**: Users assigned a lockdown profile will see the desktop in tablet mode with the specific apps on the Start screen.
|
||||
- **Kiosk profile**: Starting with Windows 10 version 1803, this profile replaces the KioskModeApp node of the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). Users assigned a kiosk profile won't see the desktop, but only the kiosk app running in full-screen mode.
|
||||
|
||||
A lockdown profile section in the XML has the following entries:
|
||||
|
||||
- [**Id**](#id)
|
||||
- [**AllowedApps**](#allowedapps)
|
||||
- [**FileExplorerNamespaceRestrictions**](#fileexplorernamespacerestrictions)
|
||||
- [**StartLayout**](#startlayout)
|
||||
- [**Taskbar**](#taskbar)
|
||||
|
||||
A kiosk profile in the XML has the following entries:
|
||||
|
||||
- [**Id**](#id)
|
||||
- [**KioskModeApp**](#kioskmodeapp)
|
||||
|
||||
##### Id
|
||||
|
||||
The profile **Id** is a GUID attribute to uniquely identify the profile. You can create a GUID using a GUID generator. The GUID just needs to be unique within this XML file.
|
||||
|
||||
```xml
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">…</Profile>
|
||||
</Profiles>
|
||||
```
|
||||
|
||||
##### AllowedApps
|
||||
|
||||
**AllowedApps** is a list of applications that are allowed to run. Apps can be Universal Windows Platform (UWP) apps or Windows desktop applications. Starting with Windows 10 version 1809, you can configure a single app in the **AllowedApps** list to run automatically when the assigned access user account signs in.
|
||||
|
||||
- For UWP apps, you need to provide the App User Model ID (AUMID). [Learn how to get the AUMID](./find-the-application-user-model-id-of-an-installed-app.md), or [get the AUMID from the Start Layout XML](#startlayout).
|
||||
- For desktop apps, you need to specify the full path of the executable, which can contain one or more system environment variables in the form of `%variableName%`. For example, `%systemroot%` or `%windir%`.
|
||||
- If an app has a dependency on another app, both must be included in the allowed apps list. For example, Internet Explorer 64-bit has a dependency on Internet Explorer 32-bit, so you must allow both `"C:\Program Files\internet explorer\iexplore.exe"` and `"C:\Program Files (x86)\Internet Explorer\iexplore.exe"`.
|
||||
- To configure a single app to launch automatically when the user signs in, include `rs5:AutoLaunch="true"` after the AUMID or path. You can also include arguments to be passed to the app. For an example, see [the AllowedApps sample XML](#apps-sample).
|
||||
|
||||
When the multi-app kiosk configuration is applied to a device, AppLocker rules will be generated to allow the apps that are listed in the configuration. Here are the predefined assigned access AppLocker rules for **UWP apps**:
|
||||
|
||||
1. Default rule is to allow all users to launch the signed package apps.
|
||||
1. The package app blocklist is generated at runtime when the assigned access user signs in. Based on the installed/provisioned package apps available for the user account, assigned access generates the blocklist. This list will exclude the default allowed inbox package apps, which are critical for the system to function. It then excludes the allowed packages that enterprises defined in the assigned access configuration. If there are multiple apps within the same package, all these apps will be excluded. This blocklist will be used to prevent the user from accessing the apps that are currently available for the user but not in the allowed list.
|
||||
|
||||
> [!NOTE]
|
||||
> You can't manage AppLocker rules that are generated by the multi-app kiosk configuration in [MMC snap-ins](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh994629(v=ws.11)#BKMK_Using_Snapins). Avoid creating AppLocker rules that conflict with AppLocker rules that are generated by the multi-app kiosk configuration.
|
||||
>
|
||||
> Multi-app kiosk mode doesn't block the enterprise or the users from installing UWP apps. When a new UWP app is installed during the current assigned access user session, this app will not be in the deny list. When the user signs out and signs in again, the app will be included in the blocklist. If this is an enterprise-deployed line-of-business app and you want to allow it to run, update the assigned access configuration to include it in the allowed app list.
|
||||
|
||||
Here are the predefined assigned access AppLocker rules for **desktop apps**:
|
||||
|
||||
1. Default rule is to allow all users to launch the desktop programs signed with Microsoft Certificate in order for the system to boot and function. The rule also allows the admin user group to launch all desktop programs.
|
||||
1. There's a predefined inbox desktop app blocklist for the assigned access user account, and this blocklist is adjusted based on the desktop app allowlist that you defined in the multi-app configuration.
|
||||
1. Enterprise-defined allowed desktop apps are added in the AppLocker allowlist.
|
||||
|
||||
The following example allows Groove Music, Movies & TV, Photos, Weather, Calculator, Paint, and Notepad apps to run on the device, with Notepad configured to automatically launch and create a file called `123.text` when the user signs in.
|
||||
|
||||
```xml
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" />
|
||||
<App AppUserModelId="Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="%windir%\system32\mspaint.exe" />
|
||||
<App DesktopAppPath="C:\Windows\System32\notepad.exe" rs5:AutoLaunch="true" rs5:AutoLaunchArguments="123.txt">
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
```
|
||||
|
||||
##### FileExplorerNamespaceRestrictions
|
||||
|
||||
Starting in Windows 10 version 1809, you can explicitly allow some known folders to be accessed when the user tries to open the file dialog box in multi-app assigned access by including **FileExplorerNamespaceRestrictions** in your XML file. Currently, **Downloads** is the only folder supported. This behavior can also be set using Microsoft Intune.
|
||||
|
||||
The following example shows how to allow user access to the Downloads folder in the common file dialog box.
|
||||
|
||||
> [!TIP]
|
||||
> To grant access to the Downloads folder through File Explorer, add "Explorer.exe" to the list of allowed apps, and pin a file explorer shortcut to the kiosk start menu.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="https://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:rs5="https://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
> <Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
...
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads"/>
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
...
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
`FileExplorerNamespaceRestriction` has been extended in current Windows 10 Prerelease for finer granularity and easier use. For more information and full samples, see [Assigned access XML reference](kiosk-xml.md). By using new elements, you can configure whether a user can access the Downloads folder or removable drives, or have no restrictions at all.
|
||||
|
||||
> [!NOTE]
|
||||
> - `FileExplorerNamespaceRestrictions` and `AllowedNamespace:Downloads` are available in namespace `https://schemas.microsoft.com/AssignedAccess/201810/config`.
|
||||
> - `AllowRemovableDrives` and `NoRestriction` are defined in a new namespace `https://schemas.microsoft.com/AssignedAccess/2020/config`.
|
||||
|
||||
- When `FileExplorerNamespaceRestrictions` node isn't used, or used but left empty, the user won't be able to access any folder in a common dialog. For example, **Save As** in the Microsoft Edge browser.
|
||||
- When Downloads is mentioned in allowed namespace, user will be able to access Downloads folder.
|
||||
- When `AllowRemovableDrives` is used, user will be to access removable drives.
|
||||
- When `NoRestriction` is used, no restriction will be applied to the dialog.
|
||||
- `AllowRemovableDrives` and `AllowedNamespace:Downloads` can be used at the same time.
|
||||
|
||||
##### StartLayout
|
||||
|
||||
After you define the list of allowed applications, you can customize the Start layout for your kiosk experience. You can choose to pin all the allowed apps on the Start screen or just a subset, depending on whether you want the end user to directly access them on the Start screen.
|
||||
|
||||
The easiest way to create a customized Start layout to apply to other Windows client devices is to set up the Start screen on a test device and then export the layout. For detailed steps, see [Customize and export Start layout](../start/customize-and-export-start-layout.md).
|
||||
|
||||
A few things to note here:
|
||||
|
||||
- The test device on which you customize the Start layout should have the same OS version that is installed on the device where you plan to deploy the multi-app assigned access configuration.
|
||||
- Since the multi-app assigned access experience is intended for fixed-purpose devices, to ensure the device experiences are consistent and predictable, use the *full* Start layout option instead of the *partial* Start layout.
|
||||
- There are no apps pinned on the taskbar in the multi-app mode, and it's not supported to configure Taskbar layout using the `<CustomTaskbarLayoutCollection>` tag in a layout modification XML as part of the assigned access configuration.
|
||||
- The following example uses `DesktopApplicationLinkPath` to pin the desktop app to start. When the desktop app doesn't have a shortcut link on the target device, [learn how to provision .lnk files using Windows Configuration Designer](#lnk-files).
|
||||
|
||||
The following example pins Groove Music, Movies & TV, Photos, Weather, Calculator, Paint, and Notepad apps on Start:
|
||||
|
||||
```xml
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="https://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="https://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="https://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:Tile Size="2x2" Column="4" Row="2" AppUserModelID="Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" />
|
||||
<start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="2x2" Column="4" Row="4" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
</start:Group>
|
||||
<start:Group Name="Group2">
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> If an app isn't installed for the user, but is included in the Start layout XML, the app isn't shown on the Start screen.
|
||||
|
||||

|
||||
|
||||
##### Taskbar
|
||||
|
||||
Define whether you want to have the taskbar present in the kiosk device. For tablet-based or touch-enabled all-in-one kiosks, when you don't attach a keyboard and mouse, you can hide the taskbar as part of the multi-app experience if you want.
|
||||
|
||||
The following example exposes the taskbar to the end user:
|
||||
|
||||
```xml
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
```
|
||||
|
||||
The following example hides the taskbar:
|
||||
|
||||
```xml
|
||||
<Taskbar ShowTaskbar="false"/>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> This is different from the **Automatically hide the taskbar** option in tablet mode, which shows the taskbar when swiping up from or moving the mouse pointer down to the bottom of the screen. Setting **ShowTaskbar** as **false** will always keep the taskbar hidden.
|
||||
|
||||
##### KioskModeApp
|
||||
|
||||
**KioskModeApp** is used for a [kiosk profile](#profile) only. Enter the AUMID for a single app. You can only specify one kiosk profile in the XML.
|
||||
|
||||
```xml
|
||||
<KioskModeApp AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"/>
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The kiosk profile is designed for public-facing kiosk devices. We recommend that you use a local, non-administrator account. If the device is connected to your company network, using a domain or Microsoft Entra account could potentially compromise confidential information.
|
||||
|
||||
#### Configs
|
||||
|
||||
Under **Configs**, define which user account will be associated with the profile. When this user account signs in on the device, the associated assigned access profile will be enforced. This behavior includes the allowed apps, Start layout, taskbar configuration, and other local group policies or mobile device management (MDM) policies set as part of the multi-app experience.
|
||||
|
||||
The full multi-app assigned access experience can only work for non-admin users. It's not supported to associate an admin user with the assigned access profile. Making this configuration in the XML file will result in unexpected or unsupported experiences when this admin user signs in.
|
||||
|
||||
You can assign:
|
||||
|
||||
- [A local standard user account that signs in automatically](#config-for-autologon-account) (Applies to Windows 10, version 1803 only)
|
||||
- [An individual account, which can be local, domain, or Microsoft Entra ID](#config-for-individual-accounts)
|
||||
- [A group account, which can be local, Active Directory (domain), or Microsoft Entra ID](#config-for-group-accounts) (Applies to Windows 10, version 1803 only).
|
||||
|
||||
> [!NOTE]
|
||||
> Configs that specify group accounts cannot use a kiosk profile, only a lockdown profile. If a group is configured to a kiosk profile, the CSP will reject the request.
|
||||
|
||||
##### Config for AutoLogon Account
|
||||
|
||||
When you use `<AutoLogonAccount>` and the configuration is applied to a device, the specified account (managed by Assigned Access) is created on the device as a local standard user account. The specified account is signed in automatically after restart.
|
||||
|
||||
The following example shows how to specify an account to sign in automatically.
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount/>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
Starting with Windows 10 version 1809, you can configure the display name that will be shown when the user signs in. The following example shows how to create an AutoLogon Account that shows the name "Hello World".
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="Hello World"/>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
On domain-joined devices, local user accounts aren't shown on the sign-in screen by default. To show the **AutoLogonAccount** on the sign-in screen, enable the following Group Policy setting: **Computer Configuration > Administrative Templates > System > Logon > Enumerate local users on domain-joined computers**. (The corresponding MDM policy setting is [WindowsLogon/EnumerateLocalUsersOnDomainJoinedComputers in the Policy CSP](/windows/client-management/mdm/policy-csp-windowslogon#windowslogon-enumeratelocalusersondomainjoinedcomputers).)
|
||||
|
||||
> [!IMPORTANT]
|
||||
> When Exchange Active Sync (EAS) password restrictions are active on the device, the autologon feature does not work. This behavior is by design. For more informations, see [How to turn on automatic logon in Windows](/troubleshoot/windows-server/user-profiles-and-logon/turn-on-automatic-logon).
|
||||
|
||||
##### Config for individual accounts
|
||||
|
||||
Individual accounts are specified using `<Account>`.
|
||||
|
||||
- Local account can be entered as `machinename\account` or `.\account` or just `account`.
|
||||
- Domain account should be entered as `domain\account`.
|
||||
- Microsoft Entra account must be specified in this format: `AzureAD\{email address}`. **AzureAD** must be provided _as is_, and consider it's a fixed domain name. Then follow with the Microsoft Entra ID email address. For example, `AzureAD\someone@contoso.onmicrosoft.com`
|
||||
|
||||
> [!WARNING]
|
||||
> Assigned access can be configured via WMI or CSP to run its applications under a domain user or service account, rather than a local account. However, use of domain user or service accounts introduces risks that an attacker subverting the assigned access application might gain access to sensitive domain resources that have been inadvertently left accessible to any domain account. We recommend that customers proceed with caution when using domain accounts with assigned access, and consider the domain resources potentially exposed by the decision to do so.
|
||||
|
||||
Before applying the multi-app configuration, make sure the specified user account is available on the device, otherwise it will fail.
|
||||
|
||||
> [!NOTE]
|
||||
> For both domain and Microsoft Entra accounts, it's not required that target account is explicitly added to the device. As long as the device is AD-joined or Microsoft Entra joined, the account can be discovered in the domain forest or tenant that the device is joined to. For local accounts, it is required that the account exist before you configure the account for assigned access.
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
##### Config for group accounts
|
||||
|
||||
Group accounts are specified using `<UserGroup>`. Nested groups aren't supported. For example, if user A is member of Group 1, Group 1 is member of Group 2, and Group 2 is used in `<Config/>`, user A won't have the kiosk experience.
|
||||
|
||||
- Local group: Specify the group type as **LocalGroup** and put the group name in Name attribute. Any Microsoft Entra accounts that are added to the local group won't have the kiosk settings applied.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="LocalGroup" Name="mygroup" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
- Domain group: Both security and distribution groups are supported. Specify the group type as <strong>ActiveDirectoryGroup</strong>. Use the domain name as the prefix in the name attribute.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="ActiveDirectoryGroup" Name="mydomain\mygroup" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
- Microsoft Entra group: Use the group object ID from the Azure portal to uniquely identify the group in the Name attribute. You can find the object ID on the overview page for the group in **Users and groups** > **All groups**. Specify the group type as **AzureActiveDirectoryGroup**. The kiosk device must have internet connectivity when users that belong to the group sign-in.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="AzureActiveDirectoryGroup" Name="a8d36e43-4180-4ac5-a627-fb8149bba1ac" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> If a Microsoft Entra group is configured with a lockdown profile on a device, a user in the Microsoft Entra group must change their password (after the account has been created with default password on the portal) before they can sign in to this device. If the user uses the default password to sign in to the device, the user will be immediately signed out.
|
||||
|
||||
<span id="add-xml" />
|
||||
|
||||
|
||||
|
||||
### Add XML file to provisioning package
|
||||
|
||||
Before you add the XML file to a provisioning package, you can [validate your configuration XML against the XSD](kiosk-xml.md#xsd-for-assignedaccess-configuration-xml).
|
||||
|
||||
Use the Windows Configuration Designer tool to create a provisioning package. [Learn how to install Windows Configuration Designer.](../provisioning-packages/provisioning-install-icd.md).
|
||||
|
||||
> [!IMPORTANT]
|
||||
> When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed.
|
||||
|
||||
1. Open Windows Configuration Designer. By default: `%systemdrive%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe`.
|
||||
|
||||
1. Choose **Advanced provisioning**.
|
||||
|
||||
1. Name your project, and select **Next**.
|
||||
|
||||
1. Choose **All Windows desktop editions** and select **Next**.
|
||||
|
||||
1. On **New project**, select **Finish**. The workspace for your package opens.
|
||||
|
||||
1. Expand **Runtime settings** > **AssignedAccess** > **MultiAppAssignedAccessSettings**.
|
||||
|
||||
1. In the center pane, select **Browse**. Locate and select the assigned access configuration XML file that you created.
|
||||
|
||||

|
||||
|
||||
1. _Optional: If you want to apply the provisioning package after device initial setup and there's an admin user already available on the kiosk device, skip this step._ Create an admin user account in **Runtime settings** > **Accounts** > **Users**. Provide a **UserName** and **Password**, and select **UserGroup** as **Administrators**. With this account, you can view the provisioning status and logs if needed.
|
||||
|
||||
1. _Optional: If you already have a non-admin account on the kiosk device, skip this step._ Create a local standard user account in **Runtime settings** > **Accounts** > **Users**. Make sure the **UserName** is the same as the account that you specify in the configuration XML. Select **UserGroup** as **Standard Users**.
|
||||
|
||||
1. On the **File** menu, select **Save.**
|
||||
|
||||
1. On the **Export** menu, select **Provisioning package**.
|
||||
|
||||
1. Change **Owner** to **IT Admin**, which will set the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.**
|
||||
|
||||
1. Optional. In the **Provisioning package security** window, you can choose to encrypt the package and enable package signing.
|
||||
|
||||
- **Enable package encryption** - If you select this option, an auto-generated password will be shown on the screen.
|
||||
|
||||
- **Enable package signing** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by clicking **Browse** and choosing the certificate you want to use to sign the package.
|
||||
|
||||
1. Select **Next** to specify the output location where you want the provisioning package to go when it's built. By default, Windows Imaging and Configuration Designer (ICD) uses the project folder as the output location.
|
||||
|
||||
Optionally, you can select **Browse** to change the default output location.
|
||||
|
||||
1. Select **Next**.
|
||||
|
||||
1. Select **Build** to start building the package. The provisioning package doesn't take long to build. The project information is displayed in the build page and the progress bar indicates the build status.
|
||||
|
||||
If you need to cancel the build, select **Cancel**. This action cancels the current build process, closes the wizard, and takes you back to the **Customizations Page**.
|
||||
|
||||
1. If your build fails, an error message will show up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again.
|
||||
|
||||
If your build is successful, the name of the provisioning package, output directory, and project directory will be shown.
|
||||
|
||||
- If you choose, you can build the provisioning package again and pick a different path for the output package. To do this action, select **Back** to change the output package name and path, and then select **Next** to start another build.
|
||||
- If you're done, select **Finish** to close the wizard and go back to the **Customizations Page**.
|
||||
|
||||
1. Copy the provisioning package to the root directory of a USB drive.
|
||||
|
||||
<span id="apply-ppkg" />
|
||||
|
||||
### Apply provisioning package to device
|
||||
|
||||
Provisioning packages can be applied to a device during initial setup (out-of-box experience or "OOBE") and after ("runtime"). For more information, see [Apply a provisioning package](../provisioning-packages/provisioning-apply-package.md).
|
||||
|
||||
> [!NOTE]
|
||||
> If your provisioning package doesn't include the assigned access user account creation, make sure the account you specified in the multi-app configuration XML exists on the device.
|
||||
|
||||
### Use MDM to deploy the multi-app configuration
|
||||
|
||||
Multi-app kiosk mode is enabled by the [AssignedAccess configuration service provider (CSP)](/windows/client-management/mdm/assignedaccess-csp). Your MDM policy can contain the assigned access configuration XML.
|
||||
|
||||
If your device is enrolled with an MDM service that supports applying the assigned access configuration, you can use it to apply the setting remotely.
|
||||
|
||||
The OMA-URI for multi-app policy is `./Device/Vendor/MSFT/AssignedAccess/Configuration`.
|
||||
|
||||
## Considerations for Windows Mixed Reality immersive headsets
|
||||
|
||||
With the advent of [mixed reality devices (video link)](https://www.youtube.com/watch?v=u0jqNioU2Lo), you might want to create a kiosk that can run mixed reality apps.
|
||||
|
||||
To create a multi-app kiosk that can run mixed reality apps, you must include the following apps in the [AllowedApps list](#allowedapps):
|
||||
|
||||
```xml
|
||||
<App AppUserModelId="MixedRealityLearning_cw5n1h2txyewy!MixedRealityLearning" />
|
||||
<App AppUserModelId="HoloShell_cw5n1h2txyewy!HoloShell" />
|
||||
<App AppUserModelId="Microsoft.Windows.HolographicFirstRun_cw5n1h2txyewy!App" />
|
||||
<App AppUserModelId="Microsoft.MixedReality.Portal_8wekyb3d8bbwe!App" />
|
||||
```
|
||||
|
||||
These apps are in addition to any mixed reality apps that you allow.
|
||||
|
||||
**Before your kiosk user signs in:** An admin user must sign in to the PC, connect a mixed reality device, and complete the guided setup for the Mixed Reality Portal. The first time that the Mixed Reality Portal is set up, some files and content are downloaded. A kiosk user wouldn't have permissions to download and so their setup of the Mixed Reality Portal would fail.
|
||||
|
||||
After the admin has completed setup, the kiosk account can sign in and repeat the setup. The admin user may want to complete the kiosk user setup before providing the PC to employees or customers.
|
||||
|
||||
There's a difference between the mixed reality experiences for a kiosk user and other users. Typically, when a user connects a mixed reality device, they begin in the [Mixed Reality home](/windows/mixed-reality/discover/navigating-the-windows-mixed-reality-home). The Mixed Reality home is a shell that runs in "silent" mode when the PC is configured as a kiosk. When a kiosk user connects a mixed reality device, they'll see only a blank display in the device, and won't have access to the features and functionality available in the home. To run a mixed reality app, the kiosk user must launch the app from the PC Start screen.
|
||||
|
||||
<!--
|
||||
## Policies set by multi-app kiosk configuration
|
||||
|
||||
It's not recommended to set policies enforced in assigned access multi-app mode to different values using other channels, as the multi-app mode has been optimized to provide a locked-down experience.
|
||||
|
||||
When the multi-app assigned access configuration is applied on the device, certain policies are enforced system-wide, and will affect other users on the device.
|
||||
|
||||
### Group policy
|
||||
|
||||
The following local policies affect all **non-administrator** users on the system, regardless whether the user is configured as an assigned access user or not. This list includes local users, domain users, and Microsoft Entra users.
|
||||
|
||||
| Setting | Value |
|
||||
|--|--|
|
||||
| Remove access to the context menus for the task bar | Enabled |
|
||||
| Clear history of recently opened documents on exit | Enabled |
|
||||
| Prevent users from customizing their Start Screen | Enabled |
|
||||
| Prevent users from uninstalling applications from Start | Enabled |
|
||||
| Remove Run menu from Start Menu | Enabled |
|
||||
| Disable showing balloon notifications as toast | Enabled |
|
||||
| Do not allow pinning items in Jump Lists | Enabled |
|
||||
| Do not allow pinning programs to the Taskbar | Enabled |
|
||||
| Do not display or track items in Jump Lists from remote locations | Enabled |
|
||||
| Remove Notifications and Action Center | Enabled |
|
||||
| Lock all taskbar settings | Enabled |
|
||||
| Lock the Taskbar | Enabled |
|
||||
| Prevent users from adding or removing toolbars | Enabled |
|
||||
| Prevent users from resizing the taskbar | Enabled |
|
||||
| Remove frequent programs list from the Start Menu | Enabled |
|
||||
| Remove Pinned programs from the taskbar | Enabled |
|
||||
| Remove the Security and Maintenance icon | Enabled |
|
||||
| Turn off all balloon notifications | Enabled |
|
||||
| Turn off feature advertisement balloon notifications | Enabled |
|
||||
| Turn off toast notifications | Enabled |
|
||||
| Remove Task Manager | Enabled |
|
||||
| Remove Change Password option in Security Options UI | Enabled |
|
||||
| Remove Sign Out option in Security Options UI | Enabled |
|
||||
| Remove All Programs list from the Start Menu | Enabled - Remove and disable setting |
|
||||
| Prevent access to drives from My Computer | Enabled - Restrict all drives |
|
||||
|
||||
> [!NOTE]
|
||||
> When **Prevent access to drives from My Computer** is enabled, users can browse the directory structure in File Explorer, but they cannot open folders and access the contents. Also, they cannot use the **Run** dialog box or the **Map Network Drive** dialog box to view the directories on these drives. The icons representing the specified drives still appear in File Explorer, but if users double-click the icons, a message appears explaining that a setting prevents the action. This setting does not prevent users from using programs to access local and network drives. It does not prevent users from using the Disk Management snap-in to view and change drive characteristics.
|
||||
|
||||
### MDM policy
|
||||
|
||||
Some of the MDM policies based on the [Policy configuration service provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider) affect all users on the system.
|
||||
|
||||
Setting | Value | System-wide
|
||||
--- | --- | ---
|
||||
[Experience/AllowCortana](/windows/client-management/mdm/policy-csp-experience#experience-allowcortana) | 0 - Not allowed | Yes
|
||||
[Start/AllowPinnedFolderDocuments](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderdocuments) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderDownloads](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderdownloads) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderFileExplorer](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderfileexplorer) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderHomeGroup](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderhomegroup) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderMusic](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldermusic) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderNetwork](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldernetwork) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderPersonalFolder](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderpersonalfolder) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderPictures](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderpictures) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderSettings](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldersettings) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
[Start/AllowPinnedFolderVideos](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldervideos) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes
|
||||
Start/DisableContextMenus | 1 - Context menus are hidden for Start apps | No
|
||||
[Start/HidePeopleBar](/windows/client-management/mdm/policy-csp-start#start-hidepeoplebar) | 1 - True (hide) | No
|
||||
[Start/HideChangeAccountSettings](/windows/client-management/mdm/policy-csp-start#start-hidechangeaccountsettings) | 1 - True (hide) | Yes
|
||||
[WindowsInkWorkspace/AllowWindowsInkWorkspace](/windows/client-management/mdm/policy-csp-windowsinkworkspace#windowsinkworkspace-allowwindowsinkworkspace) | 0 - Access to ink workspace is disabled and the feature is turned off | Yes
|
||||
[Start/StartLayout](/windows/client-management/mdm/policy-csp-start#start-startlayout) | Configuration dependent | No
|
||||
[WindowsLogon/DontDisplayNetworkSelectionUI](/windows/client-management/mdm/policy-csp-windowslogon#windowslogon-dontdisplaynetworkselectionui) | <Enabled/> | Yes
|
||||
|
||||
-->
|
||||
|
||||
## Provision .lnk files using Windows Configuration Designer
|
||||
|
||||
First, create your desktop app's shortcut file by installing the app on a test device, using the default installation location. Right-click the installed application, and choose **Send to** > **Desktop (create shortcut)**. Rename the shortcut to `<appName>.lnk`
|
||||
|
||||
Next, create a batch file with two commands. If the desktop app is already installed on the target device, skip the first command for MSI install.
|
||||
|
||||
```PowerShell
|
||||
msiexec /I "<appName>.msi" /qn /norestart
|
||||
copy <appName>.lnk "%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\<appName>.lnk"
|
||||
```
|
||||
|
||||
In Windows Configuration Designer, under **ProvisioningCommands** > **DeviceContext**:
|
||||
|
||||
- Under **CommandFiles**, upload your batch file, your .lnk file, and your desktop app installation file.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Paste the full file path to the .lnk file in the **CommandFiles** field. If you browse to and select the .lnk file, the file path will be changed to the path of the target of the .lnk.
|
||||
|
||||
- Under **CommandLine**, enter `cmd /c *FileName*.bat`.
|
||||
|
||||
## Other methods
|
||||
|
||||
Environments that use WMI can use the [MDM Bridge WMI Provider to configure a kiosk](kiosk-mdm-bridge.md).
|
@ -1,398 +0,0 @@
|
||||
---
|
||||
title: Set up a multi-app kiosk on Windows 11
|
||||
description: Learn how to configure a kiosk device running Windows 11 so that users can only run a few specific apps.
|
||||
ms.date: 05/12/2023
|
||||
appliesto:
|
||||
- ✅ <a href=/windows/release-health/supported-versions-windows-client target=_blank>Windows 11</a>
|
||||
|
||||
ms.topic: how-to
|
||||
---
|
||||
# Set up a multi-app kiosk on Windows 11 devices
|
||||
|
||||
> [!NOTE]
|
||||
> The use of multiple monitors is supported for multi-app kiosk mode in Windows 11.
|
||||
|
||||
An assigned access multi-app kiosk runs one or more apps from the desktop. People using the kiosk see a customized Start that shows only the apps that are allowed. With this approach, you can configure a locked-down experience for different account types. A multi-app kiosk is appropriate for devices that are shared by multiple people. Here's a guide on how to set up a multi-app kiosk.
|
||||
|
||||
> [!WARNING]
|
||||
> The assigned access feature is intended for corporate-owned fixed-purpose devices, like kiosks. When the multi-app assigned access configuration is applied on the device, [certain policies](kiosk-policies.md) are enforced system-wide, and will impact other users on the device. Deleting the kiosk configuration will remove the assigned access lockdown profiles associated with the users, but it cannot revert all the enforced policies (such as Start layout). A factory reset is needed to clear all the policies enforced via assigned access.
|
||||
|
||||
> [!TIP]
|
||||
> Be sure to check the [configuration recommendations](kiosk-prepare.md) before you set up your kiosk.
|
||||
|
||||
<!--
|
||||
## Create the XML file
|
||||
|
||||
Let's start by looking at the basic structure of the XML file.
|
||||
|
||||
- A configuration xml can define multiple *profiles*. Each profile has a unique **Id** and defines a set of applications that are allowed to run, whether the taskbar is visible, and can include a custom Start layout.
|
||||
|
||||
- A configuration xml can have multiple *config* sections. Each config section associates a non-admin user account to a default profile **Id**.
|
||||
|
||||
- Multiple config sections can be associated to the same profile.
|
||||
|
||||
- A profile has no effect if it's not associated to a config section.
|
||||
|
||||
You can start your file by pasting the following XML into an XML editor, and saving the file as *filename*.xml. Each section of this XML is explained in this article.
|
||||
|
||||
> [!NOTE]
|
||||
> If you want to write a configuration file to be applied to both Windows 10 and Windows 11 devices, follow the [Windows 10 instructions](lock-down-windows-10-to-specific-apps.md) to add the StartLayout tag to your XML file, just above the StartPins tag. Windows will automatically ignore the sections that don't apply to the version running.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="">
|
||||
<AllAppsList>
|
||||
<AllowedApps/>
|
||||
</AllAppsList>
|
||||
<v5:StartPins/>
|
||||
<Taskbar/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account/>
|
||||
<DefaultProfile Id=""/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
-->
|
||||
|
||||
#### Profile
|
||||
|
||||
There are two types of profiles that you can specify in the XML:
|
||||
|
||||
- **Lockdown profile**: Users assigned a lockdown profile will see the desktop in tablet mode with the specific apps on the Start screen.
|
||||
- **Kiosk profile**: Starting with Windows 10 version 1803, this profile replaces the KioskModeApp node of the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). Users assigned a kiosk profile won't see the desktop, but only the kiosk app running in full-screen mode.
|
||||
|
||||
A lockdown profile section in the XML has the following entries:
|
||||
|
||||
- [**Id**](#id)
|
||||
- [**AllowedApps**](#allowedapps)
|
||||
- [**StartPins**](#startpins)
|
||||
- [**Taskbar**](#taskbar)
|
||||
|
||||
A kiosk profile in the XML has the following entries:
|
||||
|
||||
- [**Id**](#id)
|
||||
- [**KioskModeApp**](#kioskmodeapp)
|
||||
|
||||
##### Id
|
||||
|
||||
The profile **Id** is a GUID attribute to uniquely identify the profile. You can create a GUID using a GUID generator. The GUID just needs to be unique within this XML file.
|
||||
|
||||
```xml
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">…</Profile>
|
||||
</Profiles>
|
||||
```
|
||||
|
||||
##### AllowedApps
|
||||
|
||||
**AllowedApps** is a list of applications that are allowed to run. Apps can be Universal Windows Platform (UWP) apps or Windows desktop applications. Starting with Windows 10 version 1809, you can configure a single app in the **AllowedApps** list to run automatically when the assigned access user account signs in.
|
||||
|
||||
- For UWP apps, you need to provide the App User Model ID (AUMID). [Learn how to get the AUMID](./find-the-application-user-model-id-of-an-installed-app.md), or [get the AUMID from the Start Layout XML](#create-the-xml-file).
|
||||
- For desktop apps, you need to specify the full path of the executable, which can contain one or more system environment variables in the form of `%variableName%`. For example, `%systemroot%` or `%windir%`.
|
||||
- If an app has a dependency on another app, both must be included in the allowed apps list. For example, Internet Explorer 64-bit has a dependency on Internet Explorer 32-bit, so you must allow both `"C:\Program Files\internet explorer\iexplore.exe"` and `"C:\Program Files (x86)\Internet Explorer\iexplore.exe"`.
|
||||
- To configure a single app to launch automatically when the user signs in, include `rs5:AutoLaunch="true"` after the AUMID or path. You can also include arguments to be passed to the app. For an example, see [the AllowedApps sample XML](#apps-sample).
|
||||
|
||||
When the multi-app kiosk configuration is applied to a device, AppLocker rules will be generated to allow the apps that are listed in the configuration. Here are the predefined assigned access AppLocker rules for **UWP apps**:
|
||||
|
||||
1. Default rule is to allow all users to launch the signed package apps.
|
||||
1. The package app blocklist is generated at runtime when the assigned access user signs in. Based on the installed/provisioned package apps available for the user account, assigned access generates the blocklist. This list will exclude the default allowed inbox package apps, which are critical for the system to function. It then excludes the allowed packages that enterprises defined in the assigned access configuration. If there are multiple apps within the same package, all these apps will be excluded. This blocklist will be used to prevent the user from accessing the apps that are currently available for the user but not in the allowed list.
|
||||
|
||||
> [!NOTE]
|
||||
> You can't manage AppLocker rules that are generated by the multi-app kiosk configuration in [MMC snap-ins](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh994629(v=ws.11)#BKMK_Using_Snapins). Avoid creating AppLocker rules that conflict with AppLocker rules that are generated by the multi-app kiosk configuration.
|
||||
> Multi-app kiosk mode doesn't block the enterprise or the users from installing UWP apps. When a new UWP app is installed during the current assigned access user session, this app will not be in the deny list. When the user signs out and signs in again, the app will be included in the blocklist. If this is an enterprise-deployed line-of-business app and you want to allow it to run, update the assigned access configuration to include it in the allowed app list.
|
||||
|
||||
Here are the predefined assigned access AppLocker rules for **desktop apps**:
|
||||
|
||||
1. Default rule is to allow all users to launch the desktop programs signed with Microsoft Certificate in order for the system to boot and function. The rule also allows the admin user group to launch all desktop programs.
|
||||
1. There's a predefined inbox desktop app blocklist for the assigned access user account, and this blocklist is adjusted based on the desktop app allowlist that you defined in the multi-app configuration.
|
||||
1. Enterprise-defined allowed desktop apps are added in the AppLocker allowlist.
|
||||
|
||||
The following example allows Photos, Weather, Calculator, Paint, and Notepad apps to run on the device, with Notepad configured to automatically launch and create a file called `123.text` when the user signs in.
|
||||
|
||||
```xml
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="%windir%\system32\mspaint.exe" />
|
||||
<App DesktopAppPath="C:\Windows\System32\notepad.exe" rs5:AutoLaunch="true" rs5:AutoLaunchArguments="123.txt" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
```
|
||||
|
||||
<!--
|
||||
|
||||
##### StartPins
|
||||
|
||||
After you define the list of allowed applications, you can customize the Start layout for your kiosk experience. The easiest way to create a customized Start layout to apply to other Windows client devices is to set up the Start screen on a test device and then export the layout. Once you've decided, you can get the JSON needed for your kiosk configuration by following the steps to [Get the pinnedList JSON](../start/customize-and-export-start-layout.md). If you opt to do this using the PowerShell command, make sure that the system you run the command on has the same file structure as the device on which you will apply the kiosk (the path to the allowed apps must be the same). At the end of this step, you should have a JSON pinnedList that looks something like the below.
|
||||
|
||||
Add your pinnedList JSON into the StartPins tag in your XML file.
|
||||
|
||||
```xml
|
||||
<v5:StartPins>
|
||||
<![CDATA[
|
||||
|
||||
{ "pinnedList":[
|
||||
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.Windows.Photos_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.BingWeather_8wekyb3d8bbwe!App"},
|
||||
{"desktopAppLink":"%ALLUSERSPROFILE%\\Microsoft\\Windows\\StartMenu\\Programs\\Accessories\\Paint.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\StartMenu\\Programs\\Accessories\\Notepad.lnk"}
|
||||
] }
|
||||
]]>
|
||||
</v5:StartPins>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> If an app isn't installed for the user, but is included in the Start layout XML, the app isn't shown on the Start screen.
|
||||
|
||||
|
||||
|
||||
##### Taskbar
|
||||
|
||||
Define whether you want to have the taskbar present in the kiosk device. For tablet-based or touch-enabled all-in-one kiosks, when you don't attach a keyboard and mouse, you can hide the taskbar as part of the multi-app experience if you want.
|
||||
|
||||
The following example exposes the taskbar to the end user:
|
||||
|
||||
```xml
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
```
|
||||
|
||||
The following example hides the taskbar:
|
||||
|
||||
```xml
|
||||
<Taskbar ShowTaskbar="false"/>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> This is different from the **Automatically hide the taskbar** option in tablet mode, which shows the taskbar when swiping up from or moving the mouse pointer down to the bottom of the screen. Setting **ShowTaskbar** as **false** will always keep the taskbar hidden.
|
||||
-->
|
||||
##### KioskModeApp
|
||||
|
||||
**KioskModeApp** is used for a [kiosk profile](#profile) only. Enter the AUMID for a single app. You can only specify one kiosk profile in the XML.
|
||||
|
||||
```xml
|
||||
<KioskModeApp AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"/>
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The kiosk profile is designed for public-facing kiosk devices. We recommend that you use a local, non-administrator account. If the device is connected to your company network, using a domain or Microsoft Entra account could potentially compromise confidential information.
|
||||
|
||||
#### Configs
|
||||
|
||||
Under **Configs**, define which user account will be associated with the profile. When this user account signs in on the device, the associated assigned access profile will be enforced. This behavior includes the allowed apps, Start layout, taskbar configuration, and other local group policies or mobile device management (MDM) policies set as part of the multi-app experience.
|
||||
|
||||
The full multi-app assigned access experience can only work for non-admin users. It's not supported to associate an admin user with the assigned access profile. Making this configuration in the XML file will result in unexpected or unsupported experiences when this admin user signs in.
|
||||
|
||||
You can assign:
|
||||
|
||||
- [A local standard user account that signs in automatically](#config-for-autologon-account) (Applies to Windows 10, version 1803 only)
|
||||
- [An individual account, which can be local, domain, or Microsoft Entra ID](#config-for-individual-accounts)
|
||||
- [A group account, which can be local, Active Directory (domain), or Microsoft Entra ID](#config-for-group-accounts) (Applies to Windows 10, version 1803 only).
|
||||
|
||||
> [!NOTE]
|
||||
> Configs that specify group accounts cannot use a kiosk profile, only a lockdown profile. If a group is configured to a kiosk profile, the CSP will reject the request.
|
||||
|
||||
##### Config for AutoLogon Account
|
||||
|
||||
When you use `<AutoLogonAccount>` and the configuration is applied to a device, the specified account (managed by Assigned Access) is created on the device as a local standard user account. The specified account is signed in automatically after restart.
|
||||
|
||||
The following example shows how to specify an account to sign in automatically.
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount/>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
Starting with Windows 10 version 1809, you can configure the display name that will be shown when the user signs in. The following example shows how to create an AutoLogon Account that shows the name "Hello World".
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="Hello World"/>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
On domain-joined devices, local user accounts aren't shown on the sign-in screen by default. To show the **AutoLogonAccount** on the sign-in screen, enable the following Group Policy setting: **Computer Configuration > Administrative Templates > System > Logon > Enumerate local users on domain-joined computers**. (The corresponding MDM policy setting is [WindowsLogon/EnumerateLocalUsersOnDomainJoinedComputers in the Policy CSP](/windows/client-management/mdm/policy-csp-windowslogon#windowslogon-enumeratelocalusersondomainjoinedcomputers).)
|
||||
|
||||
>[!IMPORTANT]
|
||||
>When Exchange Active Sync (EAS) password restrictions are active on the device, the autologon feature does not work. This behavior is by design. For more informations, see [How to turn on automatic logon in Windows](/troubleshoot/windows-server/user-profiles-and-logon/turn-on-automatic-logon).
|
||||
|
||||
##### Config for individual accounts
|
||||
|
||||
Individual accounts are specified using `<Account>`.
|
||||
|
||||
- Local account can be entered as `machinename\account` or `.\account` or just `account`.
|
||||
- Domain account should be entered as `domain\account`.
|
||||
- Microsoft Entra account must be specified in this format: `AzureAD\{email address}`. **AzureAD** must be provided *as is*, and consider it's a fixed domain name. Then follow with the Microsoft Entra ID email address. For example, `AzureAD\someone@contoso.onmicrosoft.com`
|
||||
|
||||
> [!WARNING]
|
||||
> Assigned access can be configured via WMI or CSP to run its applications under a domain user or service account, rather than a local account. However, use of domain user or service accounts introduces risks that an attacker subverting the assigned access application might gain access to sensitive domain resources that have been inadvertently left accessible to any domain account. We recommend that customers proceed with caution when using domain accounts with assigned access, and consider the domain resources potentially exposed by the decision to do so.
|
||||
|
||||
Before applying the multi-app configuration, make sure the specified user account is available on the device, otherwise it will fail.
|
||||
|
||||
> [!NOTE]
|
||||
> For both domain and Microsoft Entra accounts, it's not required that target account is explicitly added to the device. As long as the device is AD-joined or Microsoft Entra joined, the account can be discovered in the domain forest or tenant that the device is joined to. For local accounts, it is required that the account exist before you configure the account for assigned access.
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
##### Config for group accounts
|
||||
|
||||
Group accounts are specified using `<UserGroup>`. Nested groups aren't supported. For example, if user A is member of Group 1, Group 1 is member of Group 2, and Group 2 is used in `<Config/>`, user A won't have the kiosk experience.
|
||||
|
||||
- Local group: Specify the group type as **LocalGroup** and put the group name in Name attribute. Any Microsoft Entra accounts that are added to the local group won't have the kiosk settings applied.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="LocalGroup" Name="mygroup" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
- Domain group: Both security and distribution groups are supported. Specify the group type as <strong>ActiveDirectoryGroup</strong>. Use the domain name as the prefix in the name attribute.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="ActiveDirectoryGroup" Name="mydomain\mygroup" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
- Microsoft Entra group: Use the group object ID from the Azure portal to uniquely identify the group in the Name attribute. You can find the object ID on the overview page for the group in **Users and groups** > **All groups**. Specify the group type as **AzureActiveDirectoryGroup**. The kiosk device must have internet connectivity when users that belong to the group sign-in.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="AzureActiveDirectoryGroup" Name="a8d36e43-4180-4ac5-a627-fb8149bba1ac" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> If a Microsoft Entra group is configured with a lockdown profile on a device, a user in the Microsoft Entra group must change their password (after the account has been created with default password on the portal) before they can sign in to this device. If the user uses the default password to sign in to the device, the user will be immediately signed out.
|
||||
|
||||
<!--
|
||||
## Configure a kiosk using WMI Bridge
|
||||
|
||||
Environments that use [Windows Management Instrumentation (WMI)](/windows/win32/wmisdk/wmi-start-page) can use the [MDM Bridge WMI Provider](/windows/win32/dmwmibridgeprov/mdm-bridge-wmi-provider-portal) to configure the MDM_AssignedAccess class.
|
||||
|
||||
Here's an example of how to set AssignedAccess configuration:
|
||||
|
||||
1. Download the [psexec tool](/sysinternals/downloads/psexec).
|
||||
|
||||
1. Using an elevated command prompt, run `psexec.exe -i -s cmd.exe`.
|
||||
1. In the command prompt launched by psexec.exe, enter `powershell.exe` to open PowerShell.
|
||||
1. Save the following Powershell excerpt as a PowerShell script (.ps1), replacing the placeholder "your XML here" with the [Sample Assigned Access XML](#sample-assigned-access-xml) then run the script at the Powershell prompt from the previous step.
|
||||
|
||||
```powershell
|
||||
$eventLogFilterHashTable = @{
|
||||
ProviderName = "Microsoft-Windows-AssignedAccess";
|
||||
StartTime = Get-Date -Millisecond 0
|
||||
}
|
||||
|
||||
$namespaceName="root\cimv2\mdm\dmmap"
|
||||
$className="MDM_AssignedAccess"
|
||||
$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
|
||||
$obj.Configuration = [System.Net.WebUtility]::HtmlEncode(@"
|
||||
|
||||
<your XML here>
|
||||
|
||||
"@)
|
||||
|
||||
$obj = Set-CimInstance -CimInstance $obj -ErrorVariable cimSetError -ErrorAction SilentlyContinue
|
||||
if($cimSetError) {
|
||||
Write-Output "An ERROR occurred. Displaying error record and attempting to retrieve error logs...`n"
|
||||
Write-Error -ErrorRecord $cimSetError[0]
|
||||
|
||||
$timeout = New-TimeSpan -Seconds 30
|
||||
$stopwatch = [System.Diagnostics.Stopwatch]::StartNew()
|
||||
do{
|
||||
$events = Get-WinEvent -FilterHashtable $eventLogFilterHashTable -ErrorAction Ignore
|
||||
} until ($events.Count -or $stopwatch.Elapsed -gt $timeout) # wait for the log to be available
|
||||
|
||||
if($events.Count) {
|
||||
$events | ForEach-Object {
|
||||
|
||||
Write-Output "$($_.TimeCreated) [$($_.LevelDisplayName.ToUpper())] $($_.Message -replace "`n|`r")"
|
||||
|
||||
}
|
||||
} else {
|
||||
Write-Warning "Timed-out attempting to retrieve event logs..."
|
||||
}
|
||||
|
||||
Exit 1
|
||||
}
|
||||
|
||||
Write-Output "Successfully applied Assigned Access configuration"
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Sample Assigned Access XML
|
||||
|
||||
This section contains a predefined XML file which can be used as a quickstart to get familiar with the Assigned Access multi-app kiosk feature on Windows 11.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="C:\Windows\system32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<v5:StartPins>
|
||||
<![CDATA[
|
||||
{ "pinnedList":[
|
||||
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.Windows.Photos_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.BingWeather_8wekyb3d8bbwe!App"},
|
||||
{"desktopAppLink":"C:\\Users\\MultiAppKioskUser\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk"},
|
||||
{"desktopAppLink":"C:\\Users\\MultiAppKioskUser\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\Command Prompt.lnk"},
|
||||
{"desktopAppLink":"C:\\Users\\MultiAppKioskUser\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Windows PowerShell\\Windows PowerShell.lnk"}
|
||||
] }
|
||||
]]>
|
||||
</v5:StartPins>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
-->
|
@ -1,65 +0,0 @@
|
||||
---
|
||||
title: Set up digital signs on Windows
|
||||
description: A single-use device such as a digital sign is easy to set up in Windows 10 and Windows 11 (Pro, Enterprise, and Education).
|
||||
ms.date: 09/20/2021
|
||||
ms.topic: article
|
||||
---
|
||||
|
||||
# Set up digital signs
|
||||
|
||||
Digital signage can be a useful and exciting business tool. Use digital signs to showcase your products and services, to display testimonials, or to advertise promotions and campaigns. A digital sign can be a static display, such as a building directory or menu, or it can be dynamic, such as repeating videos or a social media feed.
|
||||
|
||||
For digital signage, simply select a digital sign player as your kiosk app. You can also use [Microsoft Edge in kiosk mode](/DeployEdge/microsoft-edge-configure-kiosk-mode) or the Kiosk Browser app, and configure it to show your online content.
|
||||
|
||||
>[!TIP]
|
||||
>Kiosk Browser can also be used in [single-app kiosks](kiosk-single-app.md) and [multi-app kiosk](lock-down-windows-10-to-specific-apps.md) as a web browser. For more information, see [Guidelines for web browsers](guidelines-for-assigned-access-app.md#guidelines-for-web-browsers).
|
||||
|
||||
Kiosk Browser must be downloaded for offline licensing using Microsoft Store for Business. You can deploy Kiosk Browser to devices running Windows 11, and Windows 10 version 1803+.
|
||||
|
||||
>[!NOTE]
|
||||
>If you haven't set up your Microsoft Store for Business yet, check out [the prerequisites](/microsoft-store/prerequisites-microsoft-store-for-business) and then [sign up](/microsoft-store/sign-up-microsoft-store-for-business).
|
||||
|
||||
This procedure explains how to configure digital signage using Kiosk Browser on a device running Windows client that has already been set up (completed the first-run experience).
|
||||
|
||||
1. [Get **Kiosk Browser** in Microsoft Store for Business with offline, unencoded license type.](/microsoft-store/acquire-apps-microsoft-store-for-business#acquire-apps)
|
||||
1. [Download the **Kiosk Browser** package, license file, and all required frameworks.](/microsoft-store/distribute-offline-apps#download-an-offline-licensed-app)
|
||||
1. [Install Windows Configuration Designer.](~/provisioning-packages/provisioning-install-icd.md)
|
||||
1. Open Windows Configuration Designer and select **Provision kiosk devices**.
|
||||
1. Enter a friendly name for the project, and select **Finish**.
|
||||
1. On **Set up device**, select **Disabled**, and select **Next**.
|
||||
1. On **Set up network**, enable network setup:
|
||||
- Toggle **On** wireless network connectivity.
|
||||
- Enter the SSID, the network type (**Open** or **WPA2-Personal**), and (if **WPA2-Personal**) the password for the wireless network.
|
||||
1. On **Account management**, select **Disabled**, and select **Next**.
|
||||
1. On **Add applications**, select **Add an application**:
|
||||
- For **Application name**, enter `Kiosk Browser`.
|
||||
- For **Installer path**, browse to and select the AppxBundle that you downloaded from Microsoft Store for Business. After you select the package, additional fields are displayed.
|
||||
- For **License file path**, browse to and select the XML license file that you downloaded from Microsoft Store for Business.
|
||||
- The **Package family name** is populated automatically.
|
||||
- Select **Next**.
|
||||
1. On **Add certificates**, select **Next**.
|
||||
1. On **Configure kiosk account and app**, toggle **Yes** to create a local user account for your digital signage:
|
||||
- Enter a user name and password, and toggle **Auto sign-in** to **Yes**.
|
||||
- Under **Configure the kiosk mode app**, enter the user name for the account that you're creating.
|
||||
- For **App type**, select **Universal Windows App**.
|
||||
- In **Enter the AUMID for the app**, enter `Microsoft.KioskBrowser_8wekyb3d8bbwe!App`.
|
||||
1. In the bottom left corner of Windows Configuration Designer, select **Switch to advanced editor**.
|
||||
1. Go to **Runtime settings** > **Policies** > **KioskBrowser**. Let's assume that the URL for your digital signage content is contoso.com/menu:
|
||||
- In **BlockedUrlExceptions**, enter `https://www.contoso.com/menu`.
|
||||
- In **BlockedUrl**, enter `*`.
|
||||
- In **DefaultUrl**, enter `https://www.contoso.com/menu`.
|
||||
- Set **EnableEndSessionButton**, **EnableHomeButton**, and **EnableNavigationButtons** to **No**.
|
||||
|
||||
>[!TIP]
|
||||
>For more information on kiosk browser settings, see [Guidelines for web browsers](guidelines-for-assigned-access-app.md#guidelines-for-web-browsers).
|
||||
|
||||
1. On the **File** menu, select **Save**, and select **OK** in the **Keep your info secure** dialog box.
|
||||
1. On the **Export** menu, select **Provisioning package**.
|
||||
1. Change the **Owner** to **IT Admin**, and select **Next**.
|
||||
1. On **Select security details for the provisioning package**, select **Next**.
|
||||
1. On **Select where to save the provisioning package**, select **Next**.
|
||||
1. On **Build the provisioning package**, select **Build**.
|
||||
1. On the **All done!** screen, click the **Output location**.
|
||||
1. Copy the .ppkg file to a USB drive.
|
||||
1. Attach the USB drive to the device that you want to use for your digital sign.
|
||||
1. Go to **Settings** > **Accounts** > **Access work or school** > **Add or remove a provisioning package** > **Add a package**, and select the package on the USB drive.
|
@ -7,7 +7,7 @@ ms.date: 02/05/2024
|
||||
|
||||
# Quickstart: Configure a kiosk with Assigned Access
|
||||
|
||||
When you configure Windows as a *kisok*, you assign a single application to run above the lock screen. This is useful for public-facing scenarios, such as a digital sign or a public browser.
|
||||
When you configure Windows as a *kiosk* with Assigned Access, you configure a single application to run above the Windows lock screen. This is useful for public-facing scenarios, such as a digital sign or a public browser.
|
||||
|
||||
This quickstart provides practical examples of how to configure a kiosk experience on Windows with Assigne Access. The examples describe the steps using the Settings app, a mobile device management solution (MDM) like Microsoft Intune, provisioning packages (PPKG), and PowerShell. While different solutions are used, the configuration settings and results are the same.
|
||||
|
||||
|
@ -14,8 +14,8 @@ This reference article contains the latest Assigned Access XML schema definition
|
||||
The following is the XSD for Assigned Access in Windows 11:
|
||||
|
||||
```xml
|
||||
<xs:schema elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
<xs:schema
|
||||
elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
@ -262,7 +262,8 @@ The following is the XSD for Assigned Access features added in Windows 10, versi
|
||||
The following is the XSD for Assigned Access features added in Windows 10, version 1909:
|
||||
|
||||
```xml
|
||||
<xs:schema elementFormDefault="qualified"
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
@ -296,7 +297,8 @@ The following is the XSD for Assigned Access features added in Windows 10, versi
|
||||
The following is the XSD for Assigned Access features added in Windows 10, version 1809:
|
||||
|
||||
```xml
|
||||
<xs:schema elementFormDefault="qualified"
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
|
@ -1,16 +1,120 @@
|
||||
---
|
||||
title: Set up a single-app kiosk on Windows
|
||||
description: A single-use device is easy to set up in Windows Pro, Enterprise, and Education editions.
|
||||
ms.topic: article
|
||||
ms.date: 07/12/2023
|
||||
title: Configure Assigned Access
|
||||
description: Learn how to configure devices with Assigned Access.
|
||||
ms.date: 05/12/2023
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
# Set up a single-app kiosk
|
||||
## Configure Assigned Access
|
||||
|
||||
## Configure a kiosk in Microsoft Intune
|
||||
|
||||
To configure a kiosk in Microsoft Intune, see:
|
||||
|
||||
- [Windows client and Windows Holographic for Business device settings to run as a dedicated kiosk using Intune](/intune/kiosk-settings)
|
||||
- [Windows client device settings to run as a kiosk in Intune](/intune/kiosk-settings-windows)
|
||||
|
||||
## Configure a kiosk using a provisioning package
|
||||
|
||||
Process:
|
||||
|
||||
1. [Create XML file](#create-xml-file)
|
||||
1. [Add XML file to provisioning package](#add-xml)
|
||||
1. [Apply provisioning package to device](#apply-ppkg)
|
||||
|
||||
Watch how to use a provisioning package to configure a multi-app kiosk.
|
||||
|
||||
> [!VIDEO https://www.microsoft.com/videoplayer/embed/fa125d0f-77e4-4f64-b03e-d634a4926884?autoplay=false]
|
||||
|
||||
An assigned access multi-app kiosk runs one or more apps from the desktop. People using the kiosk see a customized Start that shows only the apps that are allowed. With this approach, you can configure a locked-down experience for different account types. A multi-app kiosk is appropriate for devices that are shared by multiple people. Here's a guide on how to set up a multi-app kiosk.
|
||||
|
||||
> [!WARNING]
|
||||
> The assigned access feature is intended for corporate-owned fixed-purpose devices, like kiosks. When the multi-app assigned access configuration is applied on the device, [certain policies](kiosk-policies.md) are enforced system-wide, and will impact other users on the device. Deleting the kiosk configuration will remove the assigned access lockdown profiles associated with the users, but it cannot revert all the enforced policies (such as Start layout). A factory reset is needed to clear all the policies enforced via assigned access.
|
||||
|
||||
> [!TIP]
|
||||
> Be sure to check the [configuration recommendations](kiosk-prepare.md) before you set up your kiosk.
|
||||
|
||||
### Provisioning package
|
||||
|
||||
Before you add the XML file to a provisioning package, you can [validate your configuration XML against the XSD](kiosk-xml.md#xsd-for-assignedaccess-configuration-xml).
|
||||
|
||||
Use the Windows Configuration Designer tool to create a provisioning package. [Learn how to install Windows Configuration Designer.](../provisioning-packages/provisioning-install-icd.md).
|
||||
|
||||
> [!IMPORTANT]
|
||||
> When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed.
|
||||
|
||||
1. Open Windows Configuration Designer. By default: `%systemdrive%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe`.
|
||||
|
||||
1. Choose **Advanced provisioning**.
|
||||
|
||||
1. Name your project, and select **Next**.
|
||||
|
||||
1. Choose **All Windows desktop editions** and select **Next**.
|
||||
|
||||
1. On **New project**, select **Finish**. The workspace for your package opens.
|
||||
|
||||
1. Expand **Runtime settings** > **AssignedAccess** > **MultiAppAssignedAccessSettings**.
|
||||
|
||||
1. In the center pane, select **Browse**. Locate and select the assigned access configuration XML file that you created.
|
||||
|
||||

|
||||
|
||||
1. _Optional: If you want to apply the provisioning package after device initial setup and there's an admin user already available on the kiosk device, skip this step._ Create an admin user account in **Runtime settings** > **Accounts** > **Users**. Provide a **UserName** and **Password**, and select **UserGroup** as **Administrators**. With this account, you can view the provisioning status and logs if needed.
|
||||
|
||||
1. _Optional: If you already have a non-admin account on the kiosk device, skip this step._ Create a local standard user account in **Runtime settings** > **Accounts** > **Users**. Make sure the **UserName** is the same as the account that you specify in the configuration XML. Select **UserGroup** as **Standard Users**.
|
||||
|
||||
1. On the **File** menu, select **Save.**
|
||||
|
||||
1. On the **Export** menu, select **Provisioning package**.
|
||||
|
||||
1. Change **Owner** to **IT Admin**, which will set the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.**
|
||||
|
||||
1. Optional. In the **Provisioning package security** window, you can choose to encrypt the package and enable package signing.
|
||||
|
||||
- **Enable package encryption** - If you select this option, an auto-generated password will be shown on the screen.
|
||||
|
||||
- **Enable package signing** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by clicking **Browse** and choosing the certificate you want to use to sign the package.
|
||||
|
||||
1. Select **Next** to specify the output location where you want the provisioning package to go when it's built. By default, Windows Imaging and Configuration Designer (ICD) uses the project folder as the output location.
|
||||
|
||||
Optionally, you can select **Browse** to change the default output location.
|
||||
|
||||
1. Select **Next**.
|
||||
|
||||
1. Select **Build** to start building the package. The provisioning package doesn't take long to build. The project information is displayed in the build page and the progress bar indicates the build status.
|
||||
|
||||
If you need to cancel the build, select **Cancel**. This action cancels the current build process, closes the wizard, and takes you back to the **Customizations Page**.
|
||||
|
||||
1. If your build fails, an error message will show up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again.
|
||||
|
||||
If your build is successful, the name of the provisioning package, output directory, and project directory will be shown.
|
||||
|
||||
- If you choose, you can build the provisioning package again and pick a different path for the output package. To do this action, select **Back** to change the output package name and path, and then select **Next** to start another build.
|
||||
- If you're done, select **Finish** to close the wizard and go back to the **Customizations Page**.
|
||||
|
||||
1. Copy the provisioning package to the root directory of a USB drive.
|
||||
|
||||
<span id="apply-ppkg" />
|
||||
|
||||
### Apply provisioning package to device
|
||||
|
||||
Provisioning packages can be applied to a device during initial setup (out-of-box experience or "OOBE") and after ("runtime"). For more information, see [Apply a provisioning package](../provisioning-packages/provisioning-apply-package.md).
|
||||
|
||||
> [!NOTE]
|
||||
> If your provisioning package doesn't include the assigned access user account creation, make sure the account you specified in the multi-app configuration XML exists on the device.
|
||||
|
||||
### Use MDM to deploy the multi-app configuration
|
||||
|
||||
Multi-app kiosk mode is enabled by the [AssignedAccess configuration service provider (CSP)](/windows/client-management/mdm/assignedaccess-csp). Your MDM policy can contain the assigned access configuration XML.
|
||||
|
||||
If your device is enrolled with an MDM service that supports applying the assigned access configuration, you can use it to apply the setting remotely.
|
||||
|
||||
The OMA-URI for multi-app policy is `./Device/Vendor/MSFT/AssignedAccess/Configuration`.
|
||||
|
||||
## Set up a single-app kiosk
|
||||
|
||||
A single-app kiosk uses the Assigned Access feature to run a single app above the lock screen. When the kiosk account signs in, the app is launched automatically. The person using the kiosk cannot do anything on the device outside of the kiosk app.
|
||||
|
||||

|
||||
|
||||
>[!IMPORTANT]
|
||||
>[User account control (UAC)](/windows/security/identity-protection/user-account-control/user-account-control-overview) must be turned on to enable kiosk mode.
|
||||
>
|
||||
@ -75,49 +179,41 @@ When your kiosk is a local device that isn't managed by Active Directory or Micr
|
||||
|
||||
- If you don't want the kiosk account to sign in automatically when the device restarts, then you must change the default setting before you configure the device as a kiosk. Sign in with the account that you will assign as the kiosk account. Open the **Settings** app > **Accounts** > **Sign-in options**. Set the **Use my sign-in info to automatically finish setting up my device after an update or restart** setting to **Off**. After you change the setting, you can apply the kiosk configuration to the device.
|
||||
|
||||

|
||||
## Configure a kiosk experience with Assigned Access using PowerShell cmdlets
|
||||
|
||||
## Set up a kiosk using Windows PowerShell
|
||||
| App Type | OS| Account type|
|
||||
|-|-|
|
||||
|UWP| Windows Pro/Pro Edu and Ent/Edu|Local standard user|
|
||||
|
||||
App type:
|
||||
To configure a device using the Windows PowerShell cmdlet:
|
||||
|
||||
- UWP
|
||||
1. Sign in as administrator
|
||||
1. [Create the user account](https://support.microsoft.com/help/4026923/windows-create-a-local-user-or-administrator-account-in-windows-10) for Assigned Access
|
||||
1. Sign in as the Assigned Access user account
|
||||
1. Install the required UWP app
|
||||
1. Sign out as the Assigned Access user account
|
||||
1. Sign in as administrator and from an elevated PowerShell prompt use one of the following commands:
|
||||
|
||||
OS:
|
||||
```PowerShell
|
||||
#Configure assigned access by AppUserModelID and user name
|
||||
Set-AssignedAccess -AppUserModelId <AUMID> -UserName <username>
|
||||
|
||||
- Windows 10 Pro, Ent, Edu
|
||||
- Windows 11
|
||||
#Configure assigned access by AppUserModelID and user SID
|
||||
Set-AssignedAccess -AppUserModelId <AUMID> -UserSID <usersid>
|
||||
|
||||
Account type:
|
||||
#Configure assigned access by app name and user name
|
||||
Set-AssignedAccess -AppName <CustomApp> -UserName <username>
|
||||
|
||||
- Local standard user
|
||||
|
||||

|
||||
|
||||
You can use any of the following PowerShell cmdlets to set up assigned access on multiple devices.
|
||||
|
||||
Before you run the cmdlet:
|
||||
|
||||
1. Sign in as administrator.
|
||||
1. [Create the user account](https://support.microsoft.com/help/4026923/windows-create-a-local-user-or-administrator-account-in-windows-10) for Assigned Access.
|
||||
1. Sign in as the Assigned Access user account.
|
||||
1. Install the Universal Windows app that follows the assigned access/above the lock guidelines.
|
||||
1. Sign out as the Assigned Access user account.
|
||||
1. Sign in as administrator.
|
||||
|
||||
To open PowerShell on Windows client, search for PowerShell, and find **Windows PowerShell Desktop app** in the results. Run PowerShell as administrator.
|
||||
|
||||
- **Configure assigned access by AppUserModelID and user name**: `Set-AssignedAccess -AppUserModelId <AUMID> -UserName <username>`
|
||||
- **Configure assigned access by AppUserModelID and user SID**: `Set-AssignedAccess -AppUserModelId <AUMID> -UserSID <usersid>`
|
||||
- **Configure assigned access by app name and user name**: `Set-AssignedAccess -AppName <CustomApp> -UserName <username>`
|
||||
- **Configure assigned access by app name and user SID**: `Set-AssignedAccess -AppName <CustomApp> -UserSID <usersid>`
|
||||
#Configure assigned access by app name and user SID**:
|
||||
Set-AssignedAccess -AppName <CustomApp> -UserSID <usersid>
|
||||
|
||||
> [!NOTE]
|
||||
> To set up assigned access using `-AppName`, the user account that you enter for assigned access must have signed in at least once.
|
||||
|
||||
[Learn how to get the AUMID](./find-the-application-user-model-id-of-an-installed-app.md).
|
||||
For more innformation:
|
||||
|
||||
[Learn how to get the AppName](/powershell/module/assignedaccess/set-assignedaccess) (see **Parameters**).
|
||||
- [Learn how to get the AUMID](./find-the-application-user-model-id-of-an-installed-app.md)
|
||||
- [Learn how to get the AppName](/powershell/module/assignedaccess/set-assignedaccess)
|
||||
|
||||
To remove assigned access, using PowerShell, run the following cmdlet:
|
||||
|
||||
@ -125,7 +221,7 @@ To remove assigned access, using PowerShell, run the following cmdlet:
|
||||
Clear-AssignedAccess
|
||||
```
|
||||
|
||||
## Set up a kiosk using the kiosk wizard in Windows Configuration Designer
|
||||
## Configure a kiosk experience using the kiosk wizard in Windows Configuration Designer
|
||||
|
||||
App type:
|
||||
|
||||
@ -281,3 +377,64 @@ To change the default time for assigned access to resume, add *IdleTimeOut* (DWO
|
||||
> **IdleTimeOut** doesn't apply to the new Microsoft Edge kiosk mode.
|
||||
|
||||
The Breakout Sequence of **Ctrl + Alt + Del** is the default, but this sequence can be configured to be a different sequence of keys. The breakout sequence uses the format **modifiers + keys**. An example breakout sequence would look something like **Shift + Alt + a**, where **Shift** and **Alt** are the modifiers and **a** is the key value. For more information, see [Microsoft Edge kiosk XML sample](/windows/configuration/kiosk-xml#microsoft-edge-kiosk-xml-sample).
|
||||
|
||||
<!--
|
||||
# Set up digital signs
|
||||
|
||||
Digital signage can be a useful and exciting business tool. Use digital signs to showcase your products and services, to display testimonials, or to advertise promotions and campaigns. A digital sign can be a static display, such as a building directory or menu, or it can be dynamic, such as repeating videos or a social media feed.
|
||||
|
||||
For digital signage, simply select a digital sign player as your kiosk app. You can also use [Microsoft Edge in kiosk mode](/DeployEdge/microsoft-edge-configure-kiosk-mode) or the Kiosk Browser app, and configure it to show your online content.
|
||||
|
||||
>[!TIP]
|
||||
>Kiosk Browser can also be used in [single-app kiosks](kiosk-single-app.md) and [multi-app kiosk](lock-down-windows-10-to-specific-apps.md) as a web browser. For more information, see [Guidelines for web browsers](guidelines-for-assigned-access-app.md#guidelines-for-web-browsers).
|
||||
|
||||
Kiosk Browser must be downloaded for offline licensing using Microsoft Store for Business. You can deploy Kiosk Browser to devices running Windows 11, and Windows 10 version 1803+.
|
||||
|
||||
>[!NOTE]
|
||||
>If you haven't set up your Microsoft Store for Business yet, check out [the prerequisites](/microsoft-store/prerequisites-microsoft-store-for-business) and then [sign up](/microsoft-store/sign-up-microsoft-store-for-business).
|
||||
|
||||
This procedure explains how to configure digital signage using Kiosk Browser on a device running Windows client that has already been set up (completed the first-run experience).
|
||||
|
||||
1. [Get **Kiosk Browser** in Microsoft Store for Business with offline, unencoded license type.](/microsoft-store/acquire-apps-microsoft-store-for-business#acquire-apps)
|
||||
1. [Download the **Kiosk Browser** package, license file, and all required frameworks.](/microsoft-store/distribute-offline-apps#download-an-offline-licensed-app)
|
||||
1. [Install Windows Configuration Designer.](~/provisioning-packages/provisioning-install-icd.md)
|
||||
1. Open Windows Configuration Designer and select **Provision kiosk devices**.
|
||||
1. Enter a friendly name for the project, and select **Finish**.
|
||||
1. On **Set up device**, select **Disabled**, and select **Next**.
|
||||
1. On **Set up network**, enable network setup:
|
||||
- Toggle **On** wireless network connectivity.
|
||||
- Enter the SSID, the network type (**Open** or **WPA2-Personal**), and (if **WPA2-Personal**) the password for the wireless network.
|
||||
1. On **Account management**, select **Disabled**, and select **Next**.
|
||||
1. On **Add applications**, select **Add an application**:
|
||||
- For **Application name**, enter `Kiosk Browser`.
|
||||
- For **Installer path**, browse to and select the AppxBundle that you downloaded from Microsoft Store for Business. After you select the package, additional fields are displayed.
|
||||
- For **License file path**, browse to and select the XML license file that you downloaded from Microsoft Store for Business.
|
||||
- The **Package family name** is populated automatically.
|
||||
- Select **Next**.
|
||||
1. On **Add certificates**, select **Next**.
|
||||
1. On **Configure kiosk account and app**, toggle **Yes** to create a local user account for your digital signage:
|
||||
- Enter a user name and password, and toggle **Auto sign-in** to **Yes**.
|
||||
- Under **Configure the kiosk mode app**, enter the user name for the account that you're creating.
|
||||
- For **App type**, select **Universal Windows App**.
|
||||
- In **Enter the AUMID for the app**, enter `Microsoft.KioskBrowser_8wekyb3d8bbwe!App`.
|
||||
1. In the bottom left corner of Windows Configuration Designer, select **Switch to advanced editor**.
|
||||
1. Go to **Runtime settings** > **Policies** > **KioskBrowser**. Let's assume that the URL for your digital signage content is contoso.com/menu:
|
||||
- In **BlockedUrlExceptions**, enter `https://www.contoso.com/menu`.
|
||||
- In **BlockedUrl**, enter `*`.
|
||||
- In **DefaultUrl**, enter `https://www.contoso.com/menu`.
|
||||
- Set **EnableEndSessionButton**, **EnableHomeButton**, and **EnableNavigationButtons** to **No**.
|
||||
|
||||
>[!TIP]
|
||||
>For more information on kiosk browser settings, see [Guidelines for web browsers](guidelines-for-assigned-access-app.md#guidelines-for-web-browsers).
|
||||
|
||||
1. On the **File** menu, select **Save**, and select **OK** in the **Keep your info secure** dialog box.
|
||||
1. On the **Export** menu, select **Provisioning package**.
|
||||
1. Change the **Owner** to **IT Admin**, and select **Next**.
|
||||
1. On **Select security details for the provisioning package**, select **Next**.
|
||||
1. On **Select where to save the provisioning package**, select **Next**.
|
||||
1. On **Build the provisioning package**, select **Build**.
|
||||
1. On the **All done!** screen, click the **Output location**.
|
||||
1. Copy the .ppkg file to a USB drive.
|
||||
1. Attach the USB drive to the device that you want to use for your digital sign.
|
||||
1. Go to **Settings** > **Accounts** > **Access work or school** > **Add or remove a provisioning package** > **Add a package**, and select the package on the USB drive.
|
||||
-->
|
@ -79,6 +79,23 @@ You can start your file by pasting the following XML code into a text editor, an
|
||||
|
||||
## Profiles node
|
||||
|
||||
There are two types of profiles that you can specify in the XML:
|
||||
|
||||
- **Lockdown profile**: Users assigned a lockdown profile will see the desktop in tablet mode with the specific apps on the Start screen.
|
||||
- **Kiosk profile**: Starting with Windows 10 version 1803, this profile replaces the KioskModeApp node of the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). Users assigned a kiosk profile won't see the desktop, but only the kiosk app running in full-screen mode.
|
||||
|
||||
A lockdown profile section in the XML has the following entries:
|
||||
|
||||
- [**Id**](#id)
|
||||
- [**AllowedApps**](#allowedapps)
|
||||
- [**StartPins**](#startpins)
|
||||
- [**Taskbar**](#taskbar)
|
||||
|
||||
A kiosk profile in the XML has the following entries:
|
||||
|
||||
- [**Id**](#id)
|
||||
- [**KioskModeApp**](#kioskmodeapp)
|
||||
|
||||
In the XML file, you define each profile with a globally unique identifier (GUID), which must be unique within the XML file.
|
||||
|
||||
> [!TIP]
|
||||
@ -122,7 +139,7 @@ Based on the purpose of the kiosk device, define the list of applications that a
|
||||
- To configure a single app to launch automatically when the user signs in, include `rs5:AutoLaunch="true"` after the AUMID or path. You can also include arguments to be passed to the app
|
||||
|
||||
<!-->
|
||||
Here are the predefined assigned access AppLocker rules:
|
||||
When the multi-app kiosk configuration is applied to a device, AppLocker rules will be generated to allow the apps that are listed in the configuration. Here are the predefined assigned access AppLocker rules
|
||||
|
||||
For UWP apps,
|
||||
|
||||
@ -227,12 +244,12 @@ Add your pinnedList JSON into the StartPins tag in your XML file.
|
||||
</v5:StartPins>
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
> [!NOTE]
|
||||
> If an app isn't installed for the user, but is included in the Start layout XML, the app isn't shown on the Start screen.
|
||||
|
||||
::: zone-end
|
||||
|
||||
### Taskbar
|
||||
#### Taskbar
|
||||
|
||||
Define whether you want to have the taskbar present in the kiosk device. For tablet-based or touch-enabled All-In-One kiosks, when you don't attach a keyboard and mouse, you can hide the taskbar as part of the multi-app experience if you want.
|
||||
|
||||
@ -247,8 +264,123 @@ The following example hides the taskbar:
|
||||
> [!NOTE]
|
||||
> This is different from the **Automatically hide the taskbar** option in tablet mode, which shows the taskbar when swiping up from or moving the mouse pointer down to the bottom of the screen. Setting **ShowTaskbar** as **false** will always keep the taskbar hidden.
|
||||
|
||||
### KioskModeApp
|
||||
|
||||
**KioskModeApp** is used for a [kiosk profile](#profile) only. Enter the AUMID for a single app. You can only specify one kiosk profile in the XML.
|
||||
|
||||
```xml
|
||||
<KioskModeApp AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"/>
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The kiosk profile is designed for public-facing kiosk devices. We recommend that you use a local, non-administrator account. If the device is connected to your company network, using a domain or Microsoft Entra account could potentially compromise confidential information.
|
||||
|
||||
## Configs
|
||||
|
||||
Under `Configs`, define one or more user accounts and their association with a profile.
|
||||
|
||||
When the user account signs in on the device, the associated Assigned Access profile is enforced along with policy settings that are part of the restricted user experience.
|
||||
|
||||
You can assign:
|
||||
|
||||
- A standard user account, which can be local, domain, or Microsoft Entra ID
|
||||
- A group account, which can be local, Active Directory (domain), or Microsoft Entra ID
|
||||
|
||||
Limitations:
|
||||
|
||||
- Configs that specify group accounts cannot use a kiosk profile, only a restricted ser experience profile
|
||||
- Apply the restrcited user experience to standard users only. It's not supported to associate an admin user with an Assigned Access profile
|
||||
|
||||
:::row:::
|
||||
:::column:::
|
||||
### AutoLogon Account
|
||||
:::column-end:::
|
||||
:::column:::
|
||||
With `<AutoLogonAccount>` you can configure an account created and managed by Assigned Access, to automatically sign in after a device restart. The account is a local standard user.
|
||||
|
||||
The following example shows how to specify an account to sign in automatically, and the optional display name shown during sign-in:
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="Hello World"/>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
>[!NOTE]
|
||||
> On Microsoft Entra joined and domain-joined devices, local user accounts aren't disaplyed on the sign-in screen by default. To show the **AutoLogonAccount** on the sign-in screen, enable the policy setting:
|
||||
>
|
||||
>- GPO: **Computer Configuration > Administrative Templates > System > Logon > Enumerate local users on domain-joined computers**
|
||||
>- CSP: `WindowsLogon/`[EnumerateLocalUsersOnDomainJoinedComputers](/windows/client-management/mdm/policy-csp-windowslogon#windowslogon-enumeratelocalusersondomainjoinedcomputers)
|
||||
|
||||
>[!IMPORTANT]
|
||||
>When Exchange Active Sync (EAS) password restrictions are active on the device, the autologon feature doesn't work. This behavior is by design. For more informations, see [How to turn on automatic logon in Windows](/troubleshoot/windows-server/user-profiles-and-logon/turn-on-automatic-logon).
|
||||
|
||||
:::column-end:::
|
||||
:::row-end:::
|
||||
|
||||
### Config for individual accounts
|
||||
|
||||
Individual accounts are specified using `<Account>`.
|
||||
|
||||
- Local account can be entered as `machinename\account` or `.\account` or just `account`.
|
||||
- Domain account should be entered as `domain\account`.
|
||||
- Microsoft Entra account must be specified in this format: `AzureAD\{email address}`. **AzureAD** must be provided *as is*, and consider it's a fixed domain name. Then follow with the Microsoft Entra ID email address. For example, `AzureAD\someone@contoso.onmicrosoft.com`
|
||||
|
||||
> [!WARNING]
|
||||
> Assigned access can be configured via WMI or CSP to run its applications under a domain user or service account, rather than a local account. However, use of domain user or service accounts introduces risks that an attacker subverting the assigned access application might gain access to sensitive domain resources that have been inadvertently left accessible to any domain account. We recommend that customers proceed with caution when using domain accounts with assigned access, and consider the domain resources potentially exposed by the decision to do so.
|
||||
|
||||
Before applying the multi-app configuration, make sure the specified user account is available on the device, otherwise it will fail.
|
||||
|
||||
> [!NOTE]
|
||||
> For both domain and Microsoft Entra accounts, it's not required that target account is explicitly added to the device. As long as the device is AD-joined or Microsoft Entra joined, the account can be discovered in the domain forest or tenant that the device is joined to. For local accounts, it is required that the account exist before you configure the account for assigned access.
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
### Config for group accounts
|
||||
|
||||
Group accounts are specified using `<UserGroup>`. Nested groups aren't supported. For example, if user A is member of Group 1, Group 1 is member of Group 2, and Group 2 is used in `<Config/>`, user A won't have the kiosk experience.
|
||||
|
||||
- Local group: Specify the group type as **LocalGroup** and put the group name in Name attribute. Any Microsoft Entra accounts that are added to the local group won't have the kiosk settings applied.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="LocalGroup" Name="mygroup" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
- Domain group: Both security and distribution groups are supported. Specify the group type as <strong>ActiveDirectoryGroup</strong>. Use the domain name as the prefix in the name attribute.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="ActiveDirectoryGroup" Name="mydomain\mygroup" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
- Microsoft Entra group: Use the group object ID from the Azure portal to uniquely identify the group in the Name attribute. You can find the object ID on the overview page for the group in **Users and groups** > **All groups**. Specify the group type as **AzureActiveDirectoryGroup**. The kiosk device must have internet connectivity when users that belong to the group sign-in.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="AzureActiveDirectoryGroup" Name="a8d36e43-4180-4ac5-a627-fb8149bba1ac" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> If a Microsoft Entra group is configured with a lockdown profile on a device, a user in the Microsoft Entra group must change their password (after the account has been created with default password on the portal) before they can sign in to this device. If the user uses the default password to sign in to the device, the user will be immediately signed out.
|
||||
|
||||
|
||||
## Full XML example
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
@ -303,12 +435,49 @@ The following example hides the taskbar:
|
||||
|
||||
|
||||
|
||||
### FileExplorerNamespaceRestrictions
|
||||
|
||||
Starting in Windows 10 version 1809, you can explicitly allow some known folders to be accessed when the user tries to open the file dialog box in multi-app assigned access by including **FileExplorerNamespaceRestrictions** in your XML file. Currently, **Downloads** is the only folder supported. This behavior can also be set using Microsoft Intune.
|
||||
|
||||
The following example shows how to allow user access to the Downloads folder in the common file dialog box.
|
||||
|
||||
> [!TIP]
|
||||
> To grant access to the Downloads folder through File Explorer, add "Explorer.exe" to the list of allowed apps, and pin a file explorer shortcut to the kiosk start menu.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="https://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:rs5="https://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
> <Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
...
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads"/>
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
...
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
|
||||
> [!NOTE]
|
||||
> - `FileExplorerNamespaceRestrictions` and `AllowedNamespace:Downloads` are available in namespace `https://schemas.microsoft.com/AssignedAccess/201810/config`.
|
||||
> - `AllowRemovableDrives` and `NoRestriction` are defined in a new namespace `https://schemas.microsoft.com/AssignedAccess/2020/config`.
|
||||
|
||||
|
||||
|
||||
|
||||
- When `FileExplorerNamespaceRestrictions` node isn't used, or used but left empty, the user won't be able to access any folder in a common dialog. For example, **Save As** in the Microsoft Edge browser.
|
||||
- When Downloads is mentioned in allowed namespace, user will be able to access Downloads folder.
|
||||
- When `AllowRemovableDrives` is used, user will be to access removable drives.
|
||||
- When `NoRestriction` is used, no restriction will be applied to the dialog.
|
||||
- `AllowRemovableDrives` and `AllowedNamespace:Downloads` can be used at the same time.
|
||||
|
||||
:::row:::
|
||||
:::column span="1":::
|
||||
@ -771,3 +940,7 @@ IT Admin now can specify user access to Downloads folder, Removable drives, or n
|
||||
To authorize a compatible configuration XML that includes elements and attributes from Windows 10 version 1809 or newer / Windows 11, always include the namespace of these add-on schemas, and decorate the attributes and elements accordingly with the namespace alias.
|
||||
|
||||
For example, to configure the autolaunch feature that was added in Windows 10 version 1809 / Windows 11, use the following sample. Notice an alias r1809 is given to the 201810 namespace for Windows 10 version 1809 / Windows 11, and the alias is tagged on AutoLaunch and AutoLaunchArguments inline.
|
||||
|
||||
## Single app Assigned Access XML example
|
||||
|
||||
## Multi-app Assigned Access XML example
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
Before Width: | Height: | Size: 92 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB |
@ -74,3 +74,15 @@ There are several kiosk configuration methods that you can choose from, dependin
|
||||
|
||||
>[!NOTE]
|
||||
>For devices running Windows client Enterprise and Education, you can also use [Windows Defender Application Control](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control) or [AppLocker](lock-down-windows-10-applocker.md) to lock down a device to specific apps.
|
||||
|
||||
<!--
|
||||
|
||||
> [!NOTE]
|
||||
> The use of multiple monitors is supported for multi-app kiosk mode in Windows 11.
|
||||
|
||||
|
||||
|
||||
A kiosk device typically runs a single application, and users are prevented from accessing any features or functions on the device outside of the app.
|
||||
|
||||
The assigned access feature is intended for dedicated devices, like kiosks. When the multi-app assigned access configuration is applied on the device, [certain policies](kiosk-policies.md) are enforced system-wide, impacting other users on the device. Deleting the kiosk configuration removes the assigned access lockdown profiles associated with the users, but it can't revert all the enforced policies (for example, the Start layout). To clear all the policy settings enforced by Assigned Access, you must reset Windows.
|
||||
|
||||
|
@ -1,46 +1,29 @@
|
||||
---
|
||||
title: Policies enforced on kiosk devices
|
||||
description: Learn about the policies enforced on a device when you configure it as a kiosk.
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
title: Policy settings enforced by Assigned Access
|
||||
description: Learn about the policy settings enforced on a device configured with Assigned Access.
|
||||
ms.topic: reference
|
||||
ms.date: 02/26/2024
|
||||
---
|
||||
|
||||
# Policies enforced on kiosk devices
|
||||
# Policy settings enforced by Assigned Access
|
||||
|
||||
It isn't recommended to set policies enforced in assigned access kiosk mode to different values using other channels, as the kiosk mode has been optimized to provide a locked-down experience.
|
||||
When the Assigned Access configuration is applied on a device, certain policy settings are enforced, impacting other users using the device.
|
||||
|
||||
When the assigned access kiosk configuration is applied on the device, certain policies are enforced system-wide, and will impact other users on the device.
|
||||
This reference article lists the policy settings applied by Assigned Access.
|
||||
|
||||
## Group Policy
|
||||
|
||||
|
||||
## Group policy
|
||||
|
||||
The following local policies affect all **non-administrator** users on the system, regardless whether the user is configured as an assigned access user or not. These users include local users, domain users, and Microsoft Entra users.
|
||||
|
||||
| Setting | Value |
|
||||
|--|--|
|
||||
| Remove access to the context menus for the task bar | Enabled |
|
||||
| Clear history of recently opened documents on exit | Enabled |
|
||||
| Prevent users from customizing their Start Screen | Enabled |
|
||||
| Prevent users from uninstalling applications from Start | Enabled |
|
||||
| Remove Run menu from Start Menu | Enabled |
|
||||
| Disable showing balloon notifications as toast | Enabled |
|
||||
| Do not allow pinning items in Jump Lists | Enabled |
|
||||
| Do not allow pinning programs to the Taskbar | Enabled |
|
||||
| Do not display or track items in Jump Lists from remote locations | Enabled |
|
||||
| Remove Notifications and Action Center | Enabled |
|
||||
| Lock all taskbar settings | Enabled |
|
||||
| Lock the Taskbar | Enabled |
|
||||
| Prevent users from adding or removing toolbars | Enabled |
|
||||
| Prevent users from resizing the taskbar | Enabled |
|
||||
| Remove frequent programs list from the Start Menu | Enabled |
|
||||
| Remove Pinned programs from the taskbar | Enabled |
|
||||
| Remove the Security and Maintenance icon | Enabled |
|
||||
| Turn off all balloon notifications | Enabled |
|
||||
| Turn off feature advertisement balloon notifications | Enabled |
|
||||
| Turn off toast notifications | Enabled |
|
||||
| Remove Task Manager | Enabled |
|
||||
| Remove Change Password option in Security Options UI | Enabled |
|
||||
| Remove Sign Out option in Security Options UI | Enabled |
|
||||
| Remove All Programs list from the Start Menu | Enabled - Remove and disable setting |
|
||||
| Prevent access to drives from My Computer | Enabled - Restrict all drives |
|
||||
|
||||
>[!NOTE]
|
||||
@ -48,38 +31,32 @@ The following local policies affect all **non-administrator** users on the syste
|
||||
|
||||
## MDM policy
|
||||
|
||||
|
||||
Some of the MDM policies based on the [Policy configuration service provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider) affect all users on the system.
|
||||
|
||||
| Setting | Value | System-wide |
|
||||
|--|--|--|
|
||||
| [Experience/AllowCortana](/windows/client-management/mdm/policy-csp-experience#experience-allowcortana) | 0 - Not allowed | Yes |
|
||||
| [Start/AllowPinnedFolderDocuments](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderdocuments) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderDownloads](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderdownloads) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderFileExplorer](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderfileexplorer) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderHomeGroup](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderhomegroup) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderMusic](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldermusic) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderNetwork](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldernetwork) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderPersonalFolder](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderpersonalfolder) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderPictures](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfolderpictures) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderSettings](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldersettings) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| [Start/AllowPinnedFolderVideos](/windows/client-management/mdm/policy-csp-start#start-allowpinnedfoldervideos) | 0 - Shortcut is hidden and disables the setting in the Settings app | Yes |
|
||||
| Start/DisableContextMenus | 1 - Context menus are hidden for Start apps | No |
|
||||
| [Start/HidePeopleBar](/windows/client-management/mdm/policy-csp-start#start-hidepeoplebar) | 1 - True (hide) | No |
|
||||
| [Start/HideChangeAccountSettings](/windows/client-management/mdm/policy-csp-start#start-hidechangeaccountsettings) | 1 - True (hide) | Yes |
|
||||
| [WindowsInkWorkspace/AllowWindowsInkWorkspace](/windows/client-management/mdm/policy-csp-windowsinkworkspace#windowsinkworkspace-allowwindowsinkworkspace) | 0 - Access to ink workspace is disabled and the feature is turned off | Yes |
|
||||
| [Start/StartLayout](/windows/client-management/mdm/policy-csp-start#start-startlayout) | Configuration dependent | No |
|
||||
| [WindowsLogon/DontDisplayNetworkSelectionUI](/windows/client-management/mdm/policy-csp-windowslogon#windowslogon-dontdisplaynetworkselectionui) | <Enabled/> | Yes |
|
||||
Start/AllowPinnedFolderDocuments
|
||||
Start/AllowPinnedFolderDownloads
|
||||
Start/AllowPinnedFolderFileExplorer
|
||||
Start/AllowPinnedFolderHomeGroup
|
||||
Start/AllowPinnedFolderMusic
|
||||
Start/AllowPinnedFolderNetwork
|
||||
Start/AllowPinnedFolderPersonalFolder
|
||||
Start/AllowPinnedFolderPictures
|
||||
Start/AllowPinnedFolderSettings
|
||||
Start/AllowPinnedFolderVideos
|
||||
Start/DisableContextMenus
|
||||
Start/HidePeopleBar (hide)
|
||||
Start/HideChangeAccountSettings (hide)
|
||||
AllowWindowsInkWorkspace (disabled and the feature is turned off)
|
||||
StartLayout
|
||||
DontDisplayNetworkSelectionUI
|
||||
|
||||
<!--
|
||||
## Start Menu
|
||||
|
||||
Remove access to the context menus for the task bar
|
||||
Clear history of recently opened documents on exit
|
||||
Prevent users from customizing their Start Screen
|
||||
Prevent users from uninstalling applications from Start
|
||||
Remove All Programs list from the Start menu
|
||||
Remove Run menu from Start Menu
|
||||
*Remove access to the context menus for the task bar
|
||||
*Clear history of recently opened documents on exit
|
||||
*Prevent users from customizing their Start Screen
|
||||
*Prevent users from uninstalling applications from Start
|
||||
*Remove All Programs list from the Start menu
|
||||
*Remove Run menu from Start Menu
|
||||
|
||||
## Desktop
|
||||
|
||||
@ -87,22 +64,25 @@ Hide and disable all items on the desktop
|
||||
|
||||
## Task bar
|
||||
|
||||
Disable showing balloon notificationss as toast
|
||||
Do not allow pinning items in Jump Lists
|
||||
Do not allow pinning programs to the Taskbar
|
||||
Do not display or track items in Jump Lists from remote locations
|
||||
Remove Notification Center
|
||||
Remove Control Center
|
||||
Lock all taskbar settings
|
||||
Lock the Taskbar
|
||||
Prevent users from adding or removing toolbars
|
||||
Prevent users from moving taskbar to another screen dock location
|
||||
Prevent users from rearranging toolbars
|
||||
Prevent users from resizing the taskbar
|
||||
Remove frequent programs list from the Start Menu
|
||||
Remove the Security and Maintenance icon
|
||||
Turn off all balloon notifications
|
||||
Turn off feature advertisement balloon notifications
|
||||
Hide the Task View button
|
||||
*Disable showing balloon notificationss as toast
|
||||
*Do not allow pinning items in Jump Lists
|
||||
*Do not allow pinning programs to the Taskbar
|
||||
*Do not display or track items in Jump Lists from remote locations
|
||||
*Remove Notification Center
|
||||
*Remove Control Center (What is it? is it action center perhaps?)
|
||||
*Lock all Taskbar settings
|
||||
*Lock the Taskbar
|
||||
*Prevent users from adding or removing toolbars
|
||||
**Prevent users from moving taskbar to another screen dock location
|
||||
**Prevent users from rearranging toolbars
|
||||
*Prevent users from resizing the taskbar
|
||||
*Remove frequent programs list from the Start Menu
|
||||
*Remove the Security and Maintenance icon
|
||||
*Turn off all balloon notifications
|
||||
*Turn off feature advertisement balloon notifications
|
||||
**Hide the Task View button
|
||||
|
||||
-->
|
||||
|
||||
>[!NOTE]
|
||||
>It's not recommended to configure policy settings enforced by Assigned Access to different values using other channels. Assigned Access is optimized to provide a locked-down experience.
|
@ -39,27 +39,6 @@ For sample XML configurations for the different app combinations, see [Samples f
|
||||
|
||||
[See the technical reference for the shell launcher component.](/windows-hardware/customize/enterprise/shell-launcher)
|
||||
|
||||
## Enable Shell Launcher feature
|
||||
|
||||
To set a custom shell, you first turn on the Shell Launcher feature, and then you can set your custom shell as the default using PowerShell or MDM.
|
||||
|
||||
**To turn on Shell Launcher in Windows features**
|
||||
|
||||
1. Go to Control Panel > **Programs and features** > **Turn Windows features on or off**
|
||||
1. Expand **Device Lockdown**
|
||||
1. Select **Shell Launcher** and **OK**
|
||||
|
||||
Alternatively, you can turn on Shell Launcher using Windows Configuration Designer in a provisioning package, using `SMISettings > ShellLauncher`, or you can use the Deployment Image Servicing and Management (DISM.exe) tool.
|
||||
|
||||
**To turn on Shell Launcher using DISM**
|
||||
|
||||
1. Open a command prompt as an administrator.
|
||||
1. Enter the following command.
|
||||
|
||||
```
|
||||
Dism /online /Enable-Feature /all /FeatureName:Client-EmbeddedShellLauncher
|
||||
```
|
||||
|
||||
## Configure a custom shell in MDM
|
||||
|
||||
You can use XML and a [custom OMA-URI setting](#custom-oma-uri-setting) to configure Shell Launcher in MDM.
|
||||
|
@ -7,7 +7,7 @@ ms.date: 02/05/2024
|
||||
|
||||
# Quickstart: configure a kiosk experience with Shell Launcher
|
||||
|
||||
When you configure Windows as a *kisok*, you assign a single application to run above the lock screen. This is useful for public-facing scenarios, such as a digital sign or a public browser.
|
||||
When you configure Windows as a *kiosk* with Shell Launcher, you configure an application to replace the default shell (`explorer.exe`). This is useful for public-facing scenarios, such as a point of sale or a business critical application.
|
||||
|
||||
This quickstart provides practical examples of how to configure a kiosk experience on Windows with Shell Launcher. The examples describe the steps using a mobile device management solution (MDM) like Microsoft Intune, and PowerShell. While different solutions are used, the configuration settings and results are the same.
|
||||
|
||||
|
@ -12,7 +12,8 @@ This reference article contains the XML schema definitions (XSD) for Shell Launc
|
||||
## Shell Launcher XSD
|
||||
|
||||
```xml
|
||||
<xs:schema elementFormDefault="qualified"
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:default="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
@ -165,7 +166,8 @@ This reference article contains the XML schema definitions (XSD) for Shell Launc
|
||||
## Shell Launcher v2 XSD
|
||||
|
||||
```xml
|
||||
<xs:schema elementFormDefault="qualified"
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/ShellLauncher/2019/Configuration"
|
||||
xmlns:default="http://schemas.microsoft.com/ShellLauncher/2019/Configuration" targetNamespace="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
|
@ -21,6 +21,8 @@ items:
|
||||
href: create-assigned-access-configuration.md
|
||||
- name: Create a Shell Launcher configuration file
|
||||
href: create-shell-launcher-configuration.md
|
||||
- name: Configure devices
|
||||
href: configure.md
|
||||
- name: Find the AUMID of an installed app
|
||||
href: find-aumid.md
|
||||
- name: Use Shell Launcher to create a Windows client kiosk
|
||||
|
Reference in New Issue
Block a user