From 5f42050e7eab7482bfe6169421da2842000de54f Mon Sep 17 00:00:00 2001
From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com>
Date: Wed, 26 Feb 2025 15:57:01 -0500
Subject: [PATCH 01/57] merge
---
.../configuration/assigned-access/index.md | 343 +++++++++++++---
.../configuration/assigned-access/overview.md | 315 ---------------
.../assigned-access/shell-launcher/index.md | 131 ------
.../assigned-access/shell-launcher/toc.yml | 9 -
windows/configuration/assigned-access/toc.yml | 16 +-
windows/configuration/kiosk/images/kiosk.png | Bin 0 -> 4758 bytes
.../restricted-user-experience-example.png | Bin 0 -> 780890 bytes
.../images/restricted-user-experience.png | Bin 0 -> 5520 bytes
windows/configuration/kiosk/index.md | 74 ++++
windows/configuration/kiosk/toc.yml | 13 +
...wser-support.md => browser-support_old.md} | 0
.../shell-launcher/configuration-file.md | 0
.../includes/quickstart-intune.md | 0
.../shell-launcher/includes/quickstart-ps.md | 0
.../shell-launcher/includes/quickstart-xml.md | 0
windows/configuration/shell-launcher/index.md | 377 ++++--------------
.../configuration/shell-launcher/index_old.md | 344 ++++++++++++++++
.../shell-launcher/quickstart-kiosk.md | 0
windows/configuration/shell-launcher/toc.yml | 48 +--
.../shell-launcher/xsd.md | 0
windows/configuration/toc.yml | 4 +-
21 files changed, 836 insertions(+), 838 deletions(-)
delete mode 100644 windows/configuration/assigned-access/overview.md
delete mode 100644 windows/configuration/assigned-access/shell-launcher/index.md
delete mode 100644 windows/configuration/assigned-access/shell-launcher/toc.yml
create mode 100644 windows/configuration/kiosk/images/kiosk.png
create mode 100644 windows/configuration/kiosk/images/restricted-user-experience-example.png
create mode 100644 windows/configuration/kiosk/images/restricted-user-experience.png
create mode 100644 windows/configuration/kiosk/index.md
create mode 100644 windows/configuration/kiosk/toc.yml
rename windows/configuration/shell-launcher/{browser-support.md => browser-support_old.md} (100%)
rename windows/configuration/{assigned-access => }/shell-launcher/configuration-file.md (100%)
rename windows/configuration/{assigned-access => }/shell-launcher/includes/quickstart-intune.md (100%)
rename windows/configuration/{assigned-access => }/shell-launcher/includes/quickstart-ps.md (100%)
rename windows/configuration/{assigned-access => }/shell-launcher/includes/quickstart-xml.md (100%)
create mode 100644 windows/configuration/shell-launcher/index_old.md
rename windows/configuration/{assigned-access => }/shell-launcher/quickstart-kiosk.md (100%)
rename windows/configuration/{assigned-access => }/shell-launcher/xsd.md (100%)
diff --git a/windows/configuration/assigned-access/index.md b/windows/configuration/assigned-access/index.md
index 198d5e431c..9e87bd19a5 100644
--- a/windows/configuration/assigned-access/index.md
+++ b/windows/configuration/assigned-access/index.md
@@ -1,74 +1,315 @@
---
-title: Windows kiosks and restricted user experiences
-description: Learn about the options available in Windows to configure kiosks and restricted user experiences.
-ms.topic: overview
+title: What is Assigned Access?
+description: Learn how to configure a Windows kiosk for single-app and multi-app scenarios with Assigned Access.
ms.date: 10/31/2024
+ms.topic: overview
---
-# Windows kiosks and restricted user experiences
+# What is Assigned Access?
-Organizations are constantly seeking ways to streamline operations, improve customer service, and enhance productivity. One effective solution is the deployment of kiosk devices. These specialized devices offer a range of benefits that can significantly impact an organization's efficiency and success. For example:
+Assigned Access is a Windows feature that you can use to configure a device as a kiosk or with a restricted user experience.
-- Cost-effective customer service: kiosks allow organizations to provide essential services without the need for dedicated staff. Whether it's checking in at a hotel, ordering food at a restaurant, or printing boarding passes at an airport, kiosks reduce labor costs while maintaining service quality. Customers appreciate the convenience of self-service options, leading to higher satisfaction levels
-- Reduced wait times: long queues and wait times frustrate customers and staff members. Kiosks expedite processes by allowing users to complete tasks independently. Whether it's paying bills, renewing memberships, or accessing information, kiosks empower users to get things done swiftly
-- Consistent brand experience: kiosks ensure a uniform brand experience across different locations. Whether in retail stores, schools, airports, or healthcare facilities, the interface remains consistent. Brand consistency builds trust and reinforces the organization's image
-- Customization and flexibility: kiosks can be tailored to specific needs. From touchscreens to barcode scanners, organizations choose features that align with their goals. Whether it's self-checkout, wayfinding, or interactive product catalogs, kiosks adapt to diverse requirements
+When you configure a **kiosk experience**, a single Universal Windows Platform (UWP) application or Microsoft Edge is executed in full screen, above the lock screen. Users can only use that application. If the kiosk app is closed, it automatically restarts. Practical examples include:
-Windows offers two different options for public or specialized use:
+- Public browsing
+- Interactive digital signage
-:::row:::
- :::column span="1":::
- :::image type="content" source="images/kiosk.png" alt-text="Icon representing a kiosk." border="false":::
- :::column-end:::
- :::column span="3":::
- #### Kiosk experience
- :::column-end:::
-:::row-end:::
+When you configure a **restricted user experience**, users can only execute a defined list of applications, with a tailored Start menu and Taskbar. Different policy settings and AppLocker rules are enforced, creating a locked down experience. The users can access a familiar Windows desktop, while limiting their access, reducing distractions, and potential for inadvertent uses. Ideal for shared devices, you can create different configurations for different users. Practical examples include:
-This option runs a single application in full screen, and people using the device can only use that app. When the designated kiosk account signs in, the kiosk app launches automatically. This option is sometimes referred to as *single-app kiosk*.
+- Frontline worker devices
+- Student devices
+- Lab devices
-Windows offers two different features to configure a kiosk experience:
+> [!NOTE]
+> When you configure a restricted user experience, different policy settings are applied to the device. Some policy settings apply to standard users only, and some to administrator accounts too. For more information, see [Assigned Access policy settings](policy-settings.md).
-- **Assigned Access**: used to execute a single Universal Windows Platform (UWP) app or Microsoft Edge in full screen above the lock screen. When the kiosk account signs in, the kiosk app launches automatically. If the UWP app is closed, it automatically restarts
-- **Shell Launcher**: used to configure a device to execute a Windows desktop application as the user interface. The application that you specify replaces the default Windows shell (`Explorer.exe`) that usually runs when a user signs in. This type of single-app kiosk doesn't run above the lock screen
+## Requirements
-:::row:::
- :::column span="1":::
- :::image type="content" source="images/restricted-user-experience.png" alt-text="Icon representing a restricted user experience." border="false":::
- :::column-end:::
- :::column span="3":::
- #### Restricted user experience
- :::column-end:::
-:::row-end:::
+Here are the requirements for Assigned Access:
-This option loads the Windows desktop, but it only allows to run a defined set of applications. When the designated user signs in, the user can only run the apps that are allowed. The Start menu is customized to show only the apps that are allowed to execute. With this approach, you can configure a locked-down experience for different account types. This option is sometimes referred to as *multi-app kiosk*.
+- To use a kiosk experience, [User account control (UAC)](/windows/security/identity-protection/user-account-control/user-account-control-overview) must be enabled
+- To use a kiosk experience, you must sign in from the console. The kiosk experience isn't supported over a remote desktop connection
-:::image type="content" source="images/restricted-user-experience-example.png" alt-text="Screenshot of a restricted user experience in Windows 11." border="false":::
+[!INCLUDE [assigned-access](../../../includes/licensing/assigned-access.md)]
-To configure a restricted user experience, you use the **Assigned Access** feature.
+## Configure a kiosk experience
-## Choose the right experience
+There are several options to configure a kiosk experience. If you need to configure a single device with a local account, you can use:
-When you're considering a kiosk or restricted user experience, you need to choose the right experience for your needs. A good approach is to ask yourself the following set of questions:
+- PowerShell: you can use the `Set-AssignedAccess` PowerShell cmdlet to configure a kiosk experience using a local standard account
+- Settings: use this option when you need a simple method to configure a single device with a local standard user account
-| | Question |
-|--|--|
-| **🔲** | *How many apps?*
The number of apps determines the experience to build: **kiosk** or **restricted user experience**.|
-| **🔲** | *Desktop experience or custom?*
If your users require access to the desktop with a custom Start menu, then you can build a **restricted user experience** with **Assigned Access**. If your users require access to multiple applications but with a custom user interface, then you should use **Shell Launcher**.|
-| **🔲** | *In single-app scenario, which type of app will your kiosk run?*
If the kiosk requires a Universal Windows Platform (UWP) app or Microsoft Edge, you can build a **kiosk experience** with **Assigned Access**. If the kiosk requires a desktop app, you can build a **kiosk experience** with **Shell Launcher**.|
-| **🔲** | *Which edition of Windows client will the kiosk run?"*
**Assigned Access** is supported on Windows Pro and Enterprise/Education. **Shell Launcher** is only supported on Windows Enterprise and Education editions.|
+For advanced customizations, you can use the [Assigned Access CSP](/windows/client-management/mdm/assignedaccess-csp) to configure the kiosk experience. The CSP allows you to configure the kiosk app, the user account, and the kiosk app's behavior. When you use the CSP, you must create an XML configuration file that specifies the kiosk app and the user account. The XML file is applied to the device using one of the following options:
+
+- A Mobile Device Management (MDM) solution, like Microsoft Intune
+- Provisioning packages
+- PowerShell, with the MDM Bridge WMI Provider
+
+To learn how to configure the Shell Launcher XML file, see [Create an Assigned Access configuration file](configuration-file.md).
+
+[!INCLUDE [tab-intro](../../../includes/configure/tab-intro.md)]
+
+#### [:::image type="icon" source="../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
+
+You can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
+
+- **Setting:** `./Vendor/MSFT/AssignedAccess/Configuration`
+- **Value:** content of the XML configuration file
+
+Assign the policy to a group that contains as members the devices that you want to configure.
+
+#### [:::image type="icon" source="../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
+
+[!INCLUDE [provisioning-package-1](../../../includes/configure/provisioning-package-1.md)]
+
+- **Path:** `AssignedAccess/AssignedAccessSettings`
+- **Value:** Enter the account and the application you want to use for Assigned access, using the AUMID of the app. Example:
+ - `{"Account":"domain\user", "AUMID":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}`
+
+[!INCLUDE [provisioning-package-2](../../../includes/configure/provisioning-package-2.md)]
+
+#### [:::image type="icon" source="../images/icons/powershell.svg"::: **PowerShell**](#tab/ps)
+
+To configure a device using Windows PowerShell:
+
+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:
+
+ ```PowerShell
+ #Configure Assigned Access by AppUserModelID and user name
+ Set-AssignedAccess -AppUserModelId -UserName
+
+ #Configure Assigned Access by AppUserModelID and user SID
+ Set-AssignedAccess -AppUserModelId -UserSID
+
+ #Configure Assigned Access by app name and user name
+ Set-AssignedAccess -AppName -UserName
+
+ #Configure Assigned Access by app name and user SID**:
+ Set-AssignedAccess -AppName -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.
+
+For more information:
+
+- [Find the Application User Model ID of an installed app](../store/find-aumid.md)
+- [Set-AssignedAccess](/powershell/module/assignedaccess/set-assignedaccess)
+
+To remove assigned access, using PowerShell, run the following cmdlet:
+
+```powershell
+Clear-AssignedAccess
+```
+
+For advanced customizations that use the XML configuration file, you can use PowerShell scripts via the [MDM Bridge WMI Provider](/windows/win32/dmwmibridgeprov/mdm-bridge-wmi-provider-portal).
+
+> [!IMPORTANT]
+> For all device settings, the WMI Bridge client must be executed as SYSTEM (LocalSystem) account.
+
+To test the PowerShell script, you can:
+
+1. [Download the psexec tool](/sysinternals/downloads/psexec)
+1. Open an elevated command prompt and run: `psexec.exe -i -s powershell.exe`
+1. Run the script in the PowerShell session
+
+```PowerShell
+$shellLauncherConfiguration = @"
+
+# content of the XML configuration file
+
+"@
+
+$namespaceName="root\cimv2\mdm\dmmap"
+$className="MDM_AssignedAccess"
+$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
+$obj.ShellLauncher = [System.Net.WebUtility]::HtmlEncode($shellLauncherConfiguration)
+$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 Shell Launcher configuration"
+```
+
+[!INCLUDE [powershell-wmi-bridge-2](../../../includes/configure/powershell-wmi-bridge-2.md)]
+
+#### [:::image type="icon" source="../images/icons/settings-app.svg"::: **Settings**](#tab/settings)
+
+Here are the steps to configure a kiosk using the Settings app:
+
+1. Open the Settings app to view and configure a device as a kiosk. Go to **Settings > Accounts > Other Users**, or use the following shortcut:
+
+ > [!div class="nextstepaction"]
+ >
+ > [Other Users](ms-settings:otherusers)
+
+1. Under **Set up a kiosk**, select **Get Started**
+1. In the **Create an account** dialog, enter the account name, and select **Next**
+ >[!NOTE]
+ >If there are any local standard user accounts already, the **Create an account** dialog offers the option to **Choose an existing account**
+
+1. Choose the application to run when the kiosk account signs in. Only apps that can run above the lock screen are available in the list of apps to choose from. If you select **Microsoft Edge** as the kiosk app, you configure the following options:
+
+ - Whether Microsoft Edge should display your website full-screen (digital sign) or with some browser controls available (public browser)
+ - Which URL should be open when the kiosk accounts signs in
+ - When Microsoft Edge should restart after a period of inactivity (if you select to run as a public browser)
+
+1. Select **Close**
+
+When the device isn't joined to an Active Directory domain or Microsoft Entra ID, automatic sign-in of the kiosk account is configured automatically:
+
+- If you want the kiosk account to sign in automatically, and the kiosk app launched when the device restarts, then you don't need to do anything
+- 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 want to use as the kiosk account. Open **Settings** > **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
+
+---
+
+> [!TIP]
+> For practical examples, see the [Quickstart: Configure a kiosk with Assigned Access](quickstart-kiosk.md).
+
+## Configure a restricted user experience
+
+To configure a restricted user experience with Assigned Access, you must create an XML configuration file with the settings for the desired experience. The XML file is applied to the device via the [Assigned Access CSP](/windows/client-management/mdm/assignedaccess-csp#shelllauncher), using one of the following options:
+
+- A Mobile Device Management (MDM) solution, like Microsoft Intune
+- Provisioning packages
+- PowerShell, with the MDM Bridge WMI Provider
+
+To learn how to configure the Assigned Access XML file, see [Create an Assigned Access configuration file](configuration-file.md).
+
+[!INCLUDE [tab-intro](../../../includes/configure/tab-intro.md)]
+
+#### [:::image type="icon" source="../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
+
+You can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
+
+- **Setting:** `./Vendor/MSFT/AssignedAccess/ShellLauncher`
+- **Value:** content of the XML configuration file
+
+Assign the policy to a group that contains as members the devices that you want to configure.
+
+#### [:::image type="icon" source="../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
+
+[!INCLUDE [provisioning-package-1](../../../includes/configure/provisioning-package-1.md)]
+
+- **Path:** `AssignedAccess/MultiAppAssignedAccessSettings`
+- **Value:** content of the XML configuration file
+
+[!INCLUDE [provisioning-package-2](../../../includes/configure/provisioning-package-2.md)]
+
+#### [:::image type="icon" source="../images/icons/powershell.svg"::: **PowerShell**](#tab/ps)
+
+[!INCLUDE [powershell-wmi-bridge-1](../../../includes/configure/powershell-wmi-bridge-1.md)]
+
+```PowerShell
+$assignedAccessConfiguration = @"
+
+# content of the XML configuration file
+
+"@
+
+$namespaceName="root\cimv2\mdm\dmmap"
+$className="MDM_AssignedAccess"
+$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
+$obj.Configuration = [System.Net.WebUtility]::HtmlEncode($assignedAccessConfiguration)
+$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"
+```
+
+[!INCLUDE [powershell-wmi-bridge-2](../../../includes/configure/powershell-wmi-bridge-2.md)]
+
+#### [:::image type="icon" source="../images/icons/settings-app.svg"::: **Settings**](#tab/settings)
+
+This option isn't available using Settings.
+
+---
+
+> [!TIP]
+> For practical examples, see the [Quickstart: Configure a restricted user experience with Assigned Access](quickstart-restricted-user-experience.md)
+
+## User experience
+
+To validate the kiosk or restricted user experience, sign in with the user account you specified in the configuration file.
+
+The Assigned Access configuration takes effect the next time the targeted user signs in. If that user account is signed in when you apply the configuration, sign out and sign back in to validate the experience.
+
+> [!NOTE]
+> Starting in Windows 11, a restricted user experience supports the use of multiple monitors.
+
+### Autotrigger touch keyboard
+
+The touch keyboard is automatically triggered when there's an input needed and no physical keyboard is attached on touch-enabled devices. You don't need to configure any other setting to enforce this behavior.
+
+> [!TIP]
+> The touch keyboard is triggered only when tapping a textbox. Mouse clicks don't trigger the touch keyboard. If you're testing this feature, use a physical device instead of a virtual machine (VM), as the touch keyboard is not triggered on VMs.
+
+### Sign out of assigned access
+
+By default, to exit the kiosk experience, press Ctrl + Alt + Del. The kiosk app exits automatically. If you sign in again as the Assigned Access account, or wait for the sign in screen timeout, the kiosk app relaunches. The default timeout is 30 seconds, but you can change the timeout with the registry key:
+
+`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI`
+
+To change the default time for Assigned Access to resume, add *IdleTimeOut* (DWORD) and enter the value data as milliseconds in hexadecimal.
+
+> [!NOTE]
+> `IdleTimeOut` doesn't apply to the 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 is CTRL + ALT + A, where CTRL + ALT are the modifiers, and A is the key value. To learn more, see [Create an Assigned Access configuration XML file](configuration-file.md).
+
+## Remove Assigned Access
+
+Deleting the restricted user experience removes the policy settings associated with the users, but it can't revert all the configurations. For example, the Start menu configuration is maintained.
## Next steps
-In the next sections, you can learn more about the options available to configure kiosks and restricted user experiences:
+> [!div class="nextstepaction"]
+> Review the recommendations before you deploy Assigned Access:
+>
+> [Assigned Access recommendations](recommendations.md)
-- [Assigned Access](overview.md)
-- [Shell Launcher](shell-launcher/index.md)
+
-### :::image type="icon" source="../images/icons/rocket.svg" border="false"::: Quickstarts
-
-If you're ready to try out the options available to configure kiosks and restricted user experiences, check out the following quickstarts:
-
-- [Quickstart: configure a kiosk with Assigned Access](quickstart-kiosk.md)
-- [Quickstart: configure a kiosk experience with Shell Launcher](shell-launcher/quickstart-kiosk.md)
-- [Quickstart: configure a restricted user experience with Assigned Access](quickstart-restricted-user-experience.md)
\ No newline at end of file
+[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
+[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
diff --git a/windows/configuration/assigned-access/overview.md b/windows/configuration/assigned-access/overview.md
deleted file mode 100644
index 9e87bd19a5..0000000000
--- a/windows/configuration/assigned-access/overview.md
+++ /dev/null
@@ -1,315 +0,0 @@
----
-title: What is Assigned Access?
-description: Learn how to configure a Windows kiosk for single-app and multi-app scenarios with Assigned Access.
-ms.date: 10/31/2024
-ms.topic: overview
----
-
-# What is Assigned Access?
-
-Assigned Access is a Windows feature that you can use to configure a device as a kiosk or with a restricted user experience.
-
-When you configure a **kiosk experience**, a single Universal Windows Platform (UWP) application or Microsoft Edge is executed in full screen, above the lock screen. Users can only use that application. If the kiosk app is closed, it automatically restarts. Practical examples include:
-
-- Public browsing
-- Interactive digital signage
-
-When you configure a **restricted user experience**, users can only execute a defined list of applications, with a tailored Start menu and Taskbar. Different policy settings and AppLocker rules are enforced, creating a locked down experience. The users can access a familiar Windows desktop, while limiting their access, reducing distractions, and potential for inadvertent uses. Ideal for shared devices, you can create different configurations for different users. Practical examples include:
-
-- Frontline worker devices
-- Student devices
-- Lab devices
-
-> [!NOTE]
-> When you configure a restricted user experience, different policy settings are applied to the device. Some policy settings apply to standard users only, and some to administrator accounts too. For more information, see [Assigned Access policy settings](policy-settings.md).
-
-## Requirements
-
-Here are the requirements for Assigned Access:
-
-- To use a kiosk experience, [User account control (UAC)](/windows/security/identity-protection/user-account-control/user-account-control-overview) must be enabled
-- To use a kiosk experience, you must sign in from the console. The kiosk experience isn't supported over a remote desktop connection
-
-[!INCLUDE [assigned-access](../../../includes/licensing/assigned-access.md)]
-
-## Configure a kiosk experience
-
-There are several options to configure a kiosk experience. If you need to configure a single device with a local account, you can use:
-
-- PowerShell: you can use the `Set-AssignedAccess` PowerShell cmdlet to configure a kiosk experience using a local standard account
-- Settings: use this option when you need a simple method to configure a single device with a local standard user account
-
-For advanced customizations, you can use the [Assigned Access CSP](/windows/client-management/mdm/assignedaccess-csp) to configure the kiosk experience. The CSP allows you to configure the kiosk app, the user account, and the kiosk app's behavior. When you use the CSP, you must create an XML configuration file that specifies the kiosk app and the user account. The XML file is applied to the device using one of the following options:
-
-- A Mobile Device Management (MDM) solution, like Microsoft Intune
-- Provisioning packages
-- PowerShell, with the MDM Bridge WMI Provider
-
-To learn how to configure the Shell Launcher XML file, see [Create an Assigned Access configuration file](configuration-file.md).
-
-[!INCLUDE [tab-intro](../../../includes/configure/tab-intro.md)]
-
-#### [:::image type="icon" source="../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
-
-You can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
-
-- **Setting:** `./Vendor/MSFT/AssignedAccess/Configuration`
-- **Value:** content of the XML configuration file
-
-Assign the policy to a group that contains as members the devices that you want to configure.
-
-#### [:::image type="icon" source="../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
-
-[!INCLUDE [provisioning-package-1](../../../includes/configure/provisioning-package-1.md)]
-
-- **Path:** `AssignedAccess/AssignedAccessSettings`
-- **Value:** Enter the account and the application you want to use for Assigned access, using the AUMID of the app. Example:
- - `{"Account":"domain\user", "AUMID":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}`
-
-[!INCLUDE [provisioning-package-2](../../../includes/configure/provisioning-package-2.md)]
-
-#### [:::image type="icon" source="../images/icons/powershell.svg"::: **PowerShell**](#tab/ps)
-
-To configure a device using Windows PowerShell:
-
-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:
-
- ```PowerShell
- #Configure Assigned Access by AppUserModelID and user name
- Set-AssignedAccess -AppUserModelId -UserName
-
- #Configure Assigned Access by AppUserModelID and user SID
- Set-AssignedAccess -AppUserModelId -UserSID
-
- #Configure Assigned Access by app name and user name
- Set-AssignedAccess -AppName -UserName
-
- #Configure Assigned Access by app name and user SID**:
- Set-AssignedAccess -AppName -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.
-
-For more information:
-
-- [Find the Application User Model ID of an installed app](../store/find-aumid.md)
-- [Set-AssignedAccess](/powershell/module/assignedaccess/set-assignedaccess)
-
-To remove assigned access, using PowerShell, run the following cmdlet:
-
-```powershell
-Clear-AssignedAccess
-```
-
-For advanced customizations that use the XML configuration file, you can use PowerShell scripts via the [MDM Bridge WMI Provider](/windows/win32/dmwmibridgeprov/mdm-bridge-wmi-provider-portal).
-
-> [!IMPORTANT]
-> For all device settings, the WMI Bridge client must be executed as SYSTEM (LocalSystem) account.
-
-To test the PowerShell script, you can:
-
-1. [Download the psexec tool](/sysinternals/downloads/psexec)
-1. Open an elevated command prompt and run: `psexec.exe -i -s powershell.exe`
-1. Run the script in the PowerShell session
-
-```PowerShell
-$shellLauncherConfiguration = @"
-
-# content of the XML configuration file
-
-"@
-
-$namespaceName="root\cimv2\mdm\dmmap"
-$className="MDM_AssignedAccess"
-$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
-$obj.ShellLauncher = [System.Net.WebUtility]::HtmlEncode($shellLauncherConfiguration)
-$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 Shell Launcher configuration"
-```
-
-[!INCLUDE [powershell-wmi-bridge-2](../../../includes/configure/powershell-wmi-bridge-2.md)]
-
-#### [:::image type="icon" source="../images/icons/settings-app.svg"::: **Settings**](#tab/settings)
-
-Here are the steps to configure a kiosk using the Settings app:
-
-1. Open the Settings app to view and configure a device as a kiosk. Go to **Settings > Accounts > Other Users**, or use the following shortcut:
-
- > [!div class="nextstepaction"]
- >
- > [Other Users](ms-settings:otherusers)
-
-1. Under **Set up a kiosk**, select **Get Started**
-1. In the **Create an account** dialog, enter the account name, and select **Next**
- >[!NOTE]
- >If there are any local standard user accounts already, the **Create an account** dialog offers the option to **Choose an existing account**
-
-1. Choose the application to run when the kiosk account signs in. Only apps that can run above the lock screen are available in the list of apps to choose from. If you select **Microsoft Edge** as the kiosk app, you configure the following options:
-
- - Whether Microsoft Edge should display your website full-screen (digital sign) or with some browser controls available (public browser)
- - Which URL should be open when the kiosk accounts signs in
- - When Microsoft Edge should restart after a period of inactivity (if you select to run as a public browser)
-
-1. Select **Close**
-
-When the device isn't joined to an Active Directory domain or Microsoft Entra ID, automatic sign-in of the kiosk account is configured automatically:
-
-- If you want the kiosk account to sign in automatically, and the kiosk app launched when the device restarts, then you don't need to do anything
-- 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 want to use as the kiosk account. Open **Settings** > **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
-
----
-
-> [!TIP]
-> For practical examples, see the [Quickstart: Configure a kiosk with Assigned Access](quickstart-kiosk.md).
-
-## Configure a restricted user experience
-
-To configure a restricted user experience with Assigned Access, you must create an XML configuration file with the settings for the desired experience. The XML file is applied to the device via the [Assigned Access CSP](/windows/client-management/mdm/assignedaccess-csp#shelllauncher), using one of the following options:
-
-- A Mobile Device Management (MDM) solution, like Microsoft Intune
-- Provisioning packages
-- PowerShell, with the MDM Bridge WMI Provider
-
-To learn how to configure the Assigned Access XML file, see [Create an Assigned Access configuration file](configuration-file.md).
-
-[!INCLUDE [tab-intro](../../../includes/configure/tab-intro.md)]
-
-#### [:::image type="icon" source="../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
-
-You can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
-
-- **Setting:** `./Vendor/MSFT/AssignedAccess/ShellLauncher`
-- **Value:** content of the XML configuration file
-
-Assign the policy to a group that contains as members the devices that you want to configure.
-
-#### [:::image type="icon" source="../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
-
-[!INCLUDE [provisioning-package-1](../../../includes/configure/provisioning-package-1.md)]
-
-- **Path:** `AssignedAccess/MultiAppAssignedAccessSettings`
-- **Value:** content of the XML configuration file
-
-[!INCLUDE [provisioning-package-2](../../../includes/configure/provisioning-package-2.md)]
-
-#### [:::image type="icon" source="../images/icons/powershell.svg"::: **PowerShell**](#tab/ps)
-
-[!INCLUDE [powershell-wmi-bridge-1](../../../includes/configure/powershell-wmi-bridge-1.md)]
-
-```PowerShell
-$assignedAccessConfiguration = @"
-
-# content of the XML configuration file
-
-"@
-
-$namespaceName="root\cimv2\mdm\dmmap"
-$className="MDM_AssignedAccess"
-$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
-$obj.Configuration = [System.Net.WebUtility]::HtmlEncode($assignedAccessConfiguration)
-$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"
-```
-
-[!INCLUDE [powershell-wmi-bridge-2](../../../includes/configure/powershell-wmi-bridge-2.md)]
-
-#### [:::image type="icon" source="../images/icons/settings-app.svg"::: **Settings**](#tab/settings)
-
-This option isn't available using Settings.
-
----
-
-> [!TIP]
-> For practical examples, see the [Quickstart: Configure a restricted user experience with Assigned Access](quickstart-restricted-user-experience.md)
-
-## User experience
-
-To validate the kiosk or restricted user experience, sign in with the user account you specified in the configuration file.
-
-The Assigned Access configuration takes effect the next time the targeted user signs in. If that user account is signed in when you apply the configuration, sign out and sign back in to validate the experience.
-
-> [!NOTE]
-> Starting in Windows 11, a restricted user experience supports the use of multiple monitors.
-
-### Autotrigger touch keyboard
-
-The touch keyboard is automatically triggered when there's an input needed and no physical keyboard is attached on touch-enabled devices. You don't need to configure any other setting to enforce this behavior.
-
-> [!TIP]
-> The touch keyboard is triggered only when tapping a textbox. Mouse clicks don't trigger the touch keyboard. If you're testing this feature, use a physical device instead of a virtual machine (VM), as the touch keyboard is not triggered on VMs.
-
-### Sign out of assigned access
-
-By default, to exit the kiosk experience, press Ctrl + Alt + Del. The kiosk app exits automatically. If you sign in again as the Assigned Access account, or wait for the sign in screen timeout, the kiosk app relaunches. The default timeout is 30 seconds, but you can change the timeout with the registry key:
-
-`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI`
-
-To change the default time for Assigned Access to resume, add *IdleTimeOut* (DWORD) and enter the value data as milliseconds in hexadecimal.
-
-> [!NOTE]
-> `IdleTimeOut` doesn't apply to the 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 is CTRL + ALT + A, where CTRL + ALT are the modifiers, and A is the key value. To learn more, see [Create an Assigned Access configuration XML file](configuration-file.md).
-
-## Remove Assigned Access
-
-Deleting the restricted user experience removes the policy settings associated with the users, but it can't revert all the configurations. For example, the Start menu configuration is maintained.
-
-## Next steps
-
-> [!div class="nextstepaction"]
-> Review the recommendations before you deploy Assigned Access:
->
-> [Assigned Access recommendations](recommendations.md)
-
-
-
-[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
-[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
diff --git a/windows/configuration/assigned-access/shell-launcher/index.md b/windows/configuration/assigned-access/shell-launcher/index.md
deleted file mode 100644
index 5ffc4c6801..0000000000
--- a/windows/configuration/assigned-access/shell-launcher/index.md
+++ /dev/null
@@ -1,131 +0,0 @@
----
-title: What is Shell Launcher?
-description: Learn how to configure devices with Shell Launcher.
-ms.date: 10/31/2024
-ms.topic: overview
----
-
-# What is Shell Launcher?
-
-Shell Launcher is a Windows feature that you can use to replace the default Windows Explorer shell (`Explorer.exe`) with a Windows desktop application or a Universal Windows Platform (UWP) app.
-
-Practical examples include:
-
-- Public browsing
-- Interactive digital signage
-- ATMs
-
-Shell Launcher controls which application the user sees as the shell after sign-in. It doesn't prevent the user from accessing other desktop applications and system components. From a custom shell, you can launch secondary views displayed on multiple monitors, or launch other apps in full screen on user's demand.
-
-With Shell Launcher, you can use features and methods to control access to other applications or system components. These methods include, but aren't limited to:
-
-- Configuration Service Provider (CSP): you can use a Mobile Device Management (MDM) solution like Microsoft Intune
-- Group policy (GPO)
-- [AppLocker](/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-overview)
-
-Shell Launcher is part of the [Assigned Access](../overview.md) feature, which allows you to configure kiosks or restricted user experiences. To learn about the differences between Shell Launcher and the other options offered by Assigned Access, see [Windows kiosks and restricted user experiences](../index.md).
-
-[!INCLUDE [shell-launcher](../../../../includes/licensing/shell-launcher.md)]
-
-## Limitations
-
-Here are some limitations to consider when using Shell Launcher:
-
-- Windows doesn't support setting a custom shell before the out-of-box experience (OOBE). If you do, you can't deploy the resulting image
-- Shell Launcher doesn't support a custom shell with an application that launches a different process and exits. For example, you can't specify `write.exe` in Shell Launcher. Shell Launcher launches a custom shell and monitors the process to identify when the custom shell exits. `Write.exe` creates a 32-bit `wordpad.exe` process and exits. Since Shell Launcher isn't aware of the newly created `wordpad.exe` process, Shell Launcher takes action based on the exit code of `Write.exe`, such as restarting the custom shell
-
-## Configure a device with Shell Launcher
-
-The configuration of Shell Launcher is done using an XML file. The XML file is applied to the device via the [Assigned Access CSP](/windows/client-management/mdm/assignedaccess-csp#shelllauncher), using one of the following options:
-
-- A Mobile Device Management (MDM) solution, like Microsoft Intune
-- Provisioning packages
-- The MDM Bridge WMI Provider
-
-To learn how to configure the Shell Launcher XML file, see [Create a Shell Launcher configuration file](configuration-file.md).
-
-[!INCLUDE [tab-intro](../../../../includes/configure/tab-intro.md)]
-
-#### [:::image type="icon" source="../../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
-
-You can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
-
-- **Setting:** `./Vendor/MSFT/AssignedAccess/ShellLauncher`
-- **Value:** content of the XML configuration file
-
-Assign the policy to a group that contains as members the devices that you want to configure.
-
-#### [:::image type="icon" source="../../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
-
-[!INCLUDE [provisioning-package-1](../../../../includes/configure/provisioning-package-1.md)]
-
-- **Path:** `SMISettings/ShellLauncher`
-- **Value:** depends on specific settings
-
-[!INCLUDE [provisioning-package-2](../../../../includes/configure/provisioning-package-2.md)]
-
-#### [:::image type="icon" source="../../images/icons/powershell.svg"::: **PowerShell**](#tab/ps)
-
-[!INCLUDE [powershell-wmi-bridge-1](../../../../includes/configure/powershell-wmi-bridge-1.md)]
-
-```PowerShell
-$shellLauncherConfiguration = @"
-
-# content of the XML configuration file
-
-"@
-
-$namespaceName="root\cimv2\mdm\dmmap"
-$className="MDM_AssignedAccess"
-$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
-$obj.ShellLauncher = [System.Net.WebUtility]::HtmlEncode($shellLauncherConfiguration)
-$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()
- $eventLogFilterHashTable = @{ LogName='Microsoft-Windows-AssignedAccess/Admin' }
- 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 Shell Launcher configuration"
-```
-
-[!INCLUDE [powershell-wmi-bridge-2](../../../../includes/configure/powershell-wmi-bridge-2.md)]
-
----
-
-> [!TIP]
-> For practical examples, see the [Quickstart: configure a kiosk experience with Shell Launcher](quickstart-kiosk.md).
-
-## User experience
-
-After the settings are applied, the users that are configured to use Shell Launcher will execute the custom shell after sign-in.
-
-Depending on your configuration, you can have a user to automatically sign in to the device.
-
-## Next steps
-
-> [!div class="nextstepaction"]
-> Learn how to configure the Shell Launcher XML file:
->
-> [Create a Shell Launcher configuration file](configuration-file.md)
-
-
-
-[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
-[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
diff --git a/windows/configuration/assigned-access/shell-launcher/toc.yml b/windows/configuration/assigned-access/shell-launcher/toc.yml
deleted file mode 100644
index 047a8acdb9..0000000000
--- a/windows/configuration/assigned-access/shell-launcher/toc.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-items:
-- name: What is Shell Launcher?
- href: index.md
-- name: "Quickstart: Configure a kiosk with Shell Launcher"
- href: quickstart-kiosk.md
-- name: Create a Shell Launcher configuration file
- href: configuration-file.md
-- name: Shell Launcher XSD
- href: xsd.md
diff --git a/windows/configuration/assigned-access/toc.yml b/windows/configuration/assigned-access/toc.yml
index a80a14dd6a..d0c553ba35 100644
--- a/windows/configuration/assigned-access/toc.yml
+++ b/windows/configuration/assigned-access/toc.yml
@@ -1,18 +1,16 @@
items:
-- name: Overview
- href: index.md
- name: Assigned Access
items:
- name: What is Assigned Access?
- href: overview.md
+ href: index.md
+ - name: Create an Assigned Access configuration file
+ href: configuration-file.md
- name: Quickstarts
items:
- name: Configure a kiosk with Assigned Access
href: quickstart-kiosk.md
- name: Configure a restricted user experience with Assigned Access
href: quickstart-restricted-user-experience.md
- - name: Create an Assigned Access configuration file
- href: configuration-file.md
- name: Reference
items:
- name: Assigned Access XSD
@@ -21,13 +19,7 @@ items:
href: examples.md
- name: Assigned Access policy settings
href: policy-settings.md
-- name: Shell Launcher
- href: shell-launcher/toc.yml
- name: Recommendations
href: recommendations.md
- name: Assigned Access CSP 🔗
- href: /windows/client-management/mdm/assignedaccess-csp
-- name: Troubleshoot 🔗
- href: /troubleshoot/windows-client/shell-experience/kiosk-mode-issues-troubleshooting
-- name: Configure Microsoft Edge kiosk mode 🔗
- href: /deployedge/microsoft-edge-configure-kiosk-mode
\ No newline at end of file
+ href: /windows/client-management/mdm/assignedaccess-csp
\ No newline at end of file
diff --git a/windows/configuration/kiosk/images/kiosk.png b/windows/configuration/kiosk/images/kiosk.png
new file mode 100644
index 0000000000000000000000000000000000000000..bea0e381b67ecffd04b337450f6faf09edb3e849
GIT binary patch
literal 4758
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