Merge pull request #9691 from MicrosoftDocs/main
publish main to live 10:30 AM 3/13/24
@ -29,6 +29,11 @@
|
||||
"source_path": "windows/application-management/sideload-apps-in-windows-10.md",
|
||||
"redirect_url": "/windows/application-management/sideload-apps-in-windows",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/application-management/add-apps-and-features.md",
|
||||
"redirect_url": "/windows/client-management/client-tools/add-remove-hide-features",
|
||||
"redirect_document_id": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -347,7 +347,7 @@
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk-prepare.md",
|
||||
"redirect_url": "/windows/configuration/kiosk/kiosk-prepare",
|
||||
"redirect_url": "/windows/configuration/kiosk/recommendations",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
@ -372,7 +372,7 @@
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/lockdown-features-windows-10.md",
|
||||
"redirect_url": "/windows/configuration/kiosk/lockdown-features-windows-10",
|
||||
"redirect_url": "/previous-versions/windows/it-pro/windows-10/configuration/kiosk/lockdown-features-windows-10",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
@ -729,6 +729,116 @@
|
||||
"source_path": "windows/configuration/cortana-at-work/testing-scenarios-using-cortana-in-business-org.md",
|
||||
"redirect_url": "/previous-versions/windows/it-pro/windows-10/configuration/cortana-at-work/testing-scenarios-using-cortana-in-business-org",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/lockdown-features-windows-10.md",
|
||||
"redirect_url": "/previous-versions/windows/it-pro/windows-10/configuration/kiosk/lockdown-features-windows-10",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/find-the-application-user-model-id-of-an-installed-app.md",
|
||||
"redirect_url": "/windows/configuration/store/find-aumid",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/lock-down-windows-10-applocker.md",
|
||||
"redirect_url": "/windows/security/application-security/application-control/windows-defender-application-control/applocker/applocker-overview",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/lock-down-windows-10-to-specific-apps.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/configuration-file",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/lock-down-windows-11-to-specific-apps.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/create-xml",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-additional-reference.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-mdm-bridge.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/quickstart-kiosk",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-policies.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/policy-settings",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-shelllauncher.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/shell-launcher",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-validate.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/overview",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-xml.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/configuration-file",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/setup-digital-signage.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/overview",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-single-app.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/overview",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-methods.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/guidelines-for-assigned-access-app.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/overview",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/kiosk/kiosk-prepare.md",
|
||||
"redirect_url": "/windows/configuration/assigned-access/recommendations",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/start/customize-start-menu-layout-windows-11.md",
|
||||
"redirect_url": "/windows/configuration/start/customize-and-export-start-layout",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/start/customize-windows-10-start-screens-by-using-group-policy.md",
|
||||
"redirect_url": "/windows/configuration/start/customize-and-export-start-layout",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/start/customize-windows-10-start-screens-by-using-mobile-device-management.md",
|
||||
"redirect_url": "/windows/configuration/start/customize-and-export-start-layout",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/start/customize-windows-10-start-screens-by-using-provisioning-packages-and-icd.md",
|
||||
"redirect_url": "/windows/configuration/start/customize-and-export-start-layout",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/taskbar/configure-windows-10-taskbar.md",
|
||||
"redirect_url": "/windows/configuration/taskbar",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/configuration/taskbar/customize-taskbar-windows-11.md",
|
||||
"redirect_url": "/windows/configuration/taskbar",
|
||||
"redirect_document_id": false
|
||||
}
|
||||
]
|
||||
}
|
@ -1124,6 +1124,11 @@
|
||||
"source_path": "windows/deployment/Windows-AutoPilot-EULA-note.md",
|
||||
"redirect_url": "/legal/windows/windows-autopilot-eula-note",
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/deployment/windows-10-missing-fonts.md",
|
||||
"redirect_url": "/windows/deployment/windows-missing-fonts",
|
||||
"redirect_document_id": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ Stickers aren't enabled by default. Follow the instructions below to configure y
|
||||
| <li> OMA-URI: **`./Vendor/MSFT/Policy/Config/Stickers/EnableStickers`** </li><li>Data type: **Integer** </li><li>Value: **1**</li>|
|
||||
|
||||
[!INCLUDE [intune-custom-settings-2](../../includes/configure/intune-custom-settings-2.md)]
|
||||
[!INCLUDE [intune-custom-settings-info](../../includes/configure/intune-custom-settings-info.md)]
|
||||
|
||||
> [!TIP]
|
||||
> Use the following Graph call to automatically create the custom policy in your tenant without assignments nor scope tags. <sup>[1](#footnote1)</sup>
|
||||
@ -52,14 +51,13 @@ Content-Type: application/json
|
||||
|
||||
#### [:::image type="icon" source="images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
|
||||
|
||||
To configure devices using a provisioning package, [create a provisioning package][WIN-1] using Windows Configuration Designer (WCD) with the following settings:
|
||||
[!INCLUDE [provisioning-package-1](../../includes/configure/provisioning-package-1.md)]
|
||||
|
||||
| Setting |
|
||||
|--------|
|
||||
| <li> Path: **`Education/AllowStickers`** </li><li>Value: **True**</li>|
|
||||
|
||||
Follow the steps in [Apply a provisioning package][WIN-2] to apply the package that you created.
|
||||
|
||||
[!INCLUDE [provisioning-package-2](../../includes/configure/provisioning-package-2.md)]
|
||||
---
|
||||
|
||||
## How to use Stickers
|
||||
@ -76,8 +74,3 @@ Multiple stickers can be added from the picker by selecting them. The stickers c
|
||||
:::image type="content" source="./images/win-11-se-stickers-animation.gif" alt-text="animation showing Windows 11 SE desktop with 4 pirate stickers being resized and moved" border="true":::
|
||||
|
||||
Select the *X button* at the top of the screen to save your progress and close the sticker editor.
|
||||
|
||||
[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
|
||||
|
||||
[WIN-1]: /windows/configuration/provisioning-packages/provisioning-create-package
|
||||
[WIN-2]: /windows/configuration/provisioning-packages/provisioning-apply-package
|
@ -26,7 +26,7 @@ The other options allow you to configure Take a Test in kiosk mode using a local
|
||||
|
||||
Follow the instructions below to configure your devices, selecting the option that best suits your needs.
|
||||
|
||||
#### [:::image type="icon" source="images/icons/intune.svg"::: **Intune**](#tab/intune)
|
||||
# [:::image type="icon" source="images/icons/intune.svg"::: **Intune**](#tab/intune)
|
||||
|
||||
You can use Intune for Education or a custom profile in Microsoft Intune:
|
||||
|
||||
@ -68,9 +68,8 @@ To configure devices using Intune for Education, follow these steps:
|
||||
:::image type="content" source="./images/takeatest/intune-take-a-test-custom-profile.png" alt-text="Intune portal - creation of a custom policy to configure Take a Test." lightbox="./images/takeatest/intune-take-a-test-custom-profile.png" border="true":::
|
||||
|
||||
[!INCLUDE [intune-custom-settings-2](../../includes/configure/intune-custom-settings-2.md)]
|
||||
[!INCLUDE [intune-custom-settings-info](../../includes/configure/intune-custom-settings-info.md)]
|
||||
|
||||
#### [:::image type="icon" source="images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
|
||||
# [:::image type="icon" source="images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg)
|
||||
|
||||
To create a provisioning package, you can either use Set up School PCs or Windows Configuration Designer:
|
||||
|
||||
@ -85,7 +84,7 @@ Create a provisioning package using the Set up School PCs app, configuring the s
|
||||
|
||||
### Create a provisioning package using Windows Configuration Designer
|
||||
|
||||
[Create a provisioning package][WIN-1] using Windows Configuration Designer with the following settings:
|
||||
[!INCLUDE [provisioning-package-1](../../includes/configure/provisioning-package-1.md)]
|
||||
|
||||
| Setting |
|
||||
|--------|
|
||||
@ -99,22 +98,11 @@ Create a provisioning package using the Set up School PCs app, configuring the s
|
||||
|
||||
:::image type="content" source="./images/takeatest/wcd-take-a-test.png" alt-text="Windows Configuration Designer - configuration of policies to enable Take a Test to run in kiosk mode" lightbox="./images/takeatest/wcd-take-a-test.png" border="true":::
|
||||
|
||||
Follow the steps in [Apply a provisioning package][WIN-2] to apply the package that you created.
|
||||
[!INCLUDE [provisioning-package-2](../../includes/configure/provisioning-package-2.md)]
|
||||
|
||||
#### [:::image type="icon" source="images/icons/powershell.svg"::: **PowerShell**](#tab/powershell)
|
||||
# [:::image type="icon" source="images/icons/powershell.svg"::: **PowerShell**](#tab/powershell)
|
||||
|
||||
Configure your devices using PowerShell scripts via the [MDM Bridge WMI Provider](/windows/win32/dmwmibridgeprov/mdm-bridge-wmi-provider-portal). For more information, see [Using PowerShell scripting with the WMI Bridge Provider](/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider).
|
||||
|
||||
> [!TIP]
|
||||
> PowerShell scripts can be executed as scheduled tasks via Group Policy.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> For all device settings, the WMI Bridge client must be executed as SYSTEM (LocalSystem) account.
|
||||
>
|
||||
> To test a 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
|
||||
[!INCLUDE [powershell-wmi-bridge-1](../../includes/configure/powershell-wmi-bridge-1.md)]
|
||||
|
||||
Edit the following sample PowerShell script to:
|
||||
|
||||
@ -171,7 +159,9 @@ $cimObject.HideFastUserSwitching = 1
|
||||
Set-CimInstance -CimInstance $cimObject
|
||||
```
|
||||
|
||||
#### [:::image type="icon" source="images/icons/settings.svg"::: **Settings app**](#tab/settings)
|
||||
[!INCLUDE [powershell-wmi-bridge-2](../../includes/configure/powershell-wmi-bridge-2.md)]
|
||||
|
||||
# [:::image type="icon" source="images/icons/settings.svg"::: **Settings app**](#tab/settings)
|
||||
|
||||
To create a local account, and configure Take a Test in kiosk mode using the Settings app:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Take tests and assessments in Windows
|
||||
description: Learn about the built-in Take a Test app for Windows and how to use it.
|
||||
ms.date: 03/31/2023
|
||||
ms.date: 02/29/2024
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
@ -48,7 +48,7 @@ This is an ideal option for teachers who want to create a link to a specific ass
|
||||
For this option, you embed a URL with a specific prefix and specify parameters depending on what you want to allow during the test.
|
||||
The URL must be in the following format:
|
||||
|
||||
```
|
||||
```text
|
||||
ms-edu-secureassessment:<URL>#enforceLockdown
|
||||
```
|
||||
|
||||
|
@ -6,11 +6,4 @@ ms.topic: include
|
||||
ms.service: windows-client
|
||||
---
|
||||
|
||||
To configure devices with Microsoft Intune, use a custom policy:
|
||||
|
||||
1. Go to the <a href="https://intune.microsoft.com" target="_blank"><b>Microsoft Intune admin center</b></a>
|
||||
2. Select **Devices > Configuration profiles > Create profile**
|
||||
3. Select **Platform > Windows 10 and later** and **Profile type > Templates > Custom**
|
||||
4. Select **Create**
|
||||
5. Specify a **Name** and, optionally, a **Description > Next**
|
||||
6. Add the following settings:
|
||||
To configure devices with Microsoft Intune, [create a custom policy](/mem/intune/configuration/custom-settings-windows-10) and use the following settings:
|
@ -6,7 +6,4 @@ ms.topic: include
|
||||
ms.service: windows-client
|
||||
---
|
||||
|
||||
7. Select **Next**
|
||||
8. Assign the policy to a security group that contains as members the devices or users that you want to configure > **Next**
|
||||
9. Under **Applicability Rules**, select **Next**
|
||||
10. Review the policy configuration and select **Create**
|
||||
Assign the policy to a group that contains as members the devices or users that you want to configure.
|
@ -1,9 +0,0 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 08/15/2023
|
||||
ms.topic: include
|
||||
ms.service: windows-client
|
||||
---
|
||||
|
||||
For more information about how to create custom settings using Intune, see [Use custom settings for Windows devices in Intune](/mem/intune/configuration/custom-settings-windows-10).
|
18
includes/configure/powershell-wmi-bridge-1.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 09/12/2023
|
||||
ms.topic: include
|
||||
ms.prod: windows-client
|
||||
---
|
||||
|
||||
Configure your devices using 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
|
9
includes/configure/powershell-wmi-bridge-2.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 09/12/2023
|
||||
ms.topic: include
|
||||
ms.prod: windows-client
|
||||
---
|
||||
|
||||
For more information, see [Use PowerShell scripting with the WMI Bridge Provider](/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider).
|
@ -7,13 +7,13 @@ ms.topic: include
|
||||
|
||||
## Windows edition and licensing requirements
|
||||
|
||||
The following table lists the Windows editions that support Assigned Access (kiosk mode):
|
||||
The following table lists the Windows editions that support Assigned Access:
|
||||
|
||||
|Windows Pro|Windows Enterprise|Windows Pro Education/SE|Windows Education|
|
||||
|:---:|:---:|:---:|:---:|
|
||||
|Yes|Yes|Yes|Yes|
|
||||
|
||||
Assigned Access (kiosk mode) license entitlements are granted by the following licenses:
|
||||
Assigned Access license entitlements are granted by the following licenses:
|
||||
|
||||
|Windows Pro/Pro Education/SE|Windows Enterprise E3|Windows Enterprise E5|Windows Education A3|Windows Education A5|
|
||||
|:---:|:---:|:---:|:---:|:---:|
|
22
includes/licensing/shell-launcher.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 09/18/2023
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
## Windows edition and licensing requirements
|
||||
|
||||
The following table lists the Windows editions that support Shell Launcher:
|
||||
|
||||
|Windows Pro|Windows Enterprise|Windows Pro Education/SE|Windows Education|
|
||||
|:---:|:---:|:---:|:---:|
|
||||
|No|Yes|No|Yes|
|
||||
|
||||
Shell Launcher license entitlements are granted by the following licenses:
|
||||
|
||||
|Windows Pro/Pro Education/SE|Windows Enterprise E3|Windows Enterprise E5|Windows Education A3|Windows Education A5|
|
||||
|:---:|:---:|:---:|:---:|:---:|
|
||||
|No|Yes|Yes|Yes|Yes|
|
||||
|
||||
For more information about Windows licensing, see [Windows licensing overview](/windows/whats-new/windows-licensing).
|
@ -1,98 +0,0 @@
|
||||
---
|
||||
title: Add or hide Windows features
|
||||
description: Learn how to add Windows optional features using the Apps & features page in the Settings app. Also see the group policy objects (GPO) and MDM policies that show or hide Apps and Windows Features in the Settings app. Use Windows PowerShell to show or hide specific features in Windows Features.
|
||||
author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 08/18/2023
|
||||
ms.topic: how-to
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
ms.localizationpriority: medium
|
||||
ms.collection: tier2
|
||||
appliesto:
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 11</a>
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 10</a>
|
||||
---
|
||||
|
||||
# Add or hide Windows features
|
||||
|
||||
Windows includes optional features that aren't installed by default, but you can add later. These features are called [Features on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities), and can be installed at any time. Some of these features are language resources like language packs or handwriting support. On organization-owned devices, you can control access to these other features. You can use group policy or mobile device management (MDM) policies to hide the UI from users, or use Windows PowerShell to enable or disable specific features.
|
||||
|
||||
## Use the Windows Settings app to add or uninstall features
|
||||
|
||||
### Windows 11
|
||||
|
||||
1. Open the Start menu and search for **Settings**.
|
||||
|
||||
1. In the Settings app, search for "optional" and select **Optional features**.
|
||||
|
||||
> [!TIP]
|
||||
> You can also use the following shortcut to open it directly: [`ms-settings:optionalfeatures`](ms-settings:optionalfeatures).
|
||||
|
||||
1. To add a feature:
|
||||
|
||||
1. Select **View features** next to "Add an optional feature."
|
||||
|
||||
1. Find the feature you want to add, like **XPS Viewer**. Select the box to add it. You can select multiple features.
|
||||
|
||||
1. Select **Next**. Review the list of features you selected, and then select **Install** to add the selected features.
|
||||
|
||||
1. To uninstall a feature:
|
||||
|
||||
1. Search for it in the list of **Installed features**.
|
||||
|
||||
1. Expand the section, and select **Uninstall**.
|
||||
|
||||
### Windows 10
|
||||
|
||||
1. In the Search bar, search for "apps" and select **Apps and features**.
|
||||
|
||||
1. Select **Optional features** > **Add a feature**.
|
||||
|
||||
1. Select the feature you want to add, like **XPS Viewer**, and then select **Install.**
|
||||
|
||||
When the installation completes, the feature is listed in **Apps & features**. In **Apps & features** > **Optional features** > **More Windows features**, there are more features that you and your users can install.
|
||||
|
||||
To uninstall a feature, open the **Settings** app. Select the feature, and then select **Uninstall**.
|
||||
|
||||
## Use group policy or MDM policies to hide Windows features
|
||||
|
||||
By default, the OS might show Windows features and allow users to install and uninstall these optional apps and features. To hide Windows features on your user devices, you can use group policy or an MDM provider like Microsoft Intune.
|
||||
|
||||
### Group policy
|
||||
|
||||
If you use group policy, use the `User Configuration\Administrative Template\Control Panel\Programs\Hide "Windows Features"` policy. By default, this policy may be set to **Not configured**, which means users can add or remove features. When this setting is **Enabled**, the settings page to add optional features is hidden on the device.
|
||||
|
||||
You can't use group policy to disable specific Windows features, such as XPS Viewer. If you want to disable specific features, use [Windows PowerShell](#use-windows-powershell-to-disable-specific-features).
|
||||
|
||||
If you want to hide the entire **Apps** feature in the Settings app, use the `User Configuration\Administrative Template\Control Panel\Programs\Hide "Programs and Features" page` policy.
|
||||
|
||||
### MDM
|
||||
|
||||
Using Microsoft Intune, you can use [administrative templates](/mem/intune/configuration/administrative-templates-windows) or the [settings catalog](/mem/intune/configuration/settings-catalog) to hide Windows features.
|
||||
|
||||
If you want to hide the entire **Apps** feature in the Settings app, you can use a configuration policy on Intune enrolled devices. For more information on the settings you can configure, see [Control Panel and Settings device restrictions in Microsoft Intune](/mem/intune/configuration/device-restrictions-windows-10#control-panel-and-settings).
|
||||
|
||||
## Use Windows PowerShell to disable specific features
|
||||
|
||||
To disable specific features, use the Windows PowerShell [Disable-WindowsOptionalFeature](/powershell/module/dism/disable-windowsoptionalfeature) cmdlet.
|
||||
|
||||
> [!NOTE]
|
||||
> There isn't a group policy that disables specific Windows features.
|
||||
|
||||
To automate disabling specific features, create a scheduled task to run a PowerShell script. For more information about Windows task scheduler, see [Task Scheduler for developers](/windows/win32/taskschd/task-scheduler-start-page).
|
||||
|
||||
Microsoft Intune can also run PowerShell scripts. For more information, see [Use PowerShell scripts on Windows client devices in Intune](/mem/intune/apps/intune-management-extension).
|
||||
|
||||
To enable specific features, use the [Enable-WindowsOptionalFeature](/powershell/module/dism/enable-windowsoptionalfeature) cmdlet.
|
||||
|
||||
Another useful PowerShell cmdlet is [Get-WindowsOptionalFeature](/powershell/module/dism/get-windowsoptionalfeature). Use this cmdlet to view information about optional features in the current OS or a mounted image. This cmdlet returns the current state of features, and whether a restart may be required when the state changes.
|
||||
|
||||
## Related articles
|
||||
|
||||
- [Features on Demand overview](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities)
|
||||
|
||||
- [Available Features on Demand](/windows-hardware/manufacture/desktop/features-on-demand-non-language-fod)
|
||||
|
||||
- [Language and region Features on Demand (FOD)](/windows-hardware/manufacture/desktop/features-on-demand-language-fod)
|
@ -39,6 +39,7 @@
|
||||
"ms.collection": [
|
||||
"tier2"
|
||||
],
|
||||
"zone_pivot_group_filename": "resources/zone-pivot-groups.json",
|
||||
"uhfHeaderId": "MSDocsHeader-Windows",
|
||||
"ms.service": "windows-client",
|
||||
"ms.subservice": "itpro-apps",
|
||||
|
@ -5,8 +5,6 @@ items:
|
||||
items:
|
||||
- name: Overview of apps in Windows
|
||||
href: overview-windows-apps.md
|
||||
- name: Add or hide Windows features
|
||||
href: add-apps-and-features.md
|
||||
- name: Sideload line of business (LOB) apps
|
||||
href: sideload-apps-in-windows.md
|
||||
- name: Private app repo on Windows 11
|
||||
|
@ -0,0 +1,170 @@
|
||||
---
|
||||
title: Add, remove, or hide Windows features
|
||||
description: Learn how to add or remove Windows optional features using the Optional features page in the Settings app. Also see the group policy objects (GPO) and MDM policies that show or hide Windows Features in the Settings app. Use Windows PowerShell to show or hide specific features in Windows Features.
|
||||
author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 03/13/2024
|
||||
ms.topic: how-to
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
ms.localizationpriority: medium
|
||||
ms.collection: tier2
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
appliesto:
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 11</a>
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 10</a>
|
||||
---
|
||||
|
||||
# Add, remove, or hide Windows features
|
||||
|
||||
Windows has optional features that aren't included by default, but you can add later. These features are called [Features on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities), and can be added at any time. Some of these features are language resources like language packs or handwriting support. On organization-owned devices, you can control access to these other features. You can use group policy or mobile device management (MDM) policies to hide the UI from users, or use Windows PowerShell to enable or disable specific features.
|
||||
|
||||
## Use the Windows Settings app to add or remove features
|
||||
|
||||
<!-- OSADO-45535220 -->
|
||||
|
||||
Open the **Optional features** pane in the **Settings** app by selecting the following link:
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> [Optional features](ms-settings:optionalfeatures)
|
||||
|
||||
or
|
||||
|
||||
1. Right-click on the **Start** menu and select **Run**.
|
||||
|
||||
1. In the **Run** window, next to **Open:**, enter:
|
||||
|
||||
```console
|
||||
ms-settings:optionalfeatures
|
||||
```
|
||||
|
||||
and then select **OK**.
|
||||
|
||||
or
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
1. Right-click on the **Start** menu and select **Settings**.
|
||||
|
||||
1. In the left hand pane of the Settings app, select **System**.
|
||||
|
||||
1. In the right hand **System** pane, select **Optional features**.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> The navigation steps, UI elements, and UI text in this section are based on the latest version of Windows 11 with the latest cumulative update installed. For other versions of Windows 11 that are currently supported or don't have the latest cumulative update, some of the navigation steps, UI elements, and UI text might be different. For example, the [**Optional features**](ms-settings:optionalfeatures) pane might be located under **Settings** > **Apps**.
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
1. Right-click on the **Start** menu and select **Settings**.
|
||||
|
||||
1. In the Settings app, select **System**.
|
||||
|
||||
1. In the left hand pane, select **Optional features**.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> The navigation steps, UI elements, and UI text in this section are based on Windows 10 22H2 with the latest cumulative update installed. For other versions of Windows 10 that are currently supported or don't have the latest cumulative update, some of the navigation steps, UI elements, and UI text might be different. For example, the [**Optional features**](ms-settings:optionalfeatures) pane might be located under **Settings** > **Apps** > **Apps & features**.
|
||||
|
||||
::: zone-end
|
||||
|
||||
### Add a feature
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
Once the **System > Optional features** pane is open, add a feature with the following steps:
|
||||
|
||||
1. Select the **View features** button next to **Add an optional feature**.
|
||||
|
||||
1. In the **Add an optional feature** window that opens:
|
||||
|
||||
1. Find the desired feature to add and then select the box next to the feature to add it. Multiple features can be selected.
|
||||
|
||||
1. Once all of the desired features are selected, select the **Next** button.
|
||||
|
||||
1. Review the selected list of features and then select the **Install** button to add the selected features.
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
Once the **Optional features** pane is open, add a feature with the following steps:
|
||||
|
||||
1. Select the **+** button next to **Add a feature**.
|
||||
|
||||
1. In the **Add an optional feature** window that opens:
|
||||
|
||||
1. Find the desired feature to add and then select the box next to the feature to add it. Multiple features can be selected.
|
||||
|
||||
1. Once all of the desired features are selected, select the **Install** button.
|
||||
|
||||
::: zone-end
|
||||
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> Windows Update is used to add the optional features. The device needs to be online so Windows Update can download the content that it needs to add.
|
||||
|
||||
### Remove a feature
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
Once the **System > Optional features** pane is open, remove a feature with the following steps:
|
||||
|
||||
1. Under **Installed features**, search for the feature that needs to be removed in the **Search installed features** search box, or scroll through the list of added features until the feature that needs to be removed is found.
|
||||
|
||||
1. Once the feature that needs to be removed is found, select the feature to expand it, and then select the **Uninstall** button.
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
Once the **Optional features** pane is open, remove a feature with the following steps:
|
||||
|
||||
1. Under **Installed features**, search for the feature that needs to be removed in the **Find an installed optional feature** search box, or scroll through the list of added features until the feature that needs to be removed is found.
|
||||
|
||||
1. Once the feature that needs to be removed is found, select the feature to expand it, and then select the **Uninstall** button.
|
||||
|
||||
::: zone-end
|
||||
|
||||
## Use group policy or MDM policies to hide Windows features
|
||||
|
||||
By default, the OS might show Windows features and allow users to add and remove these optional apps and features. To hide Windows features on your user devices, you can use group policy or an MDM provider like Microsoft Intune.
|
||||
|
||||
### Group policy
|
||||
|
||||
If you use group policy, use the `User Configuration\Administrative Template\Control Panel\Programs\Hide "Windows Features"` policy. By default, this policy might be set to **Not configured**, which means users can add or remove features. When this setting is **Enabled**, the settings page to add optional features is hidden on the device.
|
||||
|
||||
You can't use group policy to disable specific Windows features. If you want to disable specific features, use [Windows PowerShell](#use-windows-powershell-to-disable-specific-features).
|
||||
|
||||
If you want to hide the entire **Apps** feature in the Settings app, use the `User Configuration\Administrative Template\Control Panel\Programs\Hide "Programs and Features" page` policy.
|
||||
|
||||
### MDM
|
||||
|
||||
Using Microsoft Intune, you can use [administrative templates](/mem/intune/configuration/administrative-templates-windows) or the [settings catalog](/mem/intune/configuration/settings-catalog) to hide Windows features.
|
||||
|
||||
If you want to hide the entire **Apps** feature in the Settings app, you can use a configuration policy on Intune enrolled devices. For more information on the settings you can configure, see [Control Panel and Settings device restrictions in Microsoft Intune](/mem/intune/configuration/device-restrictions-windows-10#control-panel-and-settings).
|
||||
|
||||
## Use Windows PowerShell to disable specific features
|
||||
|
||||
To disable specific features, use the Windows PowerShell [Disable-WindowsOptionalFeature](/powershell/module/dism/disable-windowsoptionalfeature) cmdlet.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> There isn't a group policy that disables specific Windows features.
|
||||
|
||||
To automate disabling specific features, create a scheduled task to run a PowerShell script. For more information about Windows task scheduler, see [Task Scheduler for developers](/windows/win32/taskschd/task-scheduler-start-page).
|
||||
|
||||
Microsoft Intune can also run PowerShell scripts. For more information, see [Use PowerShell scripts on Windows client devices in Intune](/mem/intune/apps/intune-management-extension).
|
||||
|
||||
To enable specific features, use the [Enable-WindowsOptionalFeature](/powershell/module/dism/enable-windowsoptionalfeature) cmdlet.
|
||||
|
||||
Another useful PowerShell cmdlet is [Get-WindowsOptionalFeature](/powershell/module/dism/get-windowsoptionalfeature). Use this cmdlet to view information about optional features in the current OS or a mounted image. This cmdlet returns the current state of features, and whether a restart might be required when the state changes.
|
||||
|
||||
## Related content
|
||||
|
||||
- [Features on Demand overview](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities).
|
||||
- [Available Features on Demand](/windows-hardware/manufacture/desktop/features-on-demand-non-language-fod).
|
||||
- [Language and region Features on Demand (FOD)](/windows-hardware/manufacture/desktop/features-on-demand-language-fod).
|
@ -1,4 +1,6 @@
|
||||
items:
|
||||
- name: Add, remove, or hide Windows features
|
||||
href: add-remove-hide-features.md
|
||||
- name: Windows Tools/Administrative Tools
|
||||
href: administrative-tools-in-windows.md
|
||||
- name: Use Quick Assist to help users
|
||||
|
522
windows/configuration/assigned-access/configuration-file.md
Normal file
@ -0,0 +1,522 @@
|
||||
---
|
||||
title: Create an Assigned Access configuration file
|
||||
description: Learn how to create an XML file to configure Assigned Access.
|
||||
ms.topic: how-to
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
ms.date: 03/04/2024
|
||||
appliesto:
|
||||
---
|
||||
|
||||
# Create an Assigned Access configuration XML file
|
||||
|
||||
To configure Assigned Access, you must create and apply a configuration XML file to your devices. The configuration file must conform to a *schema*, as defined in [Assigned Access XML Schema Definition (XSD)](xsd.md).
|
||||
|
||||
This article describes how to configure an Assigned Access configuration file, including practical examples.
|
||||
|
||||
Let's start by looking at the basic structure of the XML file. An Assigned Access configuration file contains:
|
||||
|
||||
- One or multiple `profiles`. Each `profile` defines a set of applications that are allowed to run
|
||||
- One or multiple `configs`. Each `config` associates a user account or a group to a `profile`
|
||||
|
||||
Here's a basic example of an Assigned Access configuration file, with one profile and one config:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config">
|
||||
<Profiles>
|
||||
<Profile Id="{GUID}">
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
## Versioning
|
||||
|
||||
The Assigned Access configuration XML is versioned. The version is defined in the XML root element, and it's used to determine which schema to use to validate the XML file. The version is also used to determine which features are available for the configuration. Here's a table of the versions, aliases used in the documentation examples, and namespaces:
|
||||
|
||||
| Version | Alias | Namespace |
|
||||
|-|-|-|
|
||||
|Windows 11, version 22H2|`v5`|`http://schemas.microsoft.com/AssignedAccess/2022/config`|
|
||||
|Windows 11, version 21H2|`v4`|`http://schemas.microsoft.com/AssignedAccess/2021/config`|
|
||||
|Windows 10|`v5`|`http://schemas.microsoft.com/AssignedAccess/202010/config`|
|
||||
|Windows 10|`v3`|`http://schemas.microsoft.com/AssignedAccess/2020/config`|
|
||||
|Windows 10|`rs5`|`http://schemas.microsoft.com/AssignedAccess/201810/config`|
|
||||
|Windows 10|default|`http://schemas.microsoft.com/AssignedAccess/2017/config`|
|
||||
|
||||
To authorize a compatible configuration XML that includes version-specific elements and attributes, always include the namespace of the add-on schemas, and decorate the attributes and elements accordingly with the namespace alias. For example, to configure the `StartPins` feature that was added in Windows 11, version 22H2, use the below example. Note the alias `v5` associated to the `http://schemas.microsoft.com/AssignedAccess/2022/config` namespace for 22H2 release, and the alias is tagged on `StartPins` inline.
|
||||
|
||||
```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="{GUID}">
|
||||
<!-- Add configuration here as needed -->
|
||||
<v5:StartPins>
|
||||
<!-- Add StartPins configuration here -->
|
||||
</v5:StartPins>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
Here you can find the Assigned Access XML schema definitions: [Assigned Access XML Schema Definition (XSD)](xsd.md).
|
||||
|
||||
## Profiles
|
||||
|
||||
A configuration file can contain one or more profiles. Each profile is identified by a unique identifier `Profile Id` and, optionally, a `Name`. For example:
|
||||
|
||||
```xml
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> The `Profile Id` must be unique within the XML file. You can generate a GUID with the PowerShell cmdlet `New-Guid`.
|
||||
|
||||
A profile can be one of two types:
|
||||
|
||||
- `KioskModeApp`: is used to configure a kiosk experience. Users assigned this profile don't access the desktop, but only the Universal Windows Platform (UWP) application or Microsoft Edge running in full-screen above the Lock screen
|
||||
- `AllAppList` is used to configure a restricted user experience. Users assigned this profile, access the desktop with the specific apps on the Start menu
|
||||
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> - You can't set both `KioskModeApp` and `ShellLauncher` at the same time on the device
|
||||
> - A configuration file can contain only one `KioskModeApp` profile, but it can contain multiple `AllAppList` profiles.
|
||||
|
||||
### KioskModeApp
|
||||
|
||||
The properties of a `KioskModeApp` profile are:
|
||||
|
||||
| Property| Description | Details |
|
||||
|-|-|-|
|
||||
|`AppUserModelId`|The Application User Model ID (AUMID) of the UWP app.|Learn how to [Find the Application User Model ID of an installed app](../store/find-aumid.md).|
|
||||
|`v4:ClassicAppPath`|The full path to a desktop app executable.|This is the path to the desktop app used in kiosk mode. The path can contain system environment variables in the form of `%variableName%`.|
|
||||
|`v4:ClassicAppArguments`|The arguments to be passed to the desktop app.|This property is optional.|
|
||||
|
||||
By default, you can use the <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>DEL</kbd> sequence to exit kiosk mode. You can define a `BreakoutSequence` element to change the default sequence. The `Key` attribute is a string that represents the key combination.
|
||||
|
||||
Example of two profiles, a desktop app and a UWP app:
|
||||
|
||||
```xml
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<KioskModeApp v4:ClassicAppPath="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" v4:ClassicAppArguments="--kiosk https://www.contoso.com/ --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" />
|
||||
<v4:BreakoutSequence Key="Ctrl+A"/>
|
||||
</Profile>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}">
|
||||
<KioskModeApp AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
</Profile>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> You can only assign a `KioskModeApp` profile to users, not to groups.
|
||||
|
||||
### AllAppList
|
||||
|
||||
Based on the purpose of the kiosk device, define the list of applications that are allowed to run. This list can contain both UWP apps and desktop apps. When the mult-app kiosk configuration is applied to a device, AppLocker rules are generated to allow the apps that are listed in the configuration.
|
||||
|
||||
> [!NOTE]
|
||||
> If an app has a dependency on another app, both must be included in the allowed apps list.
|
||||
|
||||
Within the `AllAppList` node, define a list of applications that are allowed execute. Each `App` element has the following properties:
|
||||
|
||||
| Property| Description | Details |
|
||||
|-|-|-|
|
||||
|`AppUserModelId`|The Application User Model ID (AUMID) of the UWP app.|Learn how to [Find the Application User Model ID of an installed app](../store/find-aumid.md).|
|
||||
|`DesktopAppPath`|The full path to a desktop app executable.|This is the path to the desktop app that used in kiosk mode. The path can contain system environment variables in the form of `%variableName%`.|
|
||||
|`rs5:AutoLaunch`|A Boolean attribute to indicate whether to launch the app (either desktop or UWP app) automatically when the user signs in.|This property is optional. Only one application can autolaunch.|
|
||||
|`rs5:AutoLaunchArguments`|The arguments to be passed to the app that is configured with `AutoLaunch`.|AutoLaunchArguments are passed to the apps as is and the app needs to handle the arguments explicitly. This property is optional.|
|
||||
|
||||
Example:
|
||||
|
||||
```xml
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="C:\Windows\system32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
<App DesktopAppPath="C:\Windows\System32\notepad.exe" rs5:AutoLaunch="true" rs5:AutoLaunchArguments="%windir%\setuperr.log" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
```
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
### File Explorer restrictions
|
||||
|
||||
In a restricted user experience (`AllAppList`), folder browsing is locked down by default. You can explicitly allow access to known folders by including the `FileExplorerNamespaceRestrictions` node.
|
||||
|
||||
You can specify user access to Downloads folder, Removable drives, or no restrictions at all. Downloads and Removable Drives can be allowed at the same time.
|
||||
|
||||
```xml
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<!-- Add configuration here as needed -->
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<!-- Add configuration here as needed -->
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
```
|
||||
|
||||
Here are some practical examples.
|
||||
|
||||
#### Block everything
|
||||
|
||||
Either don't use the node or leave it empty.
|
||||
|
||||
```xml
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
```
|
||||
|
||||
#### Only allow downloads
|
||||
|
||||
```xml
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads"/>
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
```
|
||||
|
||||
#### Only allow removable drives
|
||||
|
||||
```xml
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
```
|
||||
|
||||
#### Allow both Downloads, and removable drives
|
||||
|
||||
```xml
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads"/>
|
||||
<v3:AllowRemovableDrives/>
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
```
|
||||
|
||||
#### No restrictions, all locations are allowed
|
||||
|
||||
```xml
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<v3:NoRestriction />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> To grant access to File Explorer in a restricted user experience, add `Explorer.exe` to the list of allowed apps, and pin a shortcut to the Start menu.
|
||||
|
||||
::: zone-end
|
||||
|
||||
### Start menu customizations
|
||||
|
||||
For a restricted user experience profile (`AllAppList`), you must define the Start layout. The Start layout contains a list of applications that are pinned to the Start menu. You can choose to pin all the allowed applications to the Start menu, or a subset. The easiest way to create a customized Start layout is to configure the Start menu on a test device and then export the layout.
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
To learn how to customize and export a Start menu configuration, see [Customize the Start menu](../start/customize-and-export-start-layout.md).
|
||||
|
||||
With the exported Start menu configuration, use the `StartLayout` element and add the content of the XML file. For example:
|
||||
|
||||
```xml
|
||||
<StartLayout>
|
||||
<![CDATA[
|
||||
<!-- Add your exported Start menu XML configuration file here -->
|
||||
]]>
|
||||
</StartLayout>
|
||||
```
|
||||
|
||||
Example with some apps pinned:
|
||||
|
||||
```xml
|
||||
<StartLayout>
|
||||
<![CDATA[
|
||||
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1"
|
||||
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Group1">
|
||||
<start:Tile Size="4x4" Column="0" Row="0" AppUserModelID="Microsoft. ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" />
|
||||
<start:Tile Size="2x2" Column="4" Row="2" AppUserModelID="Microsoft. ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" />
|
||||
</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>
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
To learn how to customize and export a Start menu configuration, see [Customize the Start menu](../start/customize-and-export-start-layout.md).
|
||||
|
||||
With the exported Start menu configuration, use the `v5:StartPins` element and add the content of the exported JSON file. For example:
|
||||
|
||||
```xml
|
||||
<v5:StartPins>
|
||||
<![CDATA[
|
||||
<!-- Add your exported Start menu JSON configuration file here -->
|
||||
]]>
|
||||
</v5:StartPins>
|
||||
```
|
||||
|
||||
Example with some apps pinned:
|
||||
|
||||
<v5:StartPins>
|
||||
<![CDATA[
|
||||
{
|
||||
"pinnedList":[
|
||||
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk"},
|
||||
{"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Edge.lnk"}
|
||||
]
|
||||
}
|
||||
]]>
|
||||
</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.
|
||||
|
||||
### Taskbar customizations
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
You can't pin apps on the taskbar in a restricted user experience. It's not supported to configure a Taskbar layout using the `<CustomTaskbarLayoutCollection>` tag in a layout modification XML, as part of the Assigned Access configuration.
|
||||
|
||||
The only Taskbar customization available is the option to show or hide it, using the `ShowTaskbar` boolean attribute.
|
||||
|
||||
The following example exposes the taskbar:
|
||||
|
||||
```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` hides the taskbar permanently.
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
You can customize the Taskbar by creating a custom layout and adding it to your XML file. To learn how to customize and export the Taskbar configuration, see [Customize the Taskbar](../taskbar/configure.md).
|
||||
|
||||
> [!NOTE]
|
||||
> In Windows 11, the `ShowTaskbar` attribute is no-op. Configure it with a value of `true`.
|
||||
|
||||
With the exported Taskbar configuration, use the `v5:TaskbarLayout` element and add the content of the XML file. For example:
|
||||
|
||||
```xml
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
<v5:TaskbarLayout><![CDATA[
|
||||
<!-- Add your exported Taskbar XML configuration file here -->
|
||||
]]>
|
||||
</v5:TaskbarLayout>
|
||||
```
|
||||
|
||||
Here's an example of a custom Taskbar with a few apps pinned:
|
||||
|
||||
```xml
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
<v5:TaskbarLayout><![CDATA[
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LayoutModificationTemplate
|
||||
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
|
||||
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
||||
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
||||
xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
|
||||
Version="1">
|
||||
<CustomTaskbarLayoutCollection>
|
||||
<defaultlayout:TaskbarLayout>
|
||||
<taskbar:TaskbarPinList>
|
||||
<taskbar:DesktopApp DesktopApplicationID="Microsoft.Windows.Explorer" />
|
||||
<taskbar:DesktopApp DesktopApplicationID="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk"/>
|
||||
</taskbar:TaskbarPinList>
|
||||
</defaultlayout:TaskbarLayout>
|
||||
</CustomTaskbarLayoutCollection>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</v5:TaskbarLayout>
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
<!--here-->
|
||||
|
||||
## Configs
|
||||
|
||||
Under `Configs`, define one or more user accounts, or groups, and their association with a profile.
|
||||
|
||||
When the user account signs in, 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 can't use a kiosk profile, only a restricted user experience profile
|
||||
- Apply the restricted user experience to standard users only. It's not supported to associate an admin user with an Assigned Access profile
|
||||
- Don't apply the profile to users or groups that are targeted by conditional access policies that require user interaction. For example, multi-factor authentication (MFA), or Terms of Use (TOU). For more information, see [Users can't log on to Windows if a multi-app kiosk profile is assigned](/troubleshoot/mem/intune/device-configuration/users-cannot-logon-windows-multi-app-kiosk)
|
||||
|
||||
>[!NOTE]
|
||||
> On Microsoft Entra joined and domain joined devices, local user accounts aren't displayed on the sign-in screen by default. To display the local accounts on the sign-in screen, enable the policy setting:
|
||||
>
|
||||
>- GPO: **Computer Configuration** > **Administrative Templates** > **System** > **Logon** > **Enumerate local users on domain-joined computers**
|
||||
>- CSP: `./Device/Vendor/MSFT/Policy/Config/WindowsLogon/`[EnumerateLocalUsersOnDomainJoinedComputers](/windows/client-management/mdm/policy-csp-windowslogon#enumeratelocalusersondomainjoinedcomputers)
|
||||
|
||||
### AutoLogon account
|
||||
|
||||
With `<AutoLogonAccount>`, Assigned Access creates and manages a user account to automatically sign in after a device restarts. 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 for the account on the sign-in screen:
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="Microsoft Learn example"/>
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
>[!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).
|
||||
|
||||
### Global profile
|
||||
|
||||
With `GlobalProfile`, you can define an Assigned Access profile that is applied to every non-admin account that signs in. `GlobalProfile` is useful in scenarios like frontline workers or student devices, where you want to ensure that every user has a consistent experience.
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<v3:GlobalProfile Id="{GUID}"/>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> You can combine a global profile with other profiles. If you assign a user a non-global profile, the global profile won't be applied to that user.
|
||||
|
||||
### User accounts
|
||||
|
||||
Individual accounts are specified using `<Account>`.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Before applying the Assigned Access configuration, make sure the specified user account is available on the device, otherwise it fails.
|
||||
>
|
||||
> For both domain and Microsoft Entra accounts, as long as the device is Active Directory 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.
|
||||
|
||||
#### Local user
|
||||
|
||||
Local account can be entered as `devicename\user`, `.\user`, or just `user`.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<Account>user</Account>
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
#### Active Directory user
|
||||
|
||||
Domain accounts must be entered using the format `domain\samAccountName`.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<Account>contoso\user</Account>
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
#### Microsoft Entra user
|
||||
|
||||
Microsoft Entra accounts must be specified with the format: `AzureAD\{UPN}`. `AzureAD` must be provided *as is*, then follow with the Microsoft Entra user principal name (UPN).
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<Account>AzureAD\user@contoso.onmicrosoft.com</Account>
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
### Group accounts
|
||||
|
||||
Group accounts are specified using `<UserGroup>`. Nested groups aren't supported. For example, if *User A* is member of *Group A*, *Group A* is member of *Group B*, and *Group B* is used in `<Config/>`, *User A* doesn't have the kiosk experience.
|
||||
|
||||
#### Local group
|
||||
|
||||
Specify the group type as `LocalGroup` and add the group name in the `Name` attribute.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="LocalGroup" Name="groupname" />
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
#### Active Directory group
|
||||
|
||||
Both security and distribution groups are supported. Specify the group type as `ActiveDirectoryGroup`. Use the domain name as the prefix in the name attribute.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<UserGroup Type="ActiveDirectoryGroup" Name="contoso\groupname" />
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
#### Microsoft Entra group
|
||||
|
||||
Use the object ID of the Microsoft Entra group. You can find the object ID on the overview page for the group by signing in to the Microsoft Entra admin center and browsing to **Identity** > **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="Group_GUID" />
|
||||
<DefaultProfile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> Review some practical examples of Assigned Access XML configurations:
|
||||
>
|
||||
> [Assigned Access examples](examples.md)
|
49
windows/configuration/assigned-access/examples.md
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
title: Assigned Access examples
|
||||
description: Practical examples of XML files to configure Assigned Access.
|
||||
ms.date: 03/04/2024
|
||||
ms.topic: reference
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
appliesto:
|
||||
---
|
||||
|
||||
# Assigned Access examples
|
||||
|
||||
This article contains examples of XML files to configure a device with Assigned Access. The files can be easily modified to fit your specific needs.
|
||||
|
||||
To learn more:
|
||||
|
||||
- [Create an Assigned Access configuration XML file](configuration-file.md).
|
||||
- [Assigned Access XML Schema Definition (XSD)](xsd.md).
|
||||
|
||||
## Kiosk experience with Microsoft Edge
|
||||
|
||||
[!INCLUDE [example-kiosk-edge](includes/example-kiosk-edge.md)]
|
||||
|
||||
## Kiosk experience with Universal Windows Platform (UWP) app
|
||||
|
||||
[!INCLUDE [example-kiosk-uwp](includes/example-kiosk-uwp.md)]
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
## File Explorer restrictions
|
||||
|
||||
[!INCLUDE [example-file-explorer-restrictions](includes/example-file-explorer-restrictions.md)]
|
||||
|
||||
::: zone-end
|
||||
|
||||
## Global Profile
|
||||
|
||||
The following configuration demonstrates that only a global profile is used, with no user configured.
|
||||
|
||||
[!INCLUDE [example-global-profile](includes/example-global-profile.md)]
|
||||
|
||||
## User Group
|
||||
|
||||
The following configuration demonstrates how to assign profiles to different users and groups, including a user configured to automatically sign in.
|
||||
|
||||
[!INCLUDE [example-usergroup](includes/example-usergroup.md)]
|
||||
|
||||
## Restricted user experience
|
||||
|
||||
[!INCLUDE [example-restricted-experience](includes/example-restricted-experience.md)]
|
BIN
windows/configuration/assigned-access/images/kiosk.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 172 KiB |
After Width: | Height: | Size: 544 KiB |
After Width: | Height: | Size: 5.4 KiB |
@ -0,0 +1,30 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 03/01/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!-- example of a restricted user profile with File Explorer restrictions and autologon account -->
|
||||
|
||||
```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:v3="http://schemas.microsoft.com/AssignedAccess/2020/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<!-- Add configuration here -->
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<!-- Add configuration here -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,22 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!--Global profile-->
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config" xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config" xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<!-- Add configuration here -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<v3:GlobalProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,26 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 03/01/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!-- Microsoft Edge kiosk-->
|
||||
|
||||
```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:v4="http://schemas.microsoft.com/AssignedAccess/2021/config">
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<KioskModeApp v4:ClassicAppPath="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" v4:ClassicAppArguments="--kiosk https://www.contoso.com/ --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" />
|
||||
<v4:BreakoutSequence Key="Ctrl+A" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>Edge kiosk</Account>
|
||||
<DefaultProfile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,25 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!-- example of a kiosk experience with UWP app-->
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config">
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<KioskModeApp AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>Weather app</Account>
|
||||
<DefaultProfile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,115 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!-- example of a restricted user experience-->
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AssignedAccessConfiguration 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" xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="C:\Windows\system32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout><![CDATA[
|
||||
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="">
|
||||
<start:Tile Size="2x2" Column="0" Row="4" AppUserModelID="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="4" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" />
|
||||
<start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk" />
|
||||
<start:Tile Size="2x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]></StartLayout>
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AssignedAccessConfiguration 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" xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config" xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="C:\Windows\system32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<v5:StartPins><![CDATA[{
|
||||
"pinnedList":[
|
||||
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.Windows.Photos_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.BingWeather_8wekyb3d8bbwe!App"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\Command Prompt.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Windows PowerShell\\Windows PowerShell.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk"},
|
||||
{"packagedAppId": "windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"},
|
||||
{"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Edge.lnk"}
|
||||
]
|
||||
}]]></v5:StartPins>
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
::: zone-end
|
@ -0,0 +1,37 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!-- example of a kiosk experience and a restricted user experience with 2 profiles-->
|
||||
|
||||
```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="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<KioskModeApp AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
</Profile>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<!-- Add configuration here as needed -->
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>Weather app</Account>
|
||||
<DefaultProfile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>Library Kiosk</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,47 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
<!--UserGroup example-->
|
||||
|
||||
```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">
|
||||
<Profiles>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>contoso\user</Account>
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>AzureAD\user@contoso.onmicrosoft.com</Account>
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>user</Account>
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="Hello World" />
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<UserGroup Type="LocalGroup" Name="groupname" />
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<UserGroup Type="ActiveDirectoryGroup" Name="contoso\groupname" />
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<UserGroup Type="AzureActiveDirectoryGroup" Name="Group_GUID" />
|
||||
<DefaultProfile Id="{GUID}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,13 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
```msgraph-interactive
|
||||
POST https://graph.microsoft.com/beta/deviceManagement/deviceConfigurations
|
||||
Content-Type: application/json
|
||||
|
||||
{ "id": "00000000-0000-0000-0000-000000000000", "displayName": "_MSLearn_Example_Kiosk - Assigned Access", "description": "This is a sample policy created from an article on learn.microsoft.com.", "roleScopeTagIds": [ "0" ], "@odata.type": "#microsoft.graph.windows10CustomConfiguration", "omaSettings": [ { "omaUri": "./Vendor/MSFT/AssignedAccess/Configuration", "displayName": "Configuration", "@odata.type": "#microsoft.graph.omaSettingString", "value": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<AssignedAccessConfiguration\n xmlns=\"http://schemas.microsoft.com/AssignedAccess/2017/config\"\n xmlns:rs5=\"http://schemas.microsoft.com/AssignedAccess/201810/config\"\n xmlns:v4=\"http://schemas.microsoft.com/AssignedAccess/2021/config\"\n >\n <Profiles>\n <Profile Id=\"{EDB3036B-780D-487D-A375-69369D8A8F78}\">\n <KioskModeApp v4:ClassicAppPath=\"%ProgramFiles(x86)%\\Microsoft\\Edge\\Application\\msedge.exe\" v4:ClassicAppArguments=\"--kiosk https://www.contoso.com/ --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2\" />\n <v4:BreakoutSequence Key=\"Ctrl+A\"/>\n </Profile>\n </Profiles>\n <Configs>\n <Config>\n <AutoLogonAccount rs5:DisplayName=\"MS Learn Example\"/>\n <DefaultProfile Id=\"{EDB3036B-780D-487D-A375-69369D8A8F78}\"/>\n </Config>\n </Configs>\n</AssignedAccessConfiguration>" } ] }
|
||||
```
|
@ -0,0 +1,37 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
```powershell
|
||||
$assignedAccessConfiguration = @"
|
||||
<?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:v4="http://schemas.microsoft.com/AssignedAccess/2021/config">
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<KioskModeApp v4:ClassicAppPath="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" v4:ClassicAppArguments="--kiosk https://www.contoso.com/ --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" />
|
||||
<v4:BreakoutSequence Key="Ctrl+A" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
"@
|
||||
|
||||
$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($assignedAccessConfiguration)
|
||||
Set-CimInstance -CimInstance $obj
|
||||
```
|
@ -0,0 +1,24 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
```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:v4="http://schemas.microsoft.com/AssignedAccess/2021/config">
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<KioskModeApp v4:ClassicAppPath="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" v4:ClassicAppArguments="--kiosk https://www.contoso.com/ --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" />
|
||||
<v4:BreakoutSequence Key="Ctrl+A" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -0,0 +1,28 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
```msgraph-interactive
|
||||
POST https://graph.microsoft.com/beta/deviceManagement/deviceConfigurations
|
||||
Content-Type: application/json
|
||||
|
||||
{ "id": "00-0000-0000-0000-000000000000", "displayName": "_MSLearn_Example_Restricted_User_Experience - Assigned Access - Windows 10", "description": "This is a sample policy created from an article on learn.microsoft.com.", "roleScopeTagIds": [ "0" ], "@odata.type": "#microsoft.graph.windows10CustomConfiguration", "omaSettings": [ { "@odata.type": "#microsoft.graph.omaSettingString", "displayName": "AssignedAccess_Configuration", "description": null, "omaUri": "./Vendor/MSFT/AssignedAccess/Configuration", "secretReferenceValueId": null, "isEncrypted": true, "value": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<AssignedAccessConfiguration\n xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n xmlns=\"http://schemas.microsoft.com/AssignedAccess/2017/config\"\n xmlns:default=\"http://schemas.microsoft.com/AssignedAccess/2017/config\"\n xmlns:rs5=\"http://schemas.microsoft.com/AssignedAccess/201810/config\"\n xmlns:v3=\"http://schemas.microsoft.com/AssignedAccess/2020/config\">\n <Profiles>\n <Profile Id=\"{9A2A490F-10F6-4764-974A-43B19E722C23}\">\n <AllAppsList>\n <AllowedApps>\n <App AppUserModelId=\"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\" />\n <App AppUserModelId=\"Microsoft.Windows.Photos_8wekyb3d8bbwe!App\" />\n <App AppUserModelId=\"Microsoft.BingWeather_8wekyb3d8bbwe!App\" />\n <App DesktopAppPath=\"C:\\Windows\\system32\\cmd.exe\" />\n <App DesktopAppPath=\"%windir%\\System32\\WindowsPowerShell\\v1.0\\Powershell.exe\" />\n <App DesktopAppPath=\"%windir%\\explorer.exe\" />\n <App AppUserModelId=\"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel\" />\n <App AppUserModelId=\"%ProgramFiles(x86)%\\Microsoft\\Edge\\Application\\msedge.exe\" />\n </AllowedApps>\n </AllAppsList>\n <rs5:FileExplorerNamespaceRestrictions>\n <rs5:AllowedNamespace Name=\"Downloads\"/>\n <v3:AllowRemovableDrives/>\n </rs5:FileExplorerNamespaceRestrictions>\n <StartLayout>\n <![CDATA[\n <LayoutModificationTemplate xmlns:defaultlayout=\"http://schemas.microsoft.com/Start/2014/FullDefaultLayout\" xmlns:start=\"http://schemas.microsoft.com/Start/2014/StartLayout\" Version=\"1\" xmlns=\"http://schemas.microsoft.com/Start/2014/LayoutModification\">\n <LayoutOptions StartTileGroupCellWidth=\"6\" />\n <DefaultLayoutOverride>\n <StartLayoutCollection>\n <defaultlayout:StartLayout GroupCellWidth=\"6\">\n <start:Group Name=\"\">\n <start:Tile Size=\"2x2\" Column=\"0\" Row=\"4\" AppUserModelID=\"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel\" />\n <start:DesktopApplicationTile Size=\"2x2\" Column=\"2\" Row=\"4\" DesktopApplicationLinkPath=\"%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Edge.lnk\" />\n <start:Tile Size=\"2x2\" Column=\"4\" Row=\"0\" AppUserModelID=\"Microsoft.BingWeather_8wekyb3d8bbwe!App\" />\n <start:DesktopApplicationTile Size=\"2x2\" Column=\"4\" Row=\"2\" DesktopApplicationLinkPath=\"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\File Explorer.lnk\" />\n <start:DesktopApplicationTile Size=\"2x2\" Column=\"2\" Row=\"2\" DesktopApplicationLinkPath=\"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Windows PowerShell\\Windows PowerShell.lnk\" />\n <start:Tile Size=\"2x2\" Column=\"2\" Row=\"0\" AppUserModelID=\"Microsoft.Windows.Photos_8wekyb3d8bbwe!App\" />\n <start:Tile Size=\"2x2\" Column=\"0\" Row=\"0\" AppUserModelID=\"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\" />\n <start:DesktopApplicationTile Size=\"2x2\" Column=\"0\" Row=\"2\" DesktopApplicationLinkPath=\"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\Command Prompt.lnk\" />\n </start:Group>\n </defaultlayout:StartLayout>\n </StartLayoutCollection>\n </DefaultLayoutOverride>\n </LayoutModificationTemplate>\n ]]>\n </StartLayout>\n <Taskbar ShowTaskbar=\"true\"/>\n </Profile>\n </Profiles>\n <Configs>\n <Config>\n <AutoLogonAccount rs5:DisplayName=\"MS Learn Example\"/>\n <DefaultProfile Id=\"{9A2A490F-10F6-4764-974A-43B19E722C23}\"/>\n </Config>\n </Configs>\n</AssignedAccessConfiguration>" } ] }
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
```msgraph-interactive
|
||||
POST https://graph.microsoft.com/beta/deviceManagement/deviceConfigurations
|
||||
Content-Type: application/json
|
||||
|
||||
{ "id": "00-0000-0000-0000-000000000000", "displayName": "_MSLearn_Example_Restricted_User_Experience - Assigned Access - Windows 11", "description": "This is a sample policy created from an article on learn.microsoft.com.", "roleScopeTagIds": [ "0" ], "@odata.type": "#microsoft.graph.windows10CustomConfiguration", "omaSettings": [ { "@odata.type": "#microsoft.graph.omaSettingString", "displayName": "AssignedAccess_Configuration", "description": null, "omaUri": "./Vendor/MSFT/AssignedAccess/Configuration", "secretReferenceValueId": null, "isEncrypted": true, "value": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<AssignedAccessConfiguration\n xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n xmlns=\"http://schemas.microsoft.com/AssignedAccess/2017/config\"\n xmlns:default=\"http://schemas.microsoft.com/AssignedAccess/2017/config\"\n xmlns:rs5=\"http://schemas.microsoft.com/AssignedAccess/201810/config\"\n xmlns:v3=\"http://schemas.microsoft.com/AssignedAccess/2020/config\"\n xmlns:v5=\"http://schemas.microsoft.com/AssignedAccess/2022/config\">\n <Profiles>\n <Profile Id=\"{9A2A490F-10F6-4764-974A-43B19E722C23}\">\n <AllAppsList>\n <AllowedApps>\n <App AppUserModelId=\"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\" />\n <App AppUserModelId=\"Microsoft.Windows.Photos_8wekyb3d8bbwe!App\" />\n <App AppUserModelId=\"Microsoft.BingWeather_8wekyb3d8bbwe!App\" />\n <App DesktopAppPath=\"C:\\Windows\\system32\\cmd.exe\" />\n <App DesktopAppPath=\"%windir%\\System32\\WindowsPowerShell\\v1.0\\Powershell.exe\" />\n <App DesktopAppPath=\"%windir%\\explorer.exe\" />\n <App AppUserModelId=\"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel\" />\n <App AppUserModelId=\"%ProgramFiles(x86)%\\Microsoft\\Edge\\Application\\msedge.exe\" />\n </AllowedApps>\n </AllAppsList>\n <rs5:FileExplorerNamespaceRestrictions>\n <rs5:AllowedNamespace Name=\"Downloads\"/>\n <v3:AllowRemovableDrives/>\n </rs5:FileExplorerNamespaceRestrictions>\n <v5:StartPins>\n <![CDATA[{\n \"pinnedList\":[\n {\"packagedAppId\":\"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\"},\n {\"packagedAppId\":\"Microsoft.Windows.Photos_8wekyb3d8bbwe!App\"},\n {\"packagedAppId\":\"Microsoft.BingWeather_8wekyb3d8bbwe!App\"},\n {\"desktopAppLink\":\"%APPDATA%\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\System Tools\\\\Command Prompt.lnk\"},\n {\"desktopAppLink\":\"%APPDATA%\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\Windows PowerShell\\\\Windows PowerShell.lnk\"},\n {\"desktopAppLink\":\"%APPDATA%\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\File Explorer.lnk\"},\n {\"packagedAppId\": \"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel\"},\n {\"desktopAppLink\": \"%ALLUSERSPROFILE%\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\Microsoft Edge.lnk\"}\n ]\n }]]>\n </v5:StartPins>\n <Taskbar ShowTaskbar=\"true\"/>\n </Profile>\n </Profiles>\n <Configs>\n <Config>\n <AutoLogonAccount rs5:DisplayName=\"MS Learn Example\"/>\n <DefaultProfile Id=\"{9A2A490F-10F6-4764-974A-43B19E722C23}\"/>\n </Config>\n </Configs>\n</AssignedAccessConfiguration>" } ] }
|
||||
```
|
||||
|
||||
::: zone-end
|
@ -0,0 +1,139 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
```powershell
|
||||
$assignedAccessConfiguration = @"
|
||||
<?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:v3="http://schemas.microsoft.com/AssignedAccess/2020/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="%windir%\System32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout><![CDATA[
|
||||
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="">
|
||||
<start:Tile Size="2x2" Column="0" Row="4" AppUserModelID="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="4" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" />
|
||||
<start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk" />
|
||||
<start:Tile Size="2x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]></StartLayout>
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
"@
|
||||
|
||||
$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($assignedAccessConfiguration)
|
||||
Set-CimInstance -CimInstance $obj
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
```powershell
|
||||
$assignedAccessConfiguration = @"
|
||||
<?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:v3="http://schemas.microsoft.com/AssignedAccess/2020/config" xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="%windir%\System32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<v5:StartPins><![CDATA[{
|
||||
"pinnedList":[
|
||||
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.Windows.Photos_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.BingWeather_8wekyb3d8bbwe!App"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\Command Prompt.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Windows PowerShell\\Windows PowerShell.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk"},
|
||||
{"packagedAppId": "windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"},
|
||||
{"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Edge.lnk"}
|
||||
]
|
||||
}]]></v5:StartPins>
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
"@
|
||||
|
||||
$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($assignedAccessConfiguration)
|
||||
Set-CimInstance -CimInstance $obj
|
||||
```
|
||||
|
||||
::: zone-end
|
@ -0,0 +1,113 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AssignedAccessConfiguration 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" xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="C:\Windows\system32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout><![CDATA[
|
||||
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="">
|
||||
<start:Tile Size="2x2" Column="0" Row="4" AppUserModelID="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="4" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" />
|
||||
<start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk" />
|
||||
<start:Tile Size="2x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]></StartLayout>
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AssignedAccessConfiguration 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" xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config" xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="C:\Windows\system32\cmd.exe" />
|
||||
<App DesktopAppPath="%windir%\System32\WindowsPowerShell\v1.0\Powershell.exe" />
|
||||
<App DesktopAppPath="%windir%\explorer.exe" />
|
||||
<App AppUserModelId="windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel" />
|
||||
<App AppUserModelId="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads" />
|
||||
<v3:AllowRemovableDrives />
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<v5:StartPins><![CDATA[{
|
||||
"pinnedList":[
|
||||
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.Windows.Photos_8wekyb3d8bbwe!App"},
|
||||
{"packagedAppId":"Microsoft.BingWeather_8wekyb3d8bbwe!App"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\Command Prompt.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Windows PowerShell\\Windows PowerShell.lnk"},
|
||||
{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk"},
|
||||
{"packagedAppId": "windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"},
|
||||
{"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Edge.lnk"}
|
||||
]
|
||||
}]]></v5:StartPins>
|
||||
<Taskbar ShowTaskbar="true" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="MS Learn Example" />
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
::: zone-end
|
72
windows/configuration/assigned-access/index.md
Normal file
@ -0,0 +1,72 @@
|
||||
---
|
||||
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
|
||||
ms.date: 03/04/2024
|
||||
---
|
||||
|
||||
# Windows kiosks and restricted user experiences
|
||||
|
||||
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:
|
||||
|
||||
- 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
|
||||
|
||||
Windows offers two different options for public or specialized use:
|
||||
|
||||
:::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:::
|
||||
|
||||
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*.
|
||||
|
||||
Windows offers two different features to configure a kiosk experience:
|
||||
|
||||
- **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
|
||||
|
||||
:::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:::
|
||||
|
||||
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 configure a restricted user experience, you use the **Assigned Access** feature.
|
||||
|
||||
## Choose the right experience
|
||||
|
||||
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:
|
||||
|
||||
| | Question |
|
||||
|--|--|
|
||||
| **🔲** | *How many apps?* <br>The number of apps determines the experience to build: **kiosk** or **restricted user experience**.|
|
||||
| **🔲** | *Desktop experience or custom?* <br>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?* <br>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?"* <br>**Assigned Access** is supported on Windows Pro and Enterprise/Education. **Shell Launcher** is only supported on Windows Enterprise and Education editions.|
|
||||
|
||||
## Next steps
|
||||
|
||||
In the next sections, you can learn more about the options available to configure kiosks and restricted user experiences:
|
||||
|
||||
- [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)
|
342
windows/configuration/assigned-access/overview.md
Normal file
@ -0,0 +1,342 @@
|
||||
---
|
||||
title: What is Assigned Access?
|
||||
description: Learn about Assigned Access and how you can use it to configure a Windows device as a kiosk or restricted user experience.
|
||||
ms.date: 03/04/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 <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>
|
||||
|
||||
> [!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.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.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 <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Del</kbd>. 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 <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Del</kbd> 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 <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>A</kbd>, where <kbd>CTRL</kbd> + <kbd>ALT</kbd> are the modifiers, and <kbd>A</kbd> is the key value. To learn more, see [Create an Assigned Access configuration XML file](configuration-file.md).
|
||||
|
||||
### Keyboard shortcuts
|
||||
|
||||
The following keyboard shortcuts are blocked for the user accounts with Assigned Access:
|
||||
|
||||
| Keyboard shortcut | Action |
|
||||
|------------------------------------------------------|-----------------------------------------------------------------------------------------------|
|
||||
| <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Esc</kbd> | Open Task Manager |
|
||||
| <kbd>WIN</kbd> + <kbd>,</kbd> (comma) | Temporarily peek at the desktop |
|
||||
| <kbd>WIN</kbd> + <kbd>A</kbd> | Open Action center |
|
||||
| <kbd>WIN</kbd> + <kbd>Alt</kbd> + <kbd> D</kbd> | Display and hide the date and time on the desktop |
|
||||
| <kbd>WIN</kbd> + <kbd>Ctrl</kbd> + <kbd> F</kbd> | Find computer objects in Active Directory |
|
||||
| <kbd>WIN</kbd> + <kbd>D</kbd> | Display and hide the desktop |
|
||||
| <kbd>WIN</kbd> + <kbd>E</kbd> | Open File Explorer |
|
||||
| <kbd>WIN</kbd> + <kbd>F</kbd> | Open Feedback Hub |
|
||||
| <kbd>WIN</kbd> + <kbd>G</kbd> | Open Game bar when a game is open |
|
||||
| <kbd>WIN</kbd> + <kbd>I</kbd> | Open Settings |
|
||||
| <kbd>WIN</kbd> + <kbd>J</kbd> | Set focus to a Windows tip when one is available |
|
||||
| <kbd>WIN</kbd> + <kbd>O</kbd> | Lock device orientation |
|
||||
| <kbd>WIN</kbd> + <kbd>Q</kbd> | Open search |
|
||||
| <kbd>WIN</kbd> + <kbd>R</kbd> | Open the Run dialog box |
|
||||
| <kbd>WIN</kbd> + <kbd>S</kbd> | Open search |
|
||||
| <kbd>WIN</kbd> + <kbd>Shift</kbd> + <kbd> C</kbd> | Open Cortana in listening mode |
|
||||
| <kbd>WIN</kbd> + <kbd>X</kbd> | Open the Quick Link menu |
|
||||
| <kbd>LaunchApp1</kbd> | Open the app that is assigned to this key |
|
||||
| <kbd>LaunchApp2</kbd> | Open the app that is assigned to this key. On many Microsoft keyboards, the app is Calculator |
|
||||
| <kbd>LaunchMail</kbd> | Open the default mail client |
|
||||
|
||||
## 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)
|
||||
|
||||
<!--links-->
|
||||
|
||||
[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
|
||||
[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
|
114
windows/configuration/assigned-access/policy-settings.md
Normal file
@ -0,0 +1,114 @@
|
||||
---
|
||||
title: Assigned Access policy settings
|
||||
description: Learn about the policy settings enforced on a device configured with Assigned Access.
|
||||
ms.topic: reference
|
||||
ms.date: 03/04/2024
|
||||
---
|
||||
|
||||
# Assigned Access policy settings
|
||||
|
||||
When the Assigned Access configuration is applied on a device, certain policy settings and AppLocker rules are enforced, impacting the users accessing the device. The policy settings use a combination of configuration service provider (CSP) and group policy (GPO) settings.
|
||||
|
||||
This reference article lists the policy settings and AppLocker rules applied by Assigned Access.
|
||||
|
||||
>[!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.
|
||||
|
||||
## Device policy settings
|
||||
|
||||
The following policy settings are applied at the device level when you deploy a restricted user experience. Any user accessing the device is subject to the policy settings, including administrator accounts:
|
||||
|
||||
| Type | Path | Name/Description |
|
||||
|---------|----------------------------------------------------------------------------|---------------------------------------------------------------------------|
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Experience/AllowCortana` | Disable Cortana |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderDocuments` | Disable Start documents icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderDownloads` | Disable Start downloads icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderFileExplorer` | Disable Start file explorer icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderHomeGroup` | Disable Start home group icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderMusic` | Disable Start music icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderNetwork` | Disable Start network icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderPersonalFolder` | Disable Start personal folder icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderPictures` | Disable Start pictures icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderSettings` | Disable Start settings icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/AllowPinnedFolderVideos` | Disable Start videos icon |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Start/HideChangeAccountSettings` | Hide *Change account settings* from appearing in the user tile |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Update/SetAutoRestartNotificationDisable` | Hides all update notifications |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/Update/UpdateNotificationLevel` | Disables auto restart notifications for updates |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/WindowsInkWorkspace/AllowWindowsInkWorkspace` | Access to ink workspace is disabled |
|
||||
| **CSP** | `./Vendor/MSFT/Policy/Config/WindowsLogon/DontDisplayNetworkSelectionUI` | Hide networks UI on the logon screen, as well as on "security options" UI |
|
||||
|
||||
## User policy settings
|
||||
|
||||
The following policy settings are applied to any nonadministrator account when you deploy a restricted user experience:
|
||||
|
||||
| Type | Path | Name/Description |
|
||||
|---------|----------------------------------------------------------------------------------|-------------------------------------------------------------------|
|
||||
| **CSP** | `./User/Vendor/MSFT/Policy/Config/Start/DisableContextMenus` | Disable Context Menu for Start menu apps |
|
||||
| **CSP** | `./User/Vendor/MSFT/Policy/Config/Start/HidePeopleBar` | Hide People Bar from appearing on taskbar |
|
||||
| **CSP** | `./User/Vendor/MSFT/Policy/Config/Start/HideRecentlyAddedApps` | Hide recently added apps from appearing on the Start menu |
|
||||
| **CSP** | `./User/Vendor/MSFT/Policy/Config/Start/HideRecentJumplists` | Hide recent jumplists from appearing on the Start menu/taskbar |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Clear history of recently opened documents on exit |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Disable showing balloon notifications as toast |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Do not allow pinning items in Jump Lists |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Do not allow pinning programs to the Taskbar |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Do not display or track items in Jump Lists from remote locations |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Hide and disable all items on the desktop |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Hide the Task View button |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Lock all taskbar settings |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Lock the Taskbar |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Prevent users from adding or removing toolbars |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Prevent users from customizing their Start Screen |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Prevent users from moving taskbar to another screen dock location |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Prevent users from rearranging toolbars |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Prevent users from resizing the taskbar |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Prevent users from uninstalling applications from Start |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove access to the context menus for the task bar |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove All Programs list from the Start menu |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove Control Center |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove frequent programs list from the Start Menu |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove Notification and Action Center |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove Quick Settings |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove Run menu from Start Menu |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Remove the Security and Maintenance icon |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Turn off all balloon notifications |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar | Turn off feature advertisement balloon notifications |
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar\Notifications | Turn off toast notifications |
|
||||
| **GPO** | User Configuration\Administrative Templates\System\Ctrl+Alt+Del Options | Remove Change Password |
|
||||
| **GPO** | User Configuration\Administrative Templates\System\Ctrl+Alt+Del Options | Remove Logoff |
|
||||
| **GPO** | User Configuration\Administrative Templates\System\Ctrl+Alt+Del Options | Remove Task Manager |
|
||||
| **GPO** | User Configuration\Administrative Templates\Windows Components\File Explorer | Remove *Map network drive* and *Disconnect Network Drive* |
|
||||
| **GPO** | User Configuration\Administrative Templates\Windows Components\File Explorer | Remove File Explorer's default context menu |
|
||||
|
||||
The following policy settings are applied to the kiosk account when you configure a kiosk experience with Microsoft Edge:
|
||||
|
||||
| Type | Path | Name/Description |
|
||||
|---------|-----------------------------------------------------------------------------------|--------------------------------------------------------|
|
||||
| **GPO** | User Configuration\Administrative Templates\Start Menu and Taskbar\Notifications | Run only specified Windows applications > `msedge.exe` |
|
||||
| **GPO** | User Configuration\Administrative Templates\System | Turn off toast notifications |
|
||||
| **GPO** | User Configuration\Administrative Templates\Windows Components\Attachment Manager | Default risk level for file attachments > High risk |
|
||||
| **GPO** | User Configuration\Administrative Templates\Windows Components\Attachment Manager | Inclusion list for low file types > `.pdf;.epub` |
|
||||
| **GPO** | User Configuration\Administrative Templates\Windows Components\File Explorer | Remove File Explorer's default context menu |
|
||||
|
||||
## AppLocker rules
|
||||
|
||||
When you deploy an Assigned Access restricted user experience, AppLocker rules are generated to allow the apps that are listed in the configuration. Here are the predefined Assigned Access AppLocker rules:
|
||||
|
||||
### Universal Windows Platform (UWP) app rules
|
||||
|
||||
1. The default rule is to allow all users to launch the signed *packaged apps*
|
||||
1. The packaged app *deny list* is generated at runtime when the Assigned Access user signs in:
|
||||
1. Based on the installed apps available for the user account, Assigned Access generates the deny list. The list excludes the default allowed inbox packaged apps, which are critical for the system to function, and then exclude the allowed packages that are defined in the Assigned Access configuration
|
||||
1. If there are multiple apps within the same package, all the apps are excluded
|
||||
|
||||
The deny list is used to prevent the user from accessing the apps, which are currently available for the user but not in the allowed list
|
||||
|
||||
> [!NOTE]
|
||||
> You can't manage AppLocker rules that are generated by the restricted user experience in MMC snap-ins. Avoid creating AppLocker rules that conflict with AppLocker rules generated by Assigned Access.
|
||||
>
|
||||
> Assigned access doesn't prevent the organization or users from installing UWP apps. When a new UWP app is installed during an Assigned Access session, the app isn't in the deny list. When the user signs out and signs in again, the installed app is included in the deny list. For apps deployed centrally that you want to allow, like line-of-biness apps, update the Assigned Access configuration and include the apps in the *allow app list*.
|
||||
|
||||
### Desktop app rules
|
||||
|
||||
1. The default rule is to allow all users to launch the desktop programs signed with *Microsoft Certificate* 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 deny list for the Assigned Access user account, which is updated based on the *desktop app allow list* that you defined in the Assigned Access configuration
|
||||
1. Enterprise-defined allowed desktop apps are added in the AppLocker allow list
|
104
windows/configuration/assigned-access/quickstart-kiosk.md
Normal file
@ -0,0 +1,104 @@
|
||||
---
|
||||
title: "Quickstart: configure a kiosk experience with Assigned Access"
|
||||
description: Learn how to configure a kiosk experience with Assigned Access using the Assigned Access configuration service provider (CSP), Microsoft Intune, PowerShell, or group policy (GPO).
|
||||
ms.topic: quickstart
|
||||
ms.date: 03/04/2024
|
||||
---
|
||||
|
||||
# Quickstart: configure a kiosk with Assigned Access
|
||||
|
||||
This quickstart provides practical examples of how to configure a *kiosk experience* on Windows with Assigned 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.
|
||||
|
||||
The examples can be modified to fit your specific requirements. For example, you can change the app used, the URL specified when opening Microsoft Edge, or change the name of the user that automatically signs in to Windows.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
>[!div class="checklist"]
|
||||
>Here's a list of requirements to complete this quickstart:
|
||||
>
|
||||
>- A Windows device
|
||||
>- Microsoft Intune, or a non-Microsoft MDM solution, if you want to configure the settings using MDM
|
||||
>- Windows Configuration Designer, if you want to configure the settings using a provisioning package
|
||||
>- Access to the [psexec tool](/sysinternals/downloads/psexec), if you want to test the configuration using Windows PowerShell
|
||||
|
||||
## Configure a kiosk
|
||||
|
||||
[!INCLUDE [tab-intro](../../../includes/configure/tab-intro.md)]
|
||||
|
||||
#### [:::image type="icon" source="../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
|
||||
|
||||
> [!TIP]
|
||||
> Use the following Graph call to automatically create a custom policy in your Microsoft Intune tenant without assignments nor scope tags.
|
||||
>
|
||||
> When using this call, authenticate to your tenant in the Graph Explorer window. If it's the first time using Graph Explorer, you may need to authorize the application to access your tenant or to modify the existing permissions. This graph call requires *DeviceManagementConfiguration.ReadWrite.All* permissions.
|
||||
|
||||
[!INCLUDE [quickstart-kiosk-intune](includes/quickstart-kiosk-intune.md)]
|
||||
|
||||
Alternatively, you can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
|
||||
|
||||
- **Setting:** `./Vendor/MSFT/AssignedAccess/Configuration`
|
||||
- **Value:**
|
||||
|
||||
[!INCLUDE [quickstart-kiosk-xml](includes/quickstart-kiosk-xml.md)]
|
||||
|
||||
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:**
|
||||
|
||||
[!INCLUDE [quickstart-kiosk-xml](includes/quickstart-kiosk-xml.md)]
|
||||
|
||||
[!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)]
|
||||
|
||||
[!INCLUDE [quickstart-kiosk-ps](includes/quickstart-kiosk-ps.md)]
|
||||
|
||||
[!INCLUDE [powershell-wmi-bridge-2](../../../includes/configure/powershell-wmi-bridge-2.md)]
|
||||
|
||||
|
||||
|
||||
#### [:::image type="icon" source="../images/icons/settings.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**
|
||||
|
||||
---
|
||||
|
||||
## User experience
|
||||
|
||||
After the settings are applied, reboot the device. A local user account is automatically signed in, opening Microsoft Edge.
|
||||
|
||||
## Next steps
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> Learn more about Assigned Access and how to configure it:
|
||||
>
|
||||
> [Assigned Access overview](overview.md)
|
||||
|
||||
[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
|
||||
[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
|
@ -0,0 +1,93 @@
|
||||
---
|
||||
title: "Quickstart: configure a restricted user experience with Assigned Access"
|
||||
description: Learn how to configure a restricted user experience with Assigned Access using the Assigned Access configuration service provider (CSP), Microsoft Intune, PowerShell, or group policy (GPO).
|
||||
ms.topic: quickstart
|
||||
ms.date: 03/04/2024
|
||||
appliesto:
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
---
|
||||
|
||||
# Quickstart: configure a restricted user experience with Assigned Access
|
||||
|
||||
This quickstart provides practical examples of how to configure a *restricted user experience* on Windows. The examples describe the steps using 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.
|
||||
|
||||
The examples can be modified to fit your specific requirements. For example, you can add or remove applications from the list of allowed apps, or change the name of the user that automatically signs in to Windows.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
>[!div class="checklist"]
|
||||
>Here's a list of requirements to complete this quickstart:
|
||||
>
|
||||
>- A Windows device
|
||||
>- Microsoft Intune, or a non-Microsoft MDM solution, if you want to configure the settings using MDM
|
||||
>- Windows Configuration Designer, if you want to configure the settings using a provisioning package
|
||||
>- Access to the [psexec tool](/sysinternals/downloads/psexec), if you want to test the configuration using Windows PowerShell
|
||||
|
||||
## Configure a restricted user experience
|
||||
|
||||
[!INCLUDE [tab-intro](../../../includes/configure/tab-intro.md)]
|
||||
|
||||
#### [:::image type="icon" source="../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
|
||||
|
||||
> [!TIP]
|
||||
> Use the following Graph call to automatically create a custom policy in your Microsoft Intune tenant without assignments nor scope tags.
|
||||
>
|
||||
> When using this call, authenticate to your tenant in the Graph Explorer window. If it's the first time using Graph Explorer, you may need to authorize the application to access your tenant or to modify the existing permissions. This graph call requires *DeviceManagementConfiguration.ReadWrite.All* permissions.
|
||||
|
||||
[!INCLUDE [quickstart-restricted-experience-intune.md](includes/quickstart-restricted-experience-intune.md)]
|
||||
|
||||
[!INCLUDE [intune-custom-settings-2](../../../includes/configure/intune-custom-settings-2.md)]
|
||||
|
||||
Alternatively, you can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
|
||||
|
||||
- **Setting:** `./Vendor/MSFT/AssignedAccess/Configuration`
|
||||
- **Value:**
|
||||
|
||||
[!INCLUDE [quickstart-restricted-experience-xml.md](includes/quickstart-restricted-experience-xml.md)]
|
||||
|
||||
#### [:::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:**
|
||||
|
||||
[!INCLUDE [quickstart-restricted-experience-xml.md](includes/quickstart-restricted-experience-xml.md)]
|
||||
|
||||
[!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)]
|
||||
|
||||
[!INCLUDE [quickstart-restricted-experience-ps.md](includes/quickstart-restricted-experience-ps.md)]
|
||||
|
||||
[!INCLUDE [powershell-wmi-bridge-2](../../../includes/configure/powershell-wmi-bridge-2.md)]
|
||||
|
||||
---
|
||||
|
||||
## User experience
|
||||
|
||||
After the settings are applied, reboot the device. A local user account is automatically signed in, with access to a limited set of applications, which are pinned to the Start menu.
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
:::image type="content" source="images/restricted-user-experience-windows-11.png" alt-text="Screenshot of the Windows 11 desktop used for the quickstart." border="false":::
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
:::image type="content" source="images/restricted-user-experience-windows-10.png" alt-text="Screenshot of the Windows 10 desktop used for the quickstart." border="false":::
|
||||
|
||||
::: zone-end
|
||||
|
||||
## Next steps
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> Learn more about Assigned Access and how to configure it:
|
||||
>
|
||||
> [Assigned Access overview](overview.md)
|
||||
|
||||
<!--links-->
|
||||
|
||||
[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
|
||||
[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
|
169
windows/configuration/assigned-access/recommendations.md
Normal file
@ -0,0 +1,169 @@
|
||||
---
|
||||
title: Assigned Access recommendations
|
||||
description: Learn about the recommended kiosk and restricted user experience configuration options.
|
||||
ms.topic: best-practice
|
||||
ms.date: 03/11/2024
|
||||
---
|
||||
|
||||
# Assigned Access recommendations
|
||||
|
||||
This article contains recommendations for devices configured with Assigned Access and Shell Launcher. Most of the recommendations include both group policy (GPO) and configuration service provider (CSP) settings to help you configure your kiosk devices.
|
||||
|
||||
## Kiosk user account
|
||||
|
||||
For kiosks devices located in public-facing environments, configure as a kiosk account a user account with the least privileges, such as a local, standard user account. Using an Active Directory user or Microsoft Entra user might allow an attacker to gain access to domain resources that are accessible to any domain accounts. When using domain accounts with assigned access, proceed with caution. Consider the domain resources potentially exposed by using a domain account.
|
||||
|
||||
### Automatic sign-in
|
||||
|
||||
Consider enabling *automatic sign-in* for your kiosk device. When the device restarts, from an update or power outage, you can configure the device to sign in with the Assigned Access account automatically. Ensure that policy settings applied to the device don't prevent automatic sign in from working as expected. For example, the policy settings [PreferredAadTenantDomainName](/windows/client-management/mdm/policy-csp-authentication#preferredaadtenantdomainname) prevents automatic sign-in from working.
|
||||
|
||||
You can configure the Assigned Access and Shell Launcher XML files with an account to sign-in automatically. For more information, review the articles:
|
||||
|
||||
- [Create an Assigned Access configuration XML file](configuration-file.md)
|
||||
- [Create a Shell Launcher configuration file](shell-launcher/configuration-file.md)
|
||||
|
||||
Alternatively, you can edit the Registry to have an account sign in automatically:
|
||||
|
||||
| Path | Name | Type | Value |
|
||||
|--|--|--|--|
|
||||
| `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon` | `AutoAdminLogon` | REG_DWORD | 1 |
|
||||
| `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon` | `DefaultUserName` | String | Set value as the account that you want signed in. |
|
||||
| `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon` | `DefaultPassword` | String | Set value as the password for the account. |
|
||||
| `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon` | `DefaultDomainName` | String | Set value for domain, only for domain accounts. For local accounts, don't add this key. |
|
||||
|
||||
Once automatic sign-in is configured, reboot the device. The account will sign in automatically.
|
||||
|
||||
> [!NOTE]
|
||||
> If you are using [Custom Logon](/windows-hardware/customize/enterprise/custom-logon) with `HideAutoLogonUI` enabled, you might experience a black screen when the user account password expires. Consider [setting the password to never expire](/windows-hardware/customize/enterprise/troubleshooting-custom-logon#the-device-displays-a-black-screen-when-a-password-expiration-screen-is-displayed).
|
||||
|
||||
## Windows Update
|
||||
|
||||
Configure your kiosk devices so that they're always up to date, without disrupting the user experience. Here are some policy settings to consider, to configure Windows Update for your kiosk devices:
|
||||
|
||||
| Type | Path | Name/Description |
|
||||
|--|--|--|
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Update/`[ActiveHoursEnd](/windows/client-management/mdm/policy-csp-update#activehoursend) | Integer value that represents the end of active hours. For example, `22` represents 10PM |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Update/`[ActiveHoursStart](/windows/client-management/mdm/policy-csp-update#activehoursstart) | Integer value that represents the start of active hours. For example, `7` represents 7AM |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Update/`[AllowAutoUpdate](/windows/client-management/mdm/policy-csp-update#allowautoupdate) | Integer value. Set to `3` - Auto download and schedule the install |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Update/`[ScheduledInstallTime](/windows/client-management/mdm/policy-csp-update#scheduledinstalltime) | Integer value. Specify the time for the device to install updates. For example, `23` represents 11PM |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Update/`[UpdateNotificationLevel](/windows/client-management/mdm/policy-csp-update#update-updatenotificationlevel) | Integer value. Set to `2`: turn off all notifications, including restart warnings |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\Windows Components\Windows Update\Manage end user experience | Display options for update notifications > Set the value to **2 - Turn off all notifications, including restart warnings** |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\Windows Components\Windows Update\Manage end user experience\Configure Automatic Updates | **4 - Auto download and schedule the install** > specify an install time that is outside the active hours |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\Windows Components\Windows Update\Manage end user experience\Turn off autorestart for updates during active hours | Configure the start and end active hours, during which the kiosk device can't restart due to Windows Update |
|
||||
|
||||
## Power settings
|
||||
|
||||
You might want to prevent the kiosk device from going to sleep, or prevent users to shut down or restart the kiosk. Here are some options to consider:
|
||||
|
||||
| Type | Path | Name/Description |
|
||||
|--|--|--|
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/ADMX_StartMenu/`[HidePowerOptions](/windows/client-management/mdm/policy-csp-admx-startmenu#hidepoweroptions) | String. Set to `<Enabled/>` |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/LocalPoliciesSecurityOptions/`<br>[Shutdown_AllowSystemToBeShutDownWithoutHavingToLogOn](/windows/client-management/mdm/policy-csp-localpoliciessecurityoptions#shutdown_allowsystemtobeshutdownwithouthavingtologon) | Integer value. Set to `0` |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Power/`[DisplayOffTimeoutPluggedIn](/windows/client-management/mdm/policy-csp-power#displayofftimeoutpluggedin) | String. Set to `<Enabled/><Data ID="EnterVideoACPowerDownTimeOut" value="0"/>` |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Power/`[SelectPowerButtonActionPluggedIn](/windows/client-management/mdm/policy-csp-power#selectpowerbuttonactionpluggedin) | Integer. Set to `0` |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Power/`[SelectSleepButtonActionPluggedIn](/windows/client-management/mdm/policy-csp-power#SelectSleepButtonActionPluggedIn) | Integer. Set to `0` |
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Power/`[StandbyTimeoutPluggedIn](/windows/client-management/mdm/policy-csp-power#standbytimeoutpluggedin) | String. Set to `<Enabled/><Data ID="EnterACStandbyTimeOut" value="0"/>` |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\Start Menu and Taskbar\Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands | **Enable** |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\System\Power Management\Button Settings\Select the Power button action | Select the action: **Take no action** |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\System\Power Management\Button Settings\Select the Sleep button action | Select the action: **Take no action** |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\System\Power Management\Specify the system sleep timeout | Set the value to **0** seconds. |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\System\Power Management\Video and Display Settings\Turn off the display | Set the value to **0** seconds. |
|
||||
| **GPO** | Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Shutdown: Allow system to be shut down without having to log on | **Disabled** |
|
||||
| **GPO** | Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Shut down the system | Remove the users or groups from this policy. To prevent this policy from affecting a member of the Administrators group, be sure to keep the Administrators group. |
|
||||
|
||||
> [!NOTE]
|
||||
> You can also disable the power button from the security options screen using a feature called *Custom Logon*. For more information on removing the power button or disabling the physical power button, see [Custom Logon][WHW-1].
|
||||
|
||||
## Keyboard shortcuts
|
||||
|
||||
The following keyboard shortcuts aren't blocked for any user account that is configured with a restricted user experience:
|
||||
|
||||
- <kbd>Alt</kbd> + <kbd>F4</kbd>
|
||||
- <kbd>Alt</kbd> + <kbd>Tab</kbd>
|
||||
- <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd>
|
||||
- <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Delete</kbd>
|
||||
|
||||
You can use [Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter) to block the key combinations. Keyboard Filter settings apply to other standard accounts.
|
||||
|
||||
### Accessibility shortcuts
|
||||
|
||||
Assigned access doesn't change accessibility settings. Use *Keyboard Filter* to block the following key combinations that open accessibility features:
|
||||
|
||||
| Key combination | Blocked behavior |
|
||||
| --- | --- |
|
||||
| <kbd>Left Alt</kbd> + <kbd>Left Shift</kbd> + <kbd>Print Screen</kbd> | Open High Contrast dialog box |
|
||||
| <kbd>Left Alt</kbd> + <kbd>Left Shift</kbd> + <kbd>Num Lock</kbd> | Open Mouse Keys dialog box |
|
||||
| <kbd>WIN</kbd> + <kbd>U</kbd> | Open the Settings app accessibility panel |
|
||||
|
||||
> [!NOTE]
|
||||
> If Keyboard Filter is turned ON, then some key combinations are blocked automatically without you having to explicitly block them. For more information, see [Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter).
|
||||
|
||||
You can also disable the accessibility features and other options on the lock screen with [Custom Logon][WHW-1]. For example, to remove the Accessibility option, use the following registry key:
|
||||
|
||||
| Path | Name | Type | Value |
|
||||
|--|--|--|--|
|
||||
| `HKLM\Software\Microsoft\Windows Embedded\EmbeddedLogon\BrandingNeutral` | `BrandingNeutral` | REG_DWORD | 8 |
|
||||
|
||||
## Choose an app for a kiosk experience
|
||||
|
||||
To create a kiosk experience with Assigned Access, you can choose UWP apps or Microsoft Edge. However, some applications might not provide a good user experience when used as a kiosk.
|
||||
|
||||
The following guidelines help you choose an appropriate Windows app for a kiosk experience:
|
||||
|
||||
- Windows apps must be provisioned or installed for the Assigned Access account before they can be selected as the Assigned Access app. [Learn how to provision and install apps](/windows/client-management/mdm/enterprise-app-management#install_your_apps)
|
||||
- UWP app updates can sometimes change the Application User Model ID (AUMID) of the app. In such scenario, you must update the Assigned Access settings to execute the updated app, because Assigned Access uses the AUMID to determine the app to launch
|
||||
- The app must be able to run above the lock screen. If the app can't run above the lock screen, it can't be used as a kiosk app
|
||||
- Some apps can launch other apps. Assigned Access in kiosk mode prevents Windows apps from launching other apps. Avoid selecting Windows apps that are designed to launch other apps as part of their core functionality
|
||||
- Microsoft Edge includes support for kiosk mode. To learn more, see [Microsoft Edge kiosk mode](/microsoft-edge/deploy/microsoft-edge-kiosk-mode-deploy)
|
||||
- Don't select Windows apps that might expose information you don't want to show in your kiosk, since kiosk usually means anonymous access and locates in a public setting. For example, an app that has a file picker allows the user to gain access to files and folders on the user's system, avoid selecting these types of apps if they provide unnecessary data access
|
||||
- Some apps might require more configurations before they can be used appropriately in Assigned Access. For example, Microsoft OneNote requires you to set up a Microsoft account for the Assigned Access user account before OneNote opens
|
||||
- The kiosk profile is designed for public-facing kiosk devices. Use a local, nonadministrator account. If the device is connected to your organization network, using a domain or Microsoft Entra account could compromise confidential information
|
||||
|
||||
When planning to deploy a kiosk or a restricted user experience, consider the following recommendations:
|
||||
|
||||
- Evaluate all applications that users should use. If applications require user authentication, don't use a local or generic user account. Rather, target the group of users within the Assigned Access configuration file
|
||||
- A multi-app kiosk is appropriate for devices that are shared by multiple people. When you configure a multi-app kiosk, certain policy settings that affect all nonadministrator users on the device. For a list of these policies, see [Assigned Access policy settings](policy-settings.md)
|
||||
|
||||
### Develop your kiosk app
|
||||
|
||||
Assigned Access uses the *Lock framework*. When an Assigned Access user signs in, the selected kiosk app is launched above the lock screen. The kiosk app is running as an *above lock* screen app. To learn more, see [best practices guidance for developing a kiosk app for assigned access](/windows-hardware/drivers/partnerapps/create-a-kiosk-app-for-assigned-access).
|
||||
|
||||
## Stop errors and recovery options
|
||||
|
||||
When a stop error occurs, Windows displays a blue screen with a stop error code. You can replace the standard screen with a blank screen for OS errors. For more information, see [Configure system failure and recovery options](/troubleshoot/windows-client/performance/configure-system-failure-and-recovery-options).
|
||||
|
||||
## Lock screen notifications
|
||||
|
||||
Consider removing notifications from the lock screen to prevent users from seeing notifications when the device is locked. Here are some options to consider:
|
||||
|
||||
| Type | Path | Name/Description |
|
||||
|--|--|--|
|
||||
| **CSP** | `./Device/Vendor/MSFT/Policy/Config/AboveLock/`[AllowToasts](/windows/client-management/mdm/policy-csp-abovelock#abovelock-allowtoasts)| Integer. Set to `0` |
|
||||
| **GPO** | Computer Configuration\Administrative Templates\System\Logon\Turn off app notifications on the lock screen | **Enabled**|
|
||||
|
||||
## Troubleshooting and logs
|
||||
|
||||
When testing Assigned Access, it can be useful to enable logging to help you troubleshoot issues. Logs can help you identify configuration and runtime issues. You can enable the following log: **Applications and Services Logs** > **Microsoft** > **Windows** > **AssignedAccess** > **Operational**.
|
||||
|
||||
The following registry keys contain the Assigned Access configurations:
|
||||
|
||||
- `HKLM\Software\Microsoft\Windows\AssignedAccessConfiguration`
|
||||
- `HKLM\Software\Microsoft\Windows\AssignedAccessCsp`
|
||||
|
||||
The following registry key contains the configuration for each user with an Assigned Access policy:
|
||||
|
||||
- `HKCU\SOFTWARE\Microsoft\Windows\AssignedAccessConfiguration`
|
||||
|
||||
For more information about troubleshooting kiosk issues, see [Troubleshoot kiosk mode issues](/troubleshoot/windows-client/shell-experience/kiosk-mode-issues-troubleshooting).
|
||||
|
||||
## Next steps
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> Learn how to create an XML file to configure Assigned Access:
|
||||
>
|
||||
> [Create an Assigned Access configuration file](configuration-file.md)
|
||||
|
||||
<!--links-->
|
||||
|
||||
[WHW-1]: /windows-hardware/customize/enterprise/custom-logon
|
||||
[WHW-2]: /windows-hardware/customize/enterprise/unified-write-filter
|
@ -0,0 +1,291 @@
|
||||
---
|
||||
title: Create a Shell Launcher configuration file
|
||||
description: Learn how to create an XML file to configure a device with Shell Launcher.
|
||||
ms.date: 02/12/2024
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
# Create a Shell Launcher configuration file
|
||||
|
||||
To configure Shell Launcher, you must create and apply a configuration XML file to your devices. The configuration file must conform to a *schema*, as defined in [Shell Launcher XML Schema Definition (XSD)](xsd.md).
|
||||
|
||||
This article describes how to configure a Shell Launcher configuration file, including practical examples.
|
||||
|
||||
Let's start by looking at the basic structure of the XML file. A Shell Launcher configuration file contains:
|
||||
|
||||
- One or multiple `profiles`. Each `profile` defines:
|
||||
- the application that replaces the standard Windows shell (`Explorer.exe`), which is executed when a user signs in
|
||||
- the default action to take when the application exits, and actions when the application exits with a specific return code
|
||||
- One or multiple `configs`. Each `config` associates a user account to a `profile`
|
||||
|
||||
> [!NOTE]
|
||||
> A profile has no effect if it's not associated to a user account.
|
||||
|
||||
Here's a basic example of a Shell Launcher configuration file, with one profile and one config:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ShellLauncherConfiguration
|
||||
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<Profile Id="{GUID}">
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Config>
|
||||
</Configs>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
||||
|
||||
## Versioning
|
||||
|
||||
The Shell Launcher configuration XML is versioned. The version is defined in the XML root element, and it's used to determine which schema to use to validate the XML file. The version is also used to determine which features are available for the configuration. Here's a table of the versions, aliases used in the documentation examples, and namespaces:
|
||||
|
||||
| Version | Alias | Namespace |
|
||||
|-|-|-|
|
||||
|Windows 10|`V2`|http://schemas.microsoft.com/ShellLauncher/2019/Configuration|
|
||||
|Windows 10|default|http://schemas.microsoft.com/ShellLauncher/2018/Configuration|
|
||||
|
||||
To authorize a compatible configuration XML that includes version-specific elements and attributes, always include the namespace of the add-on schemas, and decorate the attributes and elements accordingly with the namespace alias. For example, to configure the kiosk application to execute in full screen, use the below example. Note the alias `V2` associated to `http://schemas.microsoft.com/ShellLauncher/2019/Configuration` namespace, and the alias is tagged on the `AppType` and `AllAppsFullScreen` properties inline.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ShellLauncherConfiguration
|
||||
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<Profile Id="{GUID}">
|
||||
<!-- Add configuration here as needed -->
|
||||
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<!-- Add configuration here as needed -->
|
||||
</Config>
|
||||
</Configs>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
||||
|
||||
Here you can find the [Shell Launcher XML Schema Definitions (XSDs)](xsd.md).
|
||||
|
||||
## Profiles
|
||||
|
||||
A configuration file can contain one or more profiles. Each profile has a unique identifier `Profile Id` and, optionally, a `Name`. For example:
|
||||
|
||||
```xml
|
||||
<Profiles>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
|
||||
<!-- Add configuration here as needed -->
|
||||
</Profile>
|
||||
</Profiles>
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> The `Profile Id` must be unique within the XML file. You can generate a GUID with the PowerShell cmdlet `New-Guid`.
|
||||
|
||||
You can define a `Defaultprofile` that is used when no other profile is associated to a user account. This ensures that every user using the device uses the same application. Example:
|
||||
|
||||
```xml
|
||||
<Profiles>
|
||||
<DefaultProfile>
|
||||
<!-- Add configuration here as needed -->
|
||||
</DefaultProfile>
|
||||
</Profiles>
|
||||
```
|
||||
|
||||
### Shell
|
||||
|
||||
Each profile defines a `Shell` element, which contains details about the application to execute. The `Shell` element has the following properties:
|
||||
|
||||
| Property| Description | Details |
|
||||
|-|-|-|
|
||||
|`Shell`| Application that is used as a Windows shell. |- For Universal Windows Platform (UWP) apps, you must provide the App User Model ID (AUMID). Learn how to [Find the Application User Model ID of an installed app](../../store/find-aumid.md).<br>- For desktop apps, specify the full path of the executable, which can contain system environment variables in the form of `%variableName%`. You can also specify any parameters that the app might require. |
|
||||
|`V2:AppType`| Defines the type of application. |Allowed values are `Desktop` and `UWP`.|
|
||||
|`V2:AllAppsFullScreen` | Boolean value that defines if all applications are executed in full screen. |- When set to `True`, Shell Launcher runs every app in full screen, or maximized for desktop apps.<br>- When set to `False` or not set, only the custom shell app runs in full screen; other apps launched by the user run in windowed mode.|
|
||||
|
||||
Example:
|
||||
|
||||
```xml
|
||||
<Profile Id="{GUID}">
|
||||
<Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
|
||||
<!-- Add configuration here as needed -->
|
||||
</Shell>
|
||||
</Profile>
|
||||
```
|
||||
|
||||
In the next example, the Weather app is executed in full screen.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<DefaultProfile>
|
||||
<Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
|
||||
<DefaultAction Action="RestartShell"/>
|
||||
</Shell>
|
||||
</DefaultProfile>
|
||||
</Profiles>
|
||||
<Configs/>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
||||
|
||||
In the next example, Microsoft Edge is executed in full screen, opening a website. The website is reloaded after 2 minutes of inactivity.
|
||||
|
||||
```xml
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
|
||||
<DefaultAction Action="RestartShell"/>
|
||||
</Shell>
|
||||
</Profile>
|
||||
```
|
||||
|
||||
#### ReturnCodeActions
|
||||
|
||||
Shell Launcher defines four actions to handle app exits. You can customize Shell Launcher and use the actions based on different exit code. Here are the `ReturnCodeActions` enums:
|
||||
|
||||
- `RestartShell`
|
||||
- `RestartDevice`
|
||||
- `ShutdownDevice`
|
||||
- `DoNothing`
|
||||
|
||||
The actions can be used as default action, or mapped to a specific exit code. Refer to [Shell Launcher](/windows-hardware/customize/enterprise/wesl-usersettingsetcustomshell) to learn how to use exit codes with Shell Launcher WMI.
|
||||
|
||||
You can specify at most four custom actions mapping to four exit codes, and one default action for all other exit codes. When an app exits, and if the exit code isn't found in the custom action mapping, or there's no default action defined, nothing happens. For this reason, you should at least define `DefaultAction`.
|
||||
|
||||
Example:
|
||||
|
||||
```xml
|
||||
<Profile Id="{GUID}">
|
||||
<Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
|
||||
<ReturnCodeActions>
|
||||
<ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
|
||||
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
|
||||
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
|
||||
<ReturnCodeAction ReturnCode="1" Action="DoNothing"/>
|
||||
</ReturnCodeActions>
|
||||
<DefaultAction Action="RestartDevice"/>
|
||||
</Shell>
|
||||
</Profile>
|
||||
```
|
||||
|
||||
## Configs
|
||||
|
||||
Under `Configs`, define one or more user accounts and their association with a profile.
|
||||
|
||||
Individual accounts are specified using `<Account Name=""/>`.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Before applying the Shell Launcher configuration, make sure the specified user account is available on the device, otherwise it fails.
|
||||
>
|
||||
> For both domain and Microsoft Entra accounts, as long as the device is Active Directory 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 Shell Launcher.
|
||||
|
||||
### Local user
|
||||
|
||||
Local account can be entered as `devicename\user`, `.\user`, or just `user`.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<Account Name="Learn Example"/>
|
||||
<Profile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
### Active Directory user
|
||||
|
||||
Domain accounts must be entered using the format `domain\samAccountName`.
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<Account Name="contoso\user"/>
|
||||
<Profile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
### Microsoft Entra user
|
||||
|
||||
Microsoft Entra accounts must be specified with the format: `AzureAD\{UPN}`. `AzureAD` must be provided *as is*, then follow with the Microsoft Entra user principal name (UPN).
|
||||
|
||||
```xml
|
||||
<Config>
|
||||
<Account Name="azuread\user@contoso.onmicrosoft.com"/>
|
||||
<Profile Id="{GUID}"/>
|
||||
</Config>
|
||||
```
|
||||
|
||||
When the user account signs in, the associated Shell Launcher profile is applied, loading the application specified in the profile.
|
||||
|
||||
### Autologon account
|
||||
|
||||
With `<AutoLogonAccount>`, Shell Launcher creates and manages a user account to automatically sign in after a device restarts. The account is a local standard user named `Kiosk`.
|
||||
|
||||
Example:
|
||||
|
||||
```xml
|
||||
<Configs>
|
||||
<Config>
|
||||
<!--account managed by Shell Launcher-->
|
||||
<AutoLogonAccount/>
|
||||
<Profile Id="{GUID}"/>
|
||||
</Config>
|
||||
<Configs>
|
||||
<!--local account-->
|
||||
<Account Name="Learn Example"/>
|
||||
<Profile ID="{GUID}"/>
|
||||
</Configs>
|
||||
<Configs>
|
||||
<!--Microsoft Entra account-->
|
||||
<Account Name="azuread\kiosk@contoso.com"/>
|
||||
<Profile ID="{GUID}"/>
|
||||
</Configs>
|
||||
</Configs>
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
Here's a complete example of a Shell Launcher configuration file, with two profiles and three configs:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration" xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<DefaultProfile>
|
||||
<Shell Shell="%SystemRoot%\explorer.exe" />
|
||||
</DefaultProfile>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" Name="Weather">
|
||||
<Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
|
||||
<DefaultAction Action="RestartShell" />
|
||||
</Shell>
|
||||
</Profile>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Edge">
|
||||
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
|
||||
<ReturnCodeActions>
|
||||
<ReturnCodeAction ReturnCode="0" Action="RestartShell" />
|
||||
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice" />
|
||||
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice" />
|
||||
</ReturnCodeActions>
|
||||
<DefaultAction Action="RestartShell" />
|
||||
</Shell>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount />
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<Account Name="azuread\kiosk1@contoso.onmicrosoft.com" />
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" />
|
||||
</Config>
|
||||
<Config>
|
||||
<Account Name="azuread\kiosk2@contoso.onmicrosoft.com" />
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
|
||||
</Config>
|
||||
</Configs>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
@ -0,0 +1,13 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
```msgraph-interactive
|
||||
POST https://graph.microsoft.com/beta/deviceManagement/deviceConfigurations
|
||||
Content-Type: application/json
|
||||
|
||||
{ "id": "00-0000-0000-0000-000000000000", "displayName": "_MSLearn_Example_Kiosk - Shell Launcher", "description": "This is a sample policy created from an article on learn.microsoft.com.", "roleScopeTagIds": [ "0" ], "@odata.type": "#microsoft.graph.windows10CustomConfiguration", "omaSettings": [ { "@odata.type": "#microsoft.graph.omaSettingString", "displayName": "ShellLauncher", "description": null, "omaUri": "./Vendor/MSFT/AssignedAccess/ShellLauncher", "secretReferenceValueId": null, "isEncrypted": true, "value": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ShellLauncherConfiguration\nxmlns=\"http://schemas.microsoft.com/ShellLauncher/2018/Configuration\"\nxmlns:V2=\"http://schemas.microsoft.com/ShellLauncher/2019/Configuration\">\n <Profiles>\n <DefaultProfile>\n <Shell Shell=\"%SystemRoot%\\explorer.exe\"/>\n </DefaultProfile>\n <Profile Id=\"{EDB3036B-780D-487D-A375-69369D8A8F78}\">\n <Shell Shell=\"%ProgramFiles(x86)%\\Microsoft\\Edge\\Application\\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2\" V2:AppType=\"Desktop\" V2:AllAppsFullScreen=\"true\">\n <ReturnCodeActions>\n <ReturnCodeAction ReturnCode=\"0\" Action=\"RestartShell\"/>\n <ReturnCodeAction ReturnCode=\"-1\" Action=\"RestartDevice\"/>\n <ReturnCodeAction ReturnCode=\"255\" Action=\"ShutdownDevice\"/>\n </ReturnCodeActions>\n <DefaultAction Action=\"RestartShell\"/>\n </Shell>\n </Profile>\n </Profiles>\n <Configs>\n <Config>\n <AutoLogonAccount/>\n <Profile Id=\"{EDB3036B-780D-487D-A375-69369D8A8F78}\"/>\n </Config>\n </Configs>\n</ShellLauncherConfiguration>" } ], }
|
||||
```
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
```PowerShell
|
||||
$shellLauncherConfiguration = @"
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ShellLauncherConfiguration
|
||||
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<DefaultProfile>
|
||||
<Shell Shell="%SystemRoot%\explorer.exe"/>
|
||||
</DefaultProfile>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
|
||||
<ReturnCodeActions>
|
||||
<ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
|
||||
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
|
||||
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
|
||||
</ReturnCodeActions>
|
||||
<DefaultAction Action="RestartShell"/>
|
||||
</Shell>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount/>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</ShellLauncherConfiguration>
|
||||
"@
|
||||
|
||||
$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
|
||||
```
|
@ -0,0 +1,35 @@
|
||||
---
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
ms.date: 02/05/2024
|
||||
ms.topic: include
|
||||
---
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ShellLauncherConfiguration
|
||||
xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<DefaultProfile>
|
||||
<Shell Shell="%SystemRoot%\explorer.exe"/>
|
||||
</DefaultProfile>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
|
||||
<Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
|
||||
<ReturnCodeActions>
|
||||
<ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
|
||||
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
|
||||
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
|
||||
</ReturnCodeActions>
|
||||
<DefaultAction Action="RestartShell"/>
|
||||
</Shell>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<AutoLogonAccount/>
|
||||
<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
129
windows/configuration/assigned-access/shell-launcher/index.md
Normal file
@ -0,0 +1,129 @@
|
||||
---
|
||||
title: What is Shell Launcher?
|
||||
description: Learn how to configure devices with Shell Launcher.
|
||||
ms.date: 02/29/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.Configuration = [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)]
|
||||
|
||||
---
|
||||
|
||||
> [!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)
|
||||
|
||||
<!--links-->
|
||||
|
||||
[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
|
@ -0,0 +1,69 @@
|
||||
---
|
||||
title: "Quickstart: configure a kiosk experience with Shell Launcher"
|
||||
description: Learn how to configure a kiosk experience with Shell Launcher, using the Assigned Access configuration service provider (CSP), Microsoft Intune, PowerShell, or group policy (GPO).
|
||||
ms.topic: quickstart
|
||||
ms.date: 02/05/2024
|
||||
---
|
||||
|
||||
# Quickstart: configure a kiosk experience with Shell Launcher
|
||||
|
||||
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.
|
||||
|
||||
The examples can be modified to fit your specific requirements. For example, you can change the app used, the URL specified when opening Microsoft Edge, or change the name of the user that automatically signs in to Windows.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
>[!div class="checklist"]
|
||||
>Here's a list of requirements to complete this quickstart:
|
||||
>
|
||||
>- A Windows Enterprise or Education device
|
||||
>- Microsoft Intune, or a non-Microsoft MDM solution, if you want to configure the settings using MDM
|
||||
>- Access to the [psexec tool](/sysinternals/downloads/psexec), if you want to test the configuration using Windows PowerShell
|
||||
|
||||
## Configure a kiosk device
|
||||
|
||||
[!INCLUDE [tab-intro](../../../../includes/configure/tab-intro.md)]
|
||||
|
||||
#### [:::image type="icon" source="../../images/icons/intune.svg"::: **Intune/CSP**](#tab/intune)
|
||||
|
||||
> [!TIP]
|
||||
> Use the following Graph call to automatically create a custom policy in your Microsoft Intune tenant without assignments nor scope tags.
|
||||
>
|
||||
> When using this call, authenticate to your tenant in the Graph Explorer window. If it's the first time using Graph Explorer, you may need to authorize the application to access your tenant or to modify the existing permissions. This graph call requires *DeviceManagementConfiguration.ReadWrite.All* permissions.
|
||||
|
||||
[!INCLUDE [quickstart-intune](includes/quickstart-intune.md)]
|
||||
|
||||
Assign the policy to a group that contains as members the devices that you want to configure.
|
||||
|
||||
Alternatively, you can configure devices using a [custom policy][MEM-1] with the [AssignedAccess CSP][WIN-3].
|
||||
|
||||
- **Setting:** `./Vendor/MSFT/AssignedAccess/ShellLauncher`
|
||||
- **Value:**
|
||||
|
||||
[!INCLUDE [quickstart-xml](includes/quickstart-xml.md)]
|
||||
|
||||
#### [:::image type="icon" source="../../images/icons/powershell.svg"::: **PowerShell**](#tab/ps)
|
||||
|
||||
[!INCLUDE [powershell-wmi-bridge-1](../../../../includes/configure/powershell-wmi-bridge-1.md)]
|
||||
|
||||
[!INCLUDE [quickstart-ps](includes/quickstart-ps.md)]
|
||||
|
||||
[!INCLUDE [powershell-wmi-bridge-2](../../../../includes/configure/powershell-wmi-bridge-2.md)]
|
||||
|
||||
---
|
||||
|
||||
## User experience
|
||||
|
||||
After the settings are applied, reboot the device. A local user account is automatically signed in, opening Microsoft Edge.
|
||||
|
||||
## Next steps
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> Learn more how to create a Shell Launcher configuration file:
|
||||
>
|
||||
> [Create a Shell Launcher configuration file](configuration-file.md)
|
||||
|
||||
<!--links-->
|
||||
|
||||
[WIN-3]: /windows/client-management/mdm/assignedaccess-csp
|
||||
[MEM-1]: /mem/intune/configuration/custom-settings-windows-10
|
@ -0,0 +1,9 @@
|
||||
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
|
193
windows/configuration/assigned-access/shell-launcher/xsd.md
Normal file
@ -0,0 +1,193 @@
|
||||
---
|
||||
title: Shell Launcher XML Schema Definition (XSD)
|
||||
description: Shell Launcher XSD reference article.
|
||||
ms.topic: reference
|
||||
ms.date: 02/15/2024
|
||||
---
|
||||
|
||||
# Shell Launcher XML Schema Definition (XSD)
|
||||
|
||||
This reference article contains the latest Shell Launcher XML schema definition (XSD) and the XSD additions for each version of Windows.
|
||||
|
||||
## Shell Launcher XSD
|
||||
|
||||
Here's the latest Shell Launcher XSD, introduced in Windows 11:
|
||||
|
||||
```xml
|
||||
<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"
|
||||
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration" targetNamespace="http://schemas.microsoft.com/ShellLauncher/2018/Configuration">
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/ShellLauncher/2019/Configuration"/>
|
||||
|
||||
<xs:complexType name="profile_list_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:choice minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="DefaultProfile" type="default_profile_t"/>
|
||||
<xs:element name="Profile" type="profile_t"/>
|
||||
</xs:choice>
|
||||
<xs:element name="Profile" type="profile_t" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="default_profile_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="Shell" type="default_shell_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="default_shell_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="DefaultAction" type="default_action_t" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Shell" type="xs:string" use="required"/>
|
||||
<xs:attribute ref="V2:AppType"/>
|
||||
<xs:attribute ref="V2:AllAppsFullScreen"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="custom_shell_t">
|
||||
<xs:all minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="ReturnCodeActions" type="return_code_action_list_t" minOccurs="0" maxOccurs="1">
|
||||
<xs:unique name="ForbidDuplicatedReturnCodes">
|
||||
<xs:selector xpath="default:ReturnCodeAction"/>
|
||||
<xs:field xpath="@ReturnCode"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="DefaultAction" type="default_action_t" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:all>
|
||||
<xs:attribute name="Shell" type="xs:string" />
|
||||
<xs:attribute ref="V2:AppType"/>
|
||||
<xs:attribute ref="V2:AllAppsFullScreen"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="default_action_t">
|
||||
<xs:attribute name="Action" type="system_action_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="system_action_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RestartShell" />
|
||||
<xs:enumeration value="RestartDevice" />
|
||||
<xs:enumeration value="ShutdownDevice" />
|
||||
<xs:enumeration value="DoNothing" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="profile_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="Shell" type="custom_shell_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="guid_t" use="required"/>
|
||||
<xs:attribute name="Name" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="guid_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\{[0-9a-fA-F]{8}\-([0-9a-fA-F]{4}\-){3}[0-9a-fA-F]{12}\}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="return_code_action_list_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="ReturnCodeAction" type="return_code_action_t" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="return_code_action_t">
|
||||
<xs:attribute name="ReturnCode" type="xs:integer" use="required"/>
|
||||
<xs:attribute name="Action" type="system_action_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="config_list_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="Config" type="config_t" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="config_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:choice minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="Account" type="account_t" minOccurs="1" maxOccurs="1">
|
||||
<xs:key name="mutexNameOrSID">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@Name|@Sid"/>
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:element name="AutoLogonAccount" type="autologon_account_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:choice>
|
||||
<xs:element name="Profile" type="profile_id_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="account_t">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="Sid" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="autologon_account_t">
|
||||
<xs:attribute name="HiddenId" type="guid_t" fixed="{50021E57-1CE4-49DF-99A9-8DB659E2C2DD}"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="profile_id_t">
|
||||
<xs:attribute name="Id" type="guid_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<!--below is the definition of the config xml content-->
|
||||
<xs:element name="ShellLauncherConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="Profiles" type="profile_list_t" minOccurs="1" maxOccurs="1">
|
||||
<xs:unique name="ForbidDuplicatedProfiles">
|
||||
<xs:selector xpath="default:Profile"/>
|
||||
<xs:field xpath="@Id"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="Configs" type="config_list_t" minOccurs="0" maxOccurs="1">
|
||||
<xs:unique name="ForbidDuplicatedConfigs_Name">
|
||||
<xs:selector xpath="default:Config/default:Account"/>
|
||||
<xs:field xpath="@Name"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="ForbidDuplicatedConfigs_Sid">
|
||||
<xs:selector xpath="default:Config/default:Account"/>
|
||||
<xs:field xpath="@Sid"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="ForbidDuplicatedAutoLogonAccount">
|
||||
<xs:selector xpath="default:Config/default:AutoLogonAccount"/>
|
||||
<xs:field xpath="@HiddenId"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
## Windows 10, version 1903 additions
|
||||
|
||||
In Windows 10, version 1903, Shell Launcher introduced the support of both UWP and desktop apps as the custom shell.
|
||||
|
||||
Here's the Shell Launcher XSD for the features added in Windows 10, version 1903:
|
||||
|
||||
```xml
|
||||
<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">
|
||||
|
||||
<xs:attribute name="AppType">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="UWP"/>
|
||||
<xs:enumeration value="Desktop"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="AllAppsFullScreen" type="xs:boolean"/>
|
||||
|
||||
</xs:schema>
|
||||
```
|
33
windows/configuration/assigned-access/toc.yml
Normal file
@ -0,0 +1,33 @@
|
||||
items:
|
||||
- name: Overview
|
||||
href: index.md
|
||||
- name: Assigned Access
|
||||
items:
|
||||
- name: What is Assigned Access?
|
||||
href: overview.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
|
||||
href: xsd.md
|
||||
- name: Assigned Access XML examples
|
||||
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
|
334
windows/configuration/assigned-access/xsd.md
Normal file
@ -0,0 +1,334 @@
|
||||
---
|
||||
title: Assigned Access XML Schema Definition (XSD)
|
||||
description: Assigned Access XSD reference article.
|
||||
ms.topic: reference
|
||||
ms.date: 02/15/2024
|
||||
---
|
||||
|
||||
# Assigned Access XML Schema Definition (XSD)
|
||||
|
||||
This reference article contains the latest Assigned Access XML schema definition (XSD) and the XSD additions for each version of Windows.
|
||||
|
||||
## Assigned Access XSD
|
||||
|
||||
Here's the latest Assigned Access XSD, introduced in Windows 11:
|
||||
|
||||
```xml
|
||||
<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"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
xmlns:v4="http://schemas.microsoft.com/AssignedAccess/2021/config"
|
||||
xmlns:v5="http://schemas.microsoft.com/AssignedAccess/2022/config"
|
||||
targetNamespace="http://schemas.microsoft.com/AssignedAccess/2017/config">
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/201810/config"/>
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2020/config"/>
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2021/config"/>
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2022/config"/>
|
||||
|
||||
<xs:complexType name="profile_list_t">
|
||||
<xs:sequence minOccurs="1">
|
||||
<xs:element name="Profile" type="profile_t" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="kioskmodeapp_t">
|
||||
<xs:attribute name="AppUserModelId" type="xs:string"/>
|
||||
<xs:attributeGroup ref="ClassicApp_attributeGroup"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:attributeGroup name="ClassicApp_attributeGroup">
|
||||
<xs:attribute ref="v4:ClassicAppPath"/>
|
||||
<xs:attribute ref="v4:ClassicAppArguments" use="optional"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:complexType name="profile_t">
|
||||
<xs:choice>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="AllAppsList" type="allappslist_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element ref="rs5:FileExplorerNamespaceRestrictions" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="StartLayout" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element ref="v5:StartPins" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Taskbar" type="taskbar_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element ref="v5:TaskbarLayout" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="KioskModeApp" type="kioskmodeapp_t" minOccurs="1" maxOccurs="1">
|
||||
<xs:key name="mutualExclusionAumidOrClassicAppPath">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@AppUserModelId|@v4:ClassicAppPath"/>
|
||||
</xs:key>
|
||||
<xs:unique name="mutualExclusionAumidOrClassicAppArgumentsOptional">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@AppUserModelId|@v4:ClassicAppArguments"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element ref="v4:BreakoutSequence" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" type="guid_t" use="required"/>
|
||||
<xs:attribute name="Name" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allappslist_t">
|
||||
<xs:sequence minOccurs="1">
|
||||
<xs:element name="AllowedApps" type="allowedapps_t" minOccurs="1" maxOccurs="1">
|
||||
<xs:unique name="ForbidDupApps">
|
||||
<xs:selector xpath="default:App"/>
|
||||
<xs:field xpath="@AppUserModelId|@DesktopAppPath"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="OnlyOneAppCanHaveAutoLaunch">
|
||||
<xs:selector xpath="default:App"/>
|
||||
<xs:field xpath="@rs5:AutoLaunch"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allowedapps_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="App" type="app_t" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:key name="mutexAumidOrDesktopApp">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@AppUserModelId|@DesktopAppPath"/>
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="app_t">
|
||||
<xs:attribute name="AppUserModelId" type="xs:string"/>
|
||||
<xs:attribute name="DesktopAppPath" type="xs:string"/>
|
||||
<xs:attributeGroup ref="autoLaunch_attributeGroup"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:attributeGroup name="autoLaunch_attributeGroup">
|
||||
<xs:attribute ref="rs5:AutoLaunch"/>
|
||||
<xs:attribute ref="rs5:AutoLaunchArguments" use="optional"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:complexType name="taskbar_t">
|
||||
<xs:attribute name="ShowTaskbar" type="xs:boolean" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="profileId_t">
|
||||
<xs:attribute name="Id" type="guid_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="guid_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\{[0-9a-fA-F]{8}\-([0-9a-fA-F]{4}\-){3}[0-9a-fA-F]{12}\}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="config_list_t">
|
||||
<xs:sequence minOccurs="1">
|
||||
<xs:element ref="v3:GlobalProfile" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Config" type="config_t" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="config_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:choice>
|
||||
<xs:element name="Account" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="AutoLogonAccount" type="autologon_account_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="UserGroup" type="group_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="SpecialGroup" type="specialGroup_t" minOccurs="1" maxOccurs="1" />
|
||||
</xs:choice>
|
||||
<xs:element name="DefaultProfile" type="profileId_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="autologon_account_t">
|
||||
<xs:attribute name="HiddenId" type="guid_t" fixed="{74331115-F68A-4DF9-8D2C-52BA2CE2ADB1}"/>
|
||||
<xs:attribute ref="rs5:DisplayName" use="optional" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="group_t">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Type" type="groupType_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="specialGroup_t">
|
||||
<xs:attribute name="Name" type="specialGroupType_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="groupType_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="LocalGroup"/>
|
||||
<xs:enumeration value="ActiveDirectoryGroup"/>
|
||||
<xs:enumeration value="AzureActiveDirectoryGroup"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="specialGroupType_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Visitor"/>
|
||||
<xs:enumeration value="DeviceOwner"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="fileExplorerNamespaceRestrictions_t">
|
||||
<xs:sequence minOccurs="1">
|
||||
<xs:element name="AllowedNamespace" type="allowedFileExplorerNamespace_t"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allowedFileExplorerNamespace_t">
|
||||
<xs:attribute name="Name" type="allowedFileExplorerNamespaceValues_t"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="allowedFileExplorerNamespaceValues_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Downloads"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!--below is the definition of the config xml content-->
|
||||
<xs:element name="AssignedAccessConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:all minOccurs="1">
|
||||
<xs:element name="Profiles" type="profile_list_t">
|
||||
<xs:unique name="duplicateRolesForbidden">
|
||||
<xs:selector xpath="default:Profile"/>
|
||||
<xs:field xpath="@Id"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="Configs" type="config_list_t">
|
||||
<xs:unique name="duplicateAutoLogonAccountForbidden">
|
||||
<xs:selector xpath=".//default:AutoLogonAccount"/>
|
||||
<xs:field xpath="@HiddenId"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
## Windows 11, version 22H2 additions
|
||||
|
||||
Here's the Assigned Access XSD for the features added in Windows 11:
|
||||
|
||||
```xml
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
|
||||
vc:minVersion="1.1"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2022/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/2022/config"
|
||||
targetNamespace="http://schemas.microsoft.com/AssignedAccess/2022/config"
|
||||
>
|
||||
|
||||
<xs:element name = "StartPins" type = "xs:string"/>
|
||||
<xs:element name = "TaskbarLayout" type="xs:string"/>
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
## Windows 11, version 21H2 additions
|
||||
|
||||
Here's the Assigned Access XSD for the features added in Windows 10, version 21H2:
|
||||
|
||||
```xml
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
|
||||
vc:minVersion="1.1"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2021/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/2021/config"
|
||||
targetNamespace="http://schemas.microsoft.com/AssignedAccess/2021/config"
|
||||
>
|
||||
|
||||
<xs:attribute name="ClassicAppPath" type="xs:string"/>
|
||||
<xs:attribute name="ClassicAppArguments" type="xs:string"/>
|
||||
|
||||
<xs:element name="BreakoutSequence" type="BreakoutSequence_t" />
|
||||
|
||||
<xs:complexType name="BreakoutSequence_t">
|
||||
<xs:attribute name="Key" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
## Windows 10, version 1909 additions
|
||||
|
||||
Here's the Assigned Access XSD for the features added in Windows 10, version 1909:
|
||||
|
||||
```xml
|
||||
<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"
|
||||
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1"
|
||||
xmlns:v5="http://schemas.microsoft.com/AssignedAccess/202010/config" targetNamespace="http://schemas.microsoft.com/AssignedAccess/2020/config">
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/202010/config" />
|
||||
|
||||
<xs:simpleType name="guid_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\{[0-9a-fA-F]{8}\-([0-9a-fA-F]{4}\-){3}[0-9a-fA-F]{12}\}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="globalProfile_t">
|
||||
<xs:sequence minOccurs="0" maxOccurs="1">
|
||||
<xs:element ref="v5:Exclusions" minOccurs="0" maxOccurs="1" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="guid_t" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="AllowRemovableDrives"/>
|
||||
<xs:element name="NoRestriction" />
|
||||
<xs:element name="GlobalProfile" type="globalProfile_t" />
|
||||
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
## Windows 10, version 1809 additions
|
||||
|
||||
Here's the Assigned Access XSD for the features added in Windows 10, version 1809:
|
||||
|
||||
```xml
|
||||
<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"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config" targetNamespace="http://schemas.microsoft.com/AssignedAccess/201810/config">
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2020/config"/>
|
||||
|
||||
<xs:complexType name="fileExplorerNamespaceRestrictions_t">
|
||||
<xs:choice>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element name="AllowedNamespace" type="allowedFileExplorerNamespace_t" minOccurs="0"/>
|
||||
<xs:element ref="v3:AllowRemovableDrives" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:element ref="v3:NoRestriction" minOccurs="0" maxOccurs="1" />
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allowedFileExplorerNamespace_t">
|
||||
<xs:attribute name="Name" type="allowedFileExplorerNamespaceValues_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="allowedFileExplorerNamespaceValues_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Downloads"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="FileExplorerNamespaceRestrictions" type="fileExplorerNamespaceRestrictions_t" />
|
||||
<xs:attribute name="AutoLaunch" type="xs:boolean"/>
|
||||
<xs:attribute name="AutoLaunchArguments" type="xs:string"/>
|
||||
<xs:attribute name="DisplayName" type="xs:string"/>
|
||||
</xs:schema>
|
||||
```
|
@ -43,8 +43,6 @@
|
||||
"uhfHeaderId": "MSDocsHeader-Windows",
|
||||
"ms.subservice": "itpro-configure",
|
||||
"ms.service": "windows-client",
|
||||
"ms.author": "paoloma",
|
||||
"author": "paolomatarazzo",
|
||||
"manager": "aaroncz",
|
||||
"feedback_system": "Standard",
|
||||
"feedback_product_url": "https://support.microsoft.com/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332",
|
||||
@ -77,17 +75,57 @@
|
||||
"feedback_system": {
|
||||
"ue-v/**/*.*": "None"
|
||||
},
|
||||
"author": {
|
||||
"wcd//**/*.md": "aczechowski",
|
||||
"wcd//**/*.yml": "aczechowski",
|
||||
"author":{
|
||||
"accessibility//**/*.md": "paolomatarazzo",
|
||||
"accessibility//**/*.yml": "paolomatarazzo",
|
||||
"assigned-access//**/*.md": "paolomatarazzo",
|
||||
"assigned-access//**/*.yml": "paolomatarazzo",
|
||||
"cellular//**/*.md": "paolomatarazzo",
|
||||
"cellular//**/*.yml": "paolomatarazzo",
|
||||
"lock-screen//**/*.md": "paolomatarazzo",
|
||||
"lock-screen//**/*.yml": "paolomatarazzo",
|
||||
"provisioning-packages//**/*.md": "vinaypamnani-msft",
|
||||
"provisioning-packages//**/*.yml": "vinaypamnani-msft",
|
||||
"shared-pc//**/*.md": "paolomatarazzo",
|
||||
"shared-pc//**/*.yml": "paolomatarazzo",
|
||||
"start//**/*.md": "paolomatarazzo",
|
||||
"start//**/*.yml": "paolomatarazzo",
|
||||
"store//**/*.md": "paolomatarazzo",
|
||||
"store//**/*.yml": "paolomatarazzo",
|
||||
"taskbar//**/*.md": "paolomatarazzo",
|
||||
"taskbar//**/*.yml": "paolomatarazzo",
|
||||
"tips//**/*.md": "paolomatarazzo",
|
||||
"tips//**/*.yml": "paolomatarazzo",
|
||||
"ue-v//**/*.md": "aczechowski",
|
||||
"ue-v//**/*.yml": "aczechowski"
|
||||
"ue-v//**/*.yml": "aczechowski",
|
||||
"wcd//**/*.md": "vinaypamnani-msft",
|
||||
"wcd//**/*.yml": "vinaypamnani-msft"
|
||||
},
|
||||
"ms.author": {
|
||||
"wcd//**/*.md": "aaroncz",
|
||||
"wcd//**/*.yml": "aaroncz",
|
||||
"ms.author":{
|
||||
"accessibility//**/*.md": "paoloma",
|
||||
"accessibility//**/*.yml": "paoloma",
|
||||
"assigned-access//**/*.md": "paoloma",
|
||||
"assigned-access//**/*.yml": "paoloma",
|
||||
"cellular//**/*.md": "paoloma",
|
||||
"cellular//**/*.yml": "paoloma",
|
||||
"lock-screen//**/*.md": "paoloma",
|
||||
"lock-screen//**/*.yml": "paoloma",
|
||||
"provisioning-packages//**/*.md": "vinpa",
|
||||
"provisioning-packages//**/*.yml": "vinpa",
|
||||
"shared-pc//**/*.md": "paoloma",
|
||||
"shared-pc//**/*.yml": "paoloma",
|
||||
"start//**/*.md": "paoloma",
|
||||
"start//**/*.yml": "paoloma",
|
||||
"store//**/*.md": "paoloma",
|
||||
"store//**/*.yml": "paoloma",
|
||||
"taskbar//**/*.md": "paoloma",
|
||||
"taskbar//**/*.yml": "paoloma",
|
||||
"tips//**/*.md": "paoloma",
|
||||
"tips//**/*.yml": "paoloma",
|
||||
"ue-v//**/*.md": "aaroncz",
|
||||
"ue-v//**/*.yml": "aaroncz"
|
||||
"ue-v//**/*.yml": "aaroncz",
|
||||
"wcd//**/*.md": "vinpa",
|
||||
"wcd//**/*.yml": "vinpa"
|
||||
},
|
||||
"ms.reviewer": {
|
||||
"kiosk//**/*.md": "sybruckm",
|
||||
|
88
windows/configuration/images/icons/explorer.svg
Normal file
@ -0,0 +1,88 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_37_2817)">
|
||||
<path d="M17.116 3H7.14404L6.4748 2.16348C6.30918 1.95645 6.09912 1.78933 5.86016 1.67448C5.62121 1.55963 5.35948 1.5 5.09436 1.5H0.89175C0.657331 1.50001 0.432516 1.59314 0.266759 1.7589C0.101002 1.92466 0.00787898 2.14948 0.007875 2.3839V3H0V15.6272C0.00147129 15.8601 0.0954272 16.083 0.261198 16.2466C0.42697 16.4103 0.650977 16.5015 0.883943 16.5H17.116C17.349 16.5015 17.573 16.4103 17.7388 16.2466C17.9046 16.0829 17.9985 15.8601 18 15.6272V3.87282C17.9985 3.63986 17.9045 3.41704 17.7388 3.25335C17.573 3.08967 17.349 2.99854 17.116 3Z" fill="url(#paint0_linear_37_2817)"/>
|
||||
<mask id="mask0_37_2817" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="1" width="18" height="16">
|
||||
<path d="M17.116 3H7.14404L6.4748 2.16348C6.30918 1.95645 6.09912 1.78933 5.86016 1.67448C5.62121 1.55963 5.35948 1.5 5.09436 1.5H0.89175C0.657331 1.50001 0.432516 1.59314 0.266759 1.7589C0.101002 1.92466 0.00787898 2.14948 0.007875 2.3839V3H0V15.6272C0.00147129 15.8601 0.0954272 16.083 0.261198 16.2466C0.42697 16.4103 0.650977 16.5015 0.883943 16.5H17.116C17.349 16.5015 17.573 16.4103 17.7388 16.2466C17.9046 16.0829 17.9985 15.8601 18 15.6272V3.87282C17.9985 3.63986 17.9045 3.41704 17.7388 3.25335C17.573 3.08967 17.349 2.99854 17.116 3Z" fill="url(#paint1_linear_37_2817)"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_37_2817)">
|
||||
<g filter="url(#filter0_dd_37_2817)">
|
||||
<path d="M15.375 4.5H1.125C0.50368 4.5 0 5.00368 0 5.625V8.625C0 9.24632 0.50368 9.75 1.125 9.75H15.375C15.9963 9.75 16.5 9.24632 16.5 8.625V5.625C16.5 5.00368 15.9963 4.5 15.375 4.5Z" fill="#C4C4C4"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M7.72545 3.75004C7.43133 3.74413 7.1429 3.83149 6.9015 3.99961C6.45374 4.32633 5.91378 4.50239 5.3595 4.50238H0.883928C0.649495 4.50238 0.424665 4.59551 0.258896 4.76128C0.0931278 4.92705 0 5.15188 0 5.38631L0 16.3662C1.98897e-05 16.6006 0.0931558 16.8254 0.258922 16.9912C0.424687 17.1569 0.649506 17.25 0.883928 17.25H17.116C17.3505 17.25 17.5753 17.1569 17.7411 16.9912C17.9068 16.8254 18 16.6006 18 16.3662V4.63396C18 4.51788 17.9771 4.40294 17.9327 4.2957C17.8883 4.18845 17.8232 4.09101 17.7411 4.00893C17.659 3.92684 17.5616 3.86174 17.4543 3.81732C17.3471 3.7729 17.2321 3.75003 17.116 3.75004H7.72545Z" fill="url(#paint2_linear_37_2817)"/>
|
||||
<path opacity="0.3" d="M17.1161 3.75076H7.72883C7.44177 3.74115 7.15906 3.82284 6.92137 3.98408C6.43763 4.34022 5.84803 4.52305 5.24767 4.50308H0.883943C0.767861 4.50308 0.652915 4.52594 0.54567 4.57037C0.438425 4.61479 0.340979 4.6799 0.258898 4.76199C0.176816 4.84407 0.111706 4.94152 0.0672838 5.04876C0.0228621 5.15601 -9.84791e-07 5.27095 1.27287e-10 5.38703L1.27287e-10 6.13703C-1.96976e-06 6.02095 0.0228605 5.90601 0.0672821 5.79876C0.111704 5.69152 0.176814 5.59407 0.258896 5.51199C0.340978 5.42991 0.438424 5.3648 0.54567 5.32037C0.652916 5.27595 0.767861 5.25309 0.883943 5.25309H5.37891C6.01545 5.25927 6.63978 5.07825 7.17428 4.73251C7.4098 4.57627 7.6873 4.49544 7.96988 4.50076H17.116C17.2321 4.50075 17.3471 4.5236 17.4543 4.56802C17.5616 4.61243 17.659 4.67754 17.7411 4.75962C17.8232 4.8417 17.8883 4.93914 17.9327 5.04639C17.9771 5.15363 18 5.26858 18 5.38466V4.63466C18 4.51858 17.9771 4.40364 17.9327 4.2964C17.8883 4.18916 17.8232 4.09172 17.7411 4.00964C17.6591 3.92756 17.5616 3.86246 17.4544 3.81804C17.3471 3.77362 17.2322 3.75076 17.1161 3.75076V3.75076Z" fill="url(#paint3_linear_37_2817)"/>
|
||||
<mask id="mask1_37_2817" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="3" width="18" height="15">
|
||||
<path d="M7.72545 3.75004C7.43133 3.74413 7.1429 3.83149 6.9015 3.99961C6.45374 4.32633 5.91378 4.50239 5.3595 4.50238H0.883928C0.649495 4.50238 0.424665 4.59551 0.258896 4.76128C0.0931278 4.92705 0 5.15188 0 5.38631L0 16.3662C1.98897e-05 16.6006 0.0931558 16.8254 0.258922 16.9912C0.424687 17.1569 0.649506 17.25 0.883928 17.25H17.116C17.3505 17.25 17.5753 17.1569 17.7411 16.9912C17.9068 16.8254 18 16.6006 18 16.3662V4.63396C18 4.51788 17.9771 4.40294 17.9327 4.2957C17.8883 4.18845 17.8232 4.09101 17.7411 4.00893C17.659 3.92684 17.5616 3.86174 17.4543 3.81732C17.3471 3.7729 17.2321 3.75003 17.116 3.75004H7.72545Z" fill="url(#paint4_linear_37_2817)"/>
|
||||
</mask>
|
||||
<g mask="url(#mask1_37_2817)">
|
||||
<g filter="url(#filter1_dd_37_2817)">
|
||||
<path d="M5.25 12H12.75C13.3467 12 13.919 12.2371 14.341 12.659C14.7629 13.081 15 13.6533 15 14.25V17.25H3V14.25C3 13.6533 3.23705 13.081 3.65901 12.659C4.08097 12.2371 4.65326 12 5.25 12V12Z" fill="url(#paint5_linear_37_2817)"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M5.25 12H12.75C13.3467 12 13.919 12.2371 14.341 12.659C14.7629 13.081 15 13.6533 15 14.25V17.25H3V14.25C3 13.6533 3.23705 13.081 3.65901 12.659C4.08097 12.2371 4.65326 12 5.25 12V12Z" fill="url(#paint6_linear_37_2817)"/>
|
||||
<path d="M12.375 14.25H5.625C5.41789 14.25 5.25 14.4179 5.25 14.625C5.25 14.8321 5.41789 15 5.625 15H12.375C12.5821 15 12.75 14.8321 12.75 14.625C12.75 14.4179 12.5821 14.25 12.375 14.25Z" fill="#114A8B"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_dd_37_2817" x="-1.5" y="3" width="19.5" height="8.25" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="0.25"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_37_2817"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="0.75"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/>
|
||||
<feBlend mode="normal" in2="effect1_dropShadow_37_2817" result="effect2_dropShadow_37_2817"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_37_2817" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter1_dd_37_2817" x="1.5" y="10.5" width="15" height="8.25" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="0.25"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_37_2817"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="0.75"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/>
|
||||
<feBlend mode="normal" in2="effect1_dropShadow_37_2817" result="effect2_dropShadow_37_2817"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_37_2817" result="shape"/>
|
||||
</filter>
|
||||
<linearGradient id="paint0_linear_37_2817" x1="13.1828" y1="16.9947" x2="4.5833" y2="2.10007" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.1135" stop-color="#D18B00"/>
|
||||
<stop offset="0.6162" stop-color="#E09F00"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_37_2817" x1="13.1828" y1="16.9947" x2="4.5833" y2="2.10007" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.1135" stop-color="#D18B00"/>
|
||||
<stop offset="0.6162" stop-color="#E09F00"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_37_2817" x1="13.9722" y1="19.1122" x2="4.62611" y2="2.92425" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#F5B300"/>
|
||||
<stop offset="0.5" stop-color="#FFCB3C"/>
|
||||
<stop offset="1" stop-color="#FFD762"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint3_linear_37_2817" x1="1.27287e-10" y1="4.94352" x2="18" y2="4.94352" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="white"/>
|
||||
<stop offset="1" stop-color="white" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint4_linear_37_2817" x1="13.9722" y1="19.1122" x2="4.62611" y2="2.92425" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#F5B300"/>
|
||||
<stop offset="0.5" stop-color="#FFCB3C"/>
|
||||
<stop offset="1" stop-color="#FFD762"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint5_linear_37_2817" x1="10.7628" y1="18.5014" x2="6.59164" y2="11.2768" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0062B4"/>
|
||||
<stop offset="1" stop-color="#1493DF"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint6_linear_37_2817" x1="10.7628" y1="18.5014" x2="6.59164" y2="11.2768" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0062B4"/>
|
||||
<stop offset="1" stop-color="#1493DF"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_37_2817">
|
||||
<rect width="18" height="18" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 8.5 KiB |
9
windows/configuration/images/icons/group-policy.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<svg width="17" height="18" viewBox="0 0 17 18" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<rect width="17" height="18" fill="url(#pattern0)"/>
|
||||
<defs>
|
||||
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
|
||||
<use xlink:href="#image0_92_347" transform="matrix(0.0227273 0 0 0.0217391 -0.0454545 -0.0869565)"/>
|
||||
</pattern>
|
||||
<image id="image0_92_347" width="47" height="52" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAA0CAYAAAAaNmH0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH6AEEFgALC7iL4gAABVhJREFUaAXtWb+LJEUUfruMSzde0CMbzIiBAwZusMEazV4gOMcli4IuCIoayIogmohmF8sGsoEYKfgfCCbeRWKmqaCg4WU3EwzbDQ50sze4fq+660f3dFdV98zurWDBbr+pevXe976qelVdvXV5eUlN5eLiQjTt7Ow0qTzR+u0n6n1N5/+DX5PAzt17Hj2fPju999PJe6+Os2Xqob5hlSVRukyE0TAIaPD80Zb0sOVYsPtff/Xlt5NXDsZ7LwyJYIgok32v/JnBFf+lyyl8xfCf0G9/nNPx21+IAFzM/378xoSGuxEh6KIoQVZczRNEMU3pIqEQKFNEkS3O6WD/WeXPBZ76twIAB2CnprK5ESFbhrADtklP1YwDQjCyWCH9eP97Oro7uXbgRAGmS0zxPKFk+hcl9EiAniYxiOzTwTiHbwU/OTzMWZehXuMzTjKazaeUJo8w12cIJqV4gbo/H9LRmx7g8wV6jYgNVwmmRxzHgvGgx9M2ohCPe6dnKttYmTdsXbvITB+9dgKgJ42+W4PPeNXDcG0RqbS2pbEyirAwmdkOxQEeyYoBGVrJPKbpTK94bueURo85H1eCcgUThPTS/oCiqA68sGoNyYBl1VONUdRHMoAzAYwdSMccaKT0WKiEUmrjH5wMAwTQtbQGHyDvD/B3pYWJcY0aVG7oqdI9ZZi81swn2Cg4B5dKwVK2rK8v6Zo/MP1Gz/U77yWe4DWoPNvgtwkU4IWGMdTV3yZmKQecuQY4fsiKlk9P8NrqYDdoyA5ap40UtEagrbfv2gtpHYfa9fpSa/BigzKmh4TAJ77VoqfbahvXYBRv4QFCupTW4BOc9KZzA1QBWoB/rDO7kGoD0jDDMKS9F3mT0nVtJA/wBlBY5jw/rFtiAJpW6x3gOdfpl5w2sHNdD/CaTe4itvJGprrmjbIP3zBu6CbF8MsjXheQB/Plbgk2qAwvBbx9r/BVnSb4bYPAWWvIeb7jcaM1eAbOO6zKLgZgcTWC06V3eSqkPvaNrpOtNXj7JlVZDEZgtQHBe/2CtY2XttQCfGEQNHVlSrutSn5gq708wcO41IS4cgCrWpW/vZgHFdI293P1kbbxNLsZ1c3iDBtUXGxSat6zOpyuXAc65n8gNimMZO2bVDMG2dIaPM/RfjG10ypL4qJImuZgtFwniTNSawTakn/XAki+SW141q8E6bcG/MAL434GNS9dJX9irODr4CYJpgNf3XIxGPM5iOWdjP/wPsR8D/hkuVLqvJeVrOCFqnxjKjR5k5oiAJLXHEUAwpW4/jAcGMEZtUrkGzBxkatqWHCDlupO8GwK155SnyLeEQVTHsPrAN98qtT+lOMawQHeMFIA4QxRP8w11n2rzCAdiEyTdlXTqMG+aeBK5JLfZg928Kofj8DKGVK1blRQwN3+rOBTLNYIl6o4QwKfMYU2ijY3plYQEOWvlG5/VvDEwDNOLTAks0sX4KYXxaxhqHgBZ9D5zQRYl+nYUKuKPfmJHg3bn3720S93JrfHrLQ3GuFFgW+zur3ZVx3ZfvONhPiYMH+I01Ym0meandu6iDbJyfZb77z+zScfvju+fXigO6FVDachaYXNSMw4f2tN/j4XaTmlZ5znIvYswf9zdvr5B8NdZrpprjXVrxnAEvQAvNi1scb4uJ3EYN3jg4MET7TAR6seho0x1s3LNTHauvOuzZ8oYz578NriNRAMbF1EW+kL+M8/fHw5GuqJ4uy9CQXQx6zj8hlfXPABDTYDgD9+/zv14azJjWYeGvcf/Dq78/LIHXKTtTXqObnECxDX61MaRF6WSsx79bhBSjf40snN0n8a/L87FqtbB9OY7gAAAABJRU5ErkJggg=="/>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
9
windows/configuration/images/icons/registry.svg
Normal file
After Width: | Height: | Size: 12 KiB |
19
windows/configuration/images/icons/rocket.svg
Normal file
After Width: | Height: | Size: 2.4 MiB |
@ -11,7 +11,7 @@ metadata:
|
||||
author: paolomatarazzo
|
||||
ms.author: paoloma
|
||||
manager: aaroncz
|
||||
ms.date: 02/06/2024
|
||||
ms.date: 03/04/2024
|
||||
|
||||
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
|
||||
|
||||
@ -22,9 +22,9 @@ landingContent:
|
||||
- linkListType: how-to-guide
|
||||
links:
|
||||
- text: Customize the Windows Start menu layout
|
||||
url: start/customize-start-menu-layout-windows-11.md
|
||||
url: start/customize-and-export-start-layout.md
|
||||
- text: Customize the Windows taskbar
|
||||
url: taskbar/customize-taskbar-windows-11.md
|
||||
url: taskbar/configure.md
|
||||
- text: Configure Windows Spotlight on the lock screen
|
||||
url: lock-screen/windows-spotlight.md
|
||||
- text: Accessibility information for IT pros
|
||||
@ -34,14 +34,20 @@ landingContent:
|
||||
linkLists:
|
||||
- linkListType: how-to-guide
|
||||
links:
|
||||
- text: Configure kiosks and digital signs
|
||||
url: kiosk/kiosk-methods.md
|
||||
- text: Set up a single-app kiosk
|
||||
url: kiosk/kiosk-single-app.md
|
||||
- text: Set up a multi-app kiosk for Windows 11
|
||||
url: kiosk/lock-down-windows-11-to-specific-apps.md
|
||||
- text: Manage multi-user and guest devices
|
||||
url: shared-devices-concepts.md
|
||||
- text: Configure kiosks and restricted user experiences
|
||||
url: assigned-access/index.md
|
||||
- text: What is Assigned Access?
|
||||
url: assigned-access/overview.md
|
||||
- text: What is Shell Launcher?
|
||||
url: assigned-access/shell-launcher/index.md
|
||||
- linkListType: quickstart
|
||||
links:
|
||||
- text: Configure a kiosk with Assigned Access
|
||||
url: assigned-access/quickstart-kiosk.md
|
||||
- text: Configure a kiosk with Shell Launcher
|
||||
url: assigned-access/shell-launcher/quickstart-kiosk.md
|
||||
- text: Configure a restricted user experience with Assigned Access
|
||||
url: assigned-access/quickstart-restricted-user-experience.md
|
||||
|
||||
- title: Configure shared devices
|
||||
linkLists:
|
||||
@ -54,7 +60,7 @@ landingContent:
|
||||
linkLists:
|
||||
- linkListType: how-to-guide
|
||||
links:
|
||||
- text: Provisioning packages for Windows
|
||||
- text: Provisioning packages overview
|
||||
url: provisioning-packages/provisioning-packages.md
|
||||
- text: Install Windows Configuration Designer
|
||||
url: provisioning-packages/provisioning-install-icd.md
|
||||
|
@ -1,143 +0,0 @@
|
||||
---
|
||||
title: Find the Application User Model ID of an installed app
|
||||
description: To configure assigned access (kiosk mode), you need the Application User Model ID (AUMID) of apps installed on a device.
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Find the Application User Model ID of an installed app
|
||||
|
||||
To configure assigned access (kiosk mode), you need the Application User Model ID (AUMID) of apps installed on a device. You can find the AUMID by using Windows PowerShell, File Explorer, or the registry.
|
||||
|
||||
## To find the AUMID by using Windows PowerShell
|
||||
|
||||
To get the names and AUMIDs for all apps installed for the current user, open a Windows PowerShell command prompt and enter the following command:
|
||||
|
||||
```powershell
|
||||
Get-StartApps
|
||||
```
|
||||
|
||||
To get the names and AUMIDs for Windows Store apps installed for another user, open a Windows PowerShell command prompt and enter the following commands:
|
||||
|
||||
```powershell
|
||||
$installedapps = Get-AppxPackage
|
||||
|
||||
$aumidList = @()
|
||||
foreach ($app in $installedapps)
|
||||
{
|
||||
foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
|
||||
{
|
||||
$aumidList += $app.packagefamilyname + "!" + $id
|
||||
}
|
||||
}
|
||||
|
||||
$aumidList
|
||||
```
|
||||
|
||||
You can add the `-user <username>` or the `-allusers` parameters to the **Get-AppxPackage** cmdlet to list AUMIDs for other users. You must use an elevated Windows PowerShell prompt to use the `-user` or -`allusers` parameters.
|
||||
|
||||
## To find the AUMID by using File Explorer
|
||||
|
||||
To get the names and AUMIDs for all apps installed for the current user, perform the following steps:
|
||||
|
||||
1. Open **Run**, enter **shell:Appsfolder**, and select **OK**.
|
||||
1. A File Explorer window opens. Press **Alt** > **View** > **Choose details**.
|
||||
1. In the **Choose Details** window, select **AppUserModelId**, and then select **OK**. (You might need to change the **View** setting from **Tiles** to **Details**.)
|
||||
|
||||

|
||||
|
||||
## To find the AUMID of an installed app for the current user by using the registry
|
||||
|
||||
Querying the registry can only return information about Microsoft Store apps that are installed for the current user, while the Windows PowerShell query can find information for any account on the device.
|
||||
|
||||
At a command prompt, type the following command:
|
||||
|
||||
```cmd
|
||||
reg query HKEY_CURRENT_USER\Software\Classes\ActivatableClasses\Package /s /f AppUserModelID | find "REG_SZ"
|
||||
```
|
||||
|
||||
### Example to get AUMIDs of the installed apps for the specified user
|
||||
|
||||
The following code sample creates a function in Windows PowerShell that returns an array of AUMIDs of the installed apps for the specified user.
|
||||
|
||||
```powershell
|
||||
function listAumids( $userAccount ) {
|
||||
|
||||
if ($userAccount -eq "allusers")
|
||||
{
|
||||
# Find installed packages for all accounts. Must be run as an administrator in order to use this option.
|
||||
$installedapps = Get-AppxPackage -allusers
|
||||
}
|
||||
elseif ($userAccount)
|
||||
{
|
||||
# Find installed packages for the specified account. Must be run as an administrator in order to use this option.
|
||||
$installedapps = Get-AppxPackage -user $userAccount
|
||||
}
|
||||
else
|
||||
{
|
||||
# Find installed packages for the current account.
|
||||
$installedapps = Get-AppxPackage
|
||||
}
|
||||
|
||||
$aumidList = @()
|
||||
foreach ($app in $installedapps)
|
||||
{
|
||||
foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
|
||||
{
|
||||
$aumidList += $app.packagefamilyname + "!" + $id
|
||||
}
|
||||
}
|
||||
|
||||
return $aumidList
|
||||
}
|
||||
```
|
||||
|
||||
The following Windows PowerShell commands demonstrate how you can call the listAumids function after you've created it.
|
||||
|
||||
```powershell
|
||||
# Get a list of AUMIDs for the current account:
|
||||
listAumids
|
||||
|
||||
# Get a list of AUMIDs for an account named "CustomerAccount":
|
||||
listAumids("CustomerAccount")
|
||||
|
||||
# Get a list of AUMIDs for all accounts on the device:
|
||||
listAumids("allusers")
|
||||
```
|
||||
|
||||
### Example to get the AUMID of any application in the Start menu
|
||||
|
||||
The following code sample creates a function in Windows PowerShell that returns the AUMID of any application currently listed in the Start menu.
|
||||
|
||||
```powershell
|
||||
function Get-AppAUMID {
|
||||
param (
|
||||
[string]$AppName
|
||||
)
|
||||
$Apps = (New-Object -ComObject Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items()
|
||||
if ($AppName){
|
||||
$Result = $Apps | Where-Object { $_.name -like "*$AppName*" } | Select-Object name,@{n="AUMID";e={$_.path}}
|
||||
if ($Result){
|
||||
Return $Result
|
||||
}
|
||||
else {"Unable to locate {0}" -f $AppName}
|
||||
}
|
||||
else {
|
||||
$Result = $Apps | Select-Object name,@{n="AUMID";e={$_.path}}
|
||||
Return $Result
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The following Windows PowerShell commands demonstrate how you can call the Get-AppAUMID function after you've created it.
|
||||
|
||||
```powershell
|
||||
# Get the AUMID for OneDrive
|
||||
Get-AppAUMID -AppName OneDrive
|
||||
|
||||
# Get the AUMID for Microsoft Word
|
||||
Get-AppAUMID -AppName Word
|
||||
|
||||
# List all apps and their AUMID in the Start menu
|
||||
Get-AppAUMID
|
||||
```
|
@ -1,146 +0,0 @@
|
||||
---
|
||||
title: Guidelines for choosing an app for assigned access
|
||||
description: The following guidelines may help you choose an appropriate Windows app for your assigned access experience.
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Guidelines for choosing an app for assigned access (kiosk mode)
|
||||
|
||||
Use assigned access to restrict users to use only one application, so that the device acts like a kiosk. Administrators can use assigned access to restrict a selected user account to access a single Windows app. You can choose almost any Windows app for assigned access; however, some apps may not provide a good user experience.
|
||||
|
||||
The following guidelines may help you choose an appropriate Windows app for your assigned access experience.
|
||||
|
||||
## General guidelines
|
||||
|
||||
- Windows apps must be provisioned or installed for the assigned access account before they can be selected as the assigned access app. [Learn how to provision and install apps](/windows/client-management/mdm/enterprise-app-management#install_your_apps).
|
||||
- Updating a Windows app can sometimes change the Application User Model ID (AUMID) of the app. If this change happens, you must update the assigned access settings to launch the updated app, because assigned access uses the AUMID to determine which app to launch.
|
||||
- Apps that are generated using the [Desktop App Converter (Desktop Bridge)](/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter) can't be used as kiosk apps.
|
||||
|
||||
## Guidelines for Windows apps that launch other apps
|
||||
|
||||
Some apps can launch other apps. Assigned access prevents Windows apps from launching other apps.
|
||||
|
||||
Avoid selecting Windows apps that are designed to launch other apps as part of their core functionality.
|
||||
|
||||
## Guidelines for web browsers
|
||||
|
||||
Microsoft Edge includes support for kiosk mode. [Learn how to deploy Microsoft Edge kiosk mode.](/microsoft-edge/deploy/microsoft-edge-kiosk-mode-deploy)
|
||||
|
||||
In Windows client, you can install the **Kiosk Browser** app from Microsoft to use as your kiosk app. For digital signage scenarios, you can configure **Kiosk Browser** to navigate to a URL and show only that content -- no navigation buttons, no address bar, etc. For kiosk scenarios, you can configure more settings, such as allowed and blocked URLs, navigation buttons, and end session buttons. For example, you could configure your kiosk to show the online catalog for your store, where customers can navigate between departments and items, but aren't allowed to go to a competitor's website.
|
||||
|
||||
>[!NOTE]
|
||||
>Kiosk Browser supports a single tab. If a website has links that open a new tab, those links will not work with Kiosk Browser. Kiosk Browser does not support .pdfs.
|
||||
>
|
||||
>Kiosk Browser can't access intranet websites.
|
||||
|
||||
**Kiosk Browser** must be downloaded for offline licensing using Microsoft Store For Business. You can deploy **Kiosk Browser** to devices running Windows 10, version 1803 (Pro, Business, Enterprise, and Education) and Windows 11.
|
||||
|
||||
1. [Get **Kiosk Browser** in Microsoft Store for Business with offline license type.](/microsoft-store/acquire-apps-microsoft-store-for-business#acquire-apps)
|
||||
1. [Deploy **Kiosk Browser** to kiosk devices.](/microsoft-store/distribute-offline-apps)
|
||||
1. Configure policies using settings from the Policy Configuration Service Provider (CSP) for [KioskBrowser](/windows/client-management/mdm/policy-csp-kioskbrowser). These settings can be configured using your MDM service provider, or [in a provisioning package](../provisioning-packages/provisioning-create-package.md). In Windows Configuration Designer, the settings are located in **Policies > KioskBrowser** when you select advanced provisioning for Windows desktop editions.
|
||||
|
||||
>[!NOTE]
|
||||
>If you configure the kiosk using a provisioning package, you must apply the provisioning package after the device completes the out-of-box experience (OOBE).
|
||||
|
||||
### Kiosk Browser settings
|
||||
|
||||
| Kiosk Browser settings | Use this setting to |
|
||||
|--|--|
|
||||
| Blocked URL Exceptions | Specify URLs that people can navigate to, even though the URL is in your blocked URL list. You can use wildcards. <br><br>For example, if you want people to be limited to `http://contoso.com` only, you would add `.contoso.com` to blocked URL exception list and then block all other URLs. |
|
||||
| Blocked URLs | Specify URLs that people can't navigate to. You can use wildcards. <br><br>If you want to limit people to a specific site, add `https://*` to the blocked URL list, and then specify the site to be allowed in the blocked URL exceptions list. |
|
||||
| Default URL | Specify the URL that Kiosk Browser will open with. **Tip!** Make sure your blocked URLs don't include your default URL. |
|
||||
| Enable End Session Button | Show a button in Kiosk Browser that people can use to reset the browser. End Session will clear all browsing data and navigate back to the default URL. |
|
||||
| Enable Home Button | Show a Home button in Kiosk Browser. Home will return the browser to the default URL. |
|
||||
| Enable Navigation Buttons | Show forward and back buttons in Kiosk Browser. |
|
||||
| Restart on Idle Time | Specify when Kiosk Browser should restart in a fresh state after an amount of idle time since the last user interaction. |
|
||||
|
||||
To configure multiple URLs for **Blocked URL Exceptions** or **Blocked URLs** in Windows Configuration Designer:
|
||||
|
||||
1. Create the provisioning package. When ready to export, close the project in Windows Configuration Designer
|
||||
1. Open the customizations.xml file in the project folder (e.g C:\Users\name\Documents\Windows Imaging and Configuration Designer (WICD)\Project_18)
|
||||
1. Insert the null character string in between each URL (e.g www.bing.com``www.contoso.com)
|
||||
1. Save the XML file
|
||||
1. Open the project again in Windows Configuration Designer
|
||||
1. Export the package. Ensure you do not revisit the created policies under Kiosk Browser or else the null character will be removed
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> To enable the **End Session** button for Kiosk Browser in Intune, you must [create a custom OMA-URI policy](/intune/custom-settings-windows-10) with the following information:
|
||||
>
|
||||
> - OMA-URI: ./Vendor/MSFT/Policy/Config/KioskBrowser/EnableEndSessionButton
|
||||
> - Data type: Integer
|
||||
> - Value: 1
|
||||
|
||||
#### Rules for URLs in Kiosk Browser settings
|
||||
|
||||
Kiosk Browser filtering rules are based on the [Chromium Project](https://www.chromium.org/Home).
|
||||
|
||||
URLs can include:
|
||||
|
||||
- A valid port value from 1 to 65,535.
|
||||
- The path to the resource.
|
||||
- Query parameters.
|
||||
|
||||
More guidelines for URLs:
|
||||
|
||||
- If a period precedes the host, the policy filters exact host matches only
|
||||
- You can't use user:pass fields
|
||||
- When both blocked URL and blocked URL exceptions apply with the same path length, the exception takes precedence
|
||||
- The policy searches wildcards (*) last
|
||||
- The optional query is a set of key-value and key-only tokens delimited by '&'
|
||||
- Key-value tokens are separated by '='
|
||||
- A query token can optionally end with a '*' to indicate prefix match. Token order is ignored during matching
|
||||
|
||||
### Examples of blocked URLs and exceptions
|
||||
|
||||
The following table describes the results for different combinations of blocked URLs and blocked URL exceptions.
|
||||
|
||||
| Blocked URL rule | Block URL exception rule | Result |
|
||||
|--|--|--|
|
||||
| `*` | `contoso.com`<br>`fabrikam.com` | All requests are blocked unless it's to contoso.com, fabrikam.com, or any of their subdomains. |
|
||||
| `contoso.com` | `mail.contoso.com`<br>`.contoso.com`<br>`.www.contoso.com` | Block all requests to contoso.com, except for the main page and its mail subdomain. |
|
||||
| `youtube.com` | `youtube.com/watch?v=v1`<br>`youtube.com/watch?v=v2` | Blocks all access to youtube.com except for the specified videos (v1 and v2). |
|
||||
|
||||
The following table gives examples for blocked URLs.
|
||||
|
||||
| Entry | Result |
|
||||
|--|--|
|
||||
| `contoso.com` | Blocks all requests to contoso.com, www.contoso.com, and sub.www.contoso.com |
|
||||
| `https://*` | Blocks all HTTPS requests to any domain. |
|
||||
| `mail.contoso.com` | Blocks requests to mail.contoso.com but not to www.contoso.com or contoso.com |
|
||||
| `.contoso.com` | Blocks contoso.com but not its subdomains, like subdomain.contoso.com. |
|
||||
| `.www.contoso.com` | Blocks www.contoso.com but not its subdomains. |
|
||||
| `*` | Blocks all requests except for URLs in the Blocked URL Exceptions list. |
|
||||
| `*:8080` | Blocks all requests to port 8080. |
|
||||
| `contoso.com/stuff` | Blocks all requests to contoso.com/stuff and its subdomains. |
|
||||
| `192.168.1.2` | Blocks requests to 192.168.1.1. |
|
||||
| `youtube.com/watch?v=V1` | Blocks YouTube video with id V1. |
|
||||
|
||||
### Other browsers
|
||||
|
||||
You can create your own web browser Windows app by using the WebView class. Learn more about developing your own web browser app:
|
||||
|
||||
- [Creating your own browser with HTML and JavaScript](https://blogs.windows.com/msedgedev/2015/08/27/creating-your-own-browser-with-html-and-javascript/)
|
||||
- [WebView class](/uwp/api/Windows.UI.Xaml.Controls.WebView)
|
||||
- [A web browser built with JavaScript as a Windows app](https://github.com/MicrosoftEdge/JSBrowser/tree/v1.0)
|
||||
|
||||
## Secure your information
|
||||
|
||||
Avoid selecting Windows apps that may expose the information you don't want to show in your kiosk, since kiosk usually means anonymous access and locates in a public setting like a shopping mall. For example, an app that has a file picker allows the user to gain access to files and folders on the user's system, avoid selecting these types of apps if they provide unnecessary data access.
|
||||
|
||||
## App configuration
|
||||
|
||||
Some apps may require more configurations before they can be used appropriately in assigned access. For example, Microsoft OneNote requires you to set up a Microsoft account for the assigned access user account before OneNote will open in assigned access.
|
||||
|
||||
Check the guidelines published by your selected app and set up accordingly.
|
||||
|
||||
## Develop your kiosk app
|
||||
|
||||
Assigned access in Windows client uses the new lock framework. When an assigned access user signs in, the selected kiosk app is launched above the lock screen. The kiosk app is running as an above lock screen app.
|
||||
|
||||
Follow the [best practices guidance for developing a kiosk app for assigned access](/windows-hardware/drivers/partnerapps/create-a-kiosk-app-for-assigned-access).
|
||||
|
||||
## Test your assigned access experience
|
||||
|
||||
The above guidelines may help you select or develop an appropriate Windows app for your assigned access experience. Once you've selected your app, we recommend that you thoroughly test the assigned access experience to ensure that your device provides a good customer experience.
|
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 35 KiB |
@ -1,22 +0,0 @@
|
||||
---
|
||||
title: More kiosk methods and reference information
|
||||
description: Find more information for configuring, validating, and troubleshooting kiosk configuration.
|
||||
ms.topic: reference
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# More kiosk methods and reference information
|
||||
|
||||
## In this section
|
||||
|
||||
| Topic | Description |
|
||||
|--|--|
|
||||
| [Find the Application User Model ID of an installed app](find-the-application-user-model-id-of-an-installed-app.md) | This topic explains how to get the AUMID for an app. |
|
||||
| [Validate your kiosk configuration](kiosk-validate.md) | This topic explains what to expect on a multi-app kiosk. |
|
||||
| [Guidelines for choosing an app for assigned access (kiosk mode)](guidelines-for-assigned-access-app.md) | These guidelines will help you choose an appropriate Windows app for your assigned access experience. |
|
||||
| [Policies enforced on kiosk devices](kiosk-policies.md) | Learn about the policies enforced on a device when you configure it as a kiosk. |
|
||||
| [Assigned access XML reference](kiosk-xml.md) | The XML and XSD for kiosk device configuration. |
|
||||
| [Use AppLocker to create a Windows client kiosk](lock-down-windows-10-applocker.md) | Learn how to use AppLocker to configure a Windows client kiosk device running Enterprise or Education so that users can only run a few specific apps. |
|
||||
| [Use Shell Launcher to create a Windows client kiosk](kiosk-shelllauncher.md) | Using Shell Launcher, you can configure a kiosk device that runs a Windows application as the user interface. |
|
||||
| [Use MDM Bridge WMI Provider to create a Windows client kiosk](kiosk-mdm-bridge.md) | Environments that use Windows Management Instrumentation (WMI) can use the MDM Bridge WMI Provider to configure the MDM_AssignedAccess class. |
|
||||
| [Troubleshoot kiosk mode issues](/troubleshoot/windows-client/shell-experience/kiosk-mode-issues-troubleshooting) | Tips for troubleshooting multi-app kiosk configuration. |
|
@ -1,143 +0,0 @@
|
||||
---
|
||||
title: Use MDM Bridge WMI Provider to create a Windows kiosk
|
||||
description: Environments that use Windows Management Instrumentation (WMI) can use the MDM Bridge WMI Provider to configure the MDM_AssignedAccess class.
|
||||
ms.topic: article
|
||||
ms.date: 1/26/2024
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
appliesto:
|
||||
---
|
||||
|
||||
# Use MDM Bridge WMI Provider to create a Windows client kiosk
|
||||
|
||||
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. For more information about using a PowerShell script to configure AssignedAccess, see [PowerShell Scripting with WMI Bridge Provider](/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider).
|
||||
|
||||
Here's an example to set AssignedAccess configuration:
|
||||
|
||||
1. [Download PsTools][PSTools]
|
||||
1. Open an elevated command prompt and run: `psexec.exe -i -s powershell.exe`
|
||||
1. In the PowerShell session launched by `psexec.exe`, execute the following script:
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
```PowerShell
|
||||
$nameSpaceName="root\cimv2\mdm\dmmap"
|
||||
$className="MDM_AssignedAccess"
|
||||
$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
|
||||
Add-Type -AssemblyName System.Web
|
||||
|
||||
$obj.Configuration = [System.Web.HttpUtility]::HtmlEncode(@"
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config">
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App 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" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Group1">
|
||||
<start:Tile Size="4x4" Column="0" Row="0" AppUserModelID="Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" />
|
||||
<start: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>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
"@)
|
||||
|
||||
Set-CimInstance -CimInstance $obj
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
```PowerShell
|
||||
$nameSpaceName="root\cimv2\mdm\dmmap"
|
||||
$className="MDM_AssignedAccess"
|
||||
$obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
|
||||
Add-Type -AssemblyName System.Web
|
||||
|
||||
$obj.Configuration = [System.Web.HttpUtility]::HtmlEncode(@"
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:win11="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>
|
||||
<win11: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"}
|
||||
] }
|
||||
]]>
|
||||
</win11:StartPins>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
"@)
|
||||
|
||||
Set-CimInstance -CimInstance $obj
|
||||
```
|
||||
|
||||
::: zone-end
|
||||
|
||||
For more information, see [Using PowerShell scripting with the WMI Bridge Provider][WIN-1].
|
||||
|
||||
<!--links-->
|
||||
|
||||
[WIN-1]: /windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider
|
||||
[PsTools]: https://download.sysinternals.com/files/PSTools.zip
|
@ -1,76 +0,0 @@
|
||||
---
|
||||
title: Configure kiosks and digital signs on Windows 10/11 desktop editions
|
||||
description: In this article, learn about the methods for configuring kiosks and digital signs on Windows 10 or Windows 11 desktop editions.
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Configure kiosks and digital signs on Windows desktop editions
|
||||
|
||||
Organization may want to set up special purpose devices, such as a device in the lobby that customers can use to view product catalogs, or a device displaying visual content as a digital sign. Windows client offers two different locked-down experiences for public or specialized use:
|
||||
|
||||
- Single-app kiosk: runs a single Universal Windows Platform (UWP) application in full screen above the lock screen. People using the kiosk can see only that app. When the kiosk account (a local standard user account) signs in, the kiosk app launches automatically. If the kiosk app is closed, it will automatically restart
|
||||
- Multi-app kiosk: runs one or more applications from the desktop. People using the kiosk see a customized Start menu that shows only the apps that are allowed to execute. With this approach, you can configure a locked-down experience for different account types
|
||||
|
||||
A single-app kiosk is ideal for public use. Using [Shell Launcher](kiosk-shelllauncher.md), you can configure a kiosk device that runs a Windows desktop application as the user interface. The application that you specify replaces the default shell (explorer.exe) that usually runs when a user signs in. This type of single-app kiosk doesn't run above the lock screen.
|
||||
|
||||
A multi-app kiosk is appropriate for devices that are shared by multiple people. When you configure a multi-app kiosk, [specific policies are enforced](kiosk-policies.md) that affects **all** non-administrator users on the device.
|
||||
|
||||
Kiosk configurations are based on **Assigned Access**, a feature in Windows client that allows an administrator to manage the user's experience by limiting the application entry points exposed to the user.
|
||||
|
||||
There are several kiosk configuration methods that you can choose from, depending on your answers to the following questions.
|
||||
|
||||
- **Which type of app will your kiosk run?**
|
||||
Your kiosk can run a Universal Windows Platform (UWP) app or a Windows desktop application. For [digital signage](setup-digital-signage.md), select a digital sign player as your kiosk app. [Check out the guidelines for kiosk apps.](guidelines-for-assigned-access-app.md)
|
||||
- **Which type of kiosk do you need?**
|
||||
If you want your kiosk to run a single app for anyone to see or use, consider a single-app kiosk that runs either a [Universal Windows Platform (UWP) app](#methods-for-a-single-app-kiosk-running-a-uwp-app) or a Windows desktop application. For a kiosk that people can sign in to with their accounts or that runs more than one app, choose a multi-app kiosk
|
||||
- **Which edition of Windows client will the kiosk run?**
|
||||
All of the configuration methods work for Windows client Enterprise and Education; some of the methods work for Windows Pro. Kiosk mode isn't available on Windows Home
|
||||
- **Which type of user account will be the kiosk account?**
|
||||
The kiosk account can be a local standard user account, a local administrator account, a domain account, or a Microsoft Entra account, depending on the method that you use to configure the kiosk. If you want people to sign in and authenticate on the device, you should use a multi-app kiosk configuration. The single-app kiosk configuration doesn't require people to sign in to the device, although they can sign in to the kiosk app if you select an app that has a sign-in method
|
||||
|
||||
>[!IMPORTANT]
|
||||
>Single-app kiosk mode isn't supported over a remote desktop connection. Your kiosk users must sign in on the physical device that is set up as a kiosk.
|
||||
|
||||
[!INCLUDE [assigned-access-kiosk-mode](../../../includes/licensing/assigned-access-kiosk-mode.md)]
|
||||
|
||||
## Methods for a single-app kiosk running a UWP app
|
||||
|
||||
| You can use this method | For this edition | For this kiosk account type |
|
||||
|--|--|--|
|
||||
| [Assigned access in Settings](kiosk-single-app.md) | Pro, Ent, Edu | Local standard user |
|
||||
| [Assigned access cmdlets](kiosk-single-app.md) | Pro, Ent, Edu | Local standard user |
|
||||
| [The kiosk wizard in Windows Configuration Designer](kiosk-single-app.md) | Pro (version 1709), Ent, Edu | Local standard user, Active Directory, Microsoft Entra ID |
|
||||
| [Microsoft Intune or other mobile device management (MDM)](kiosk-single-app.md) | Pro (version 1709), Ent, Edu | Local standard user, Microsoft Entra ID |
|
||||
| [Shell Launcher](kiosk-shelllauncher.md) v2 | Ent, Edu | Local standard user, Active Directory, Microsoft Entra ID |
|
||||
|
||||
## Methods for a single-app kiosk running a Windows desktop application
|
||||
|
||||
| You can use this method | For this edition | For this kiosk account type |
|
||||
|--|--|--|
|
||||
| [The kiosk wizard in Windows Configuration Designer](kiosk-single-app.md) | Ent, Edu | Local standard user, Active Directory, Microsoft Entra ID |
|
||||
| [Microsoft Intune or other mobile device management (MDM)](kiosk-single-app.md) | Pro (version 1709), Ent, Edu | Local standard user, Microsoft Entra ID |
|
||||
| [Shell Launcher](kiosk-shelllauncher.md) v1 and v2 | Ent, Edu | Local standard user, Active Directory, Microsoft Entra ID |
|
||||
|
||||
## Methods for a multi-app kiosk
|
||||
|
||||
| You can use this method | For this edition | For this kiosk account type |
|
||||
|--|--|--|
|
||||
| [XML in a provisioning package](lock-down-windows-10-to-specific-apps.md) | Pro, Ent, Edu | Local standard user, Active Directory, Microsoft Entra ID |
|
||||
| [Microsoft Intune or other MDM](lock-down-windows-10-to-specific-apps.md) | Pro, Ent, Edu | Local standard user, Microsoft Entra ID |
|
||||
| [MDM WMI Bridge Provider](kiosk-mdm-bridge.md) | Pro, Ent, Edu | Local standard user, Active Directory, Microsoft Entra ID |
|
||||
|
||||
## Summary of kiosk configuration methods
|
||||
|
||||
| Method | App type | Account type | Single-app kiosk | Multi-app kiosk |
|
||||
|--|--|--|:-:|:-:|
|
||||
| [Assigned access in Settings](kiosk-single-app.md) | UWP | Local account | ✅ |
|
||||
| [Assigned access cmdlets](kiosk-single-app.md) | UWP | Local account | ✅ |
|
||||
| [The kiosk wizard in Windows Configuration Designer](kiosk-single-app.md) | UWP, Windows desktop app | Local standard user, Active Directory, Microsoft Entra ID | ✅ |
|
||||
| [XML in a provisioning package](lock-down-windows-10-to-specific-apps.md) | UWP, Windows desktop app | Local standard user, Active Directory, Microsoft Entra ID | ✅ | ✅ |
|
||||
| Microsoft Intune or other MDM [for full-screen single-app kiosk](kiosk-single-app.md) or [for multi-app kiosk with desktop](lock-down-windows-10-to-specific-apps.md) | UWP, Windows desktop app | Local standard user, Microsoft Entra ID | ✅ | ✅ |
|
||||
| [Shell Launcher](kiosk-shelllauncher.md) | Windows desktop app | Local standard user, Active Directory, Microsoft Entra ID | ✅ |
|
||||
| [MDM Bridge WMI Provider](kiosk-mdm-bridge.md) | UWP, Windows desktop app | Local standard user, Active Directory, Microsoft Entra ID | | ✅ |
|
||||
|
||||
>[!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.
|
@ -1,98 +0,0 @@
|
||||
---
|
||||
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
|
||||
---
|
||||
|
||||
# Policies enforced on kiosk devices
|
||||
|
||||
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 kiosk configuration is applied on the device, certain policies are enforced system-wide, and will impact 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. 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]
|
||||
>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 (that is, system-wide impact).
|
||||
|
||||
| Setting | Value | System-wide |
|
||||
|--|--|--|
|
||||
| [Experience/AllowCortana](/windows/client-management/mdm/policy-csp-experience#experience-allowcortana) | 0 - Not allowed | 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/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 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
|
||||
|
||||
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
|
||||
|
||||
-->
|
@ -1,286 +0,0 @@
|
||||
---
|
||||
title: Prepare a device for kiosk configuration on Windows 10/11 | Microsoft Docs
|
||||
description: Learn how to prepare a device for kiosk configuration. Also, learn about the recommended kiosk configuration changes.
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Prepare a device for kiosk configuration
|
||||
|
||||
## Before you begin
|
||||
|
||||
- [User account control (UAC)](/windows/security/identity-protection/user-account-control/user-account-control-overview) must be turned on to enable kiosk mode.
|
||||
- Kiosk mode isn't supported over a remote desktop connection. Your kiosk users must sign in on the physical device that's set up as a kiosk.
|
||||
- For kiosks in public-facing environments with auto sign-in enabled, you should use a user account with the least privileges, such as a local standard user account.
|
||||
|
||||
Assigned access can be configured using Windows Management Instrumentation (WMI) or configuration service provider (CSP). Assigned access runs an application using a domain user or service account, not a local account. Using a domain user or service accounts has risks, and might allow an attacker to gain access to domain resources that are accessible to any domain account. When using domain accounts with assigned access, proceed with caution. Consider the domain resources potentially exposed by using a domain account.
|
||||
|
||||
- MDM providers, such as [Microsoft Intune](/mem/intune/fundamentals/what-is-intune), use the configuration service providers (CSP) exposed by the Windows OS to manage settings on devices. In this article, we mention these services. If you're not managing your devices using an MDM provider, the following resources may help you get started:
|
||||
|
||||
- [Endpoint Management at Microsoft](/mem/endpoint-manager-getting-started)
|
||||
- [What is Microsoft Intune](/mem/intune/fundamentals/what-is-intune) and [Microsoft Intune planning guide](/mem/intune/fundamentals/intune-planning-guide)
|
||||
- [What is Configuration Manager?](/mem/configmgr/core/understand/introduction)
|
||||
|
||||
## Configuration recommendations
|
||||
|
||||
For a more secure kiosk experience, we recommend that you make the following configuration changes to the device before you configure it as a kiosk:
|
||||
|
||||
- **Hide update notifications**. Starting with Windows 10 version 1809, you can hide notifications from showing on the devices. To enable this feature, you have the following options:
|
||||
|
||||
- **Use Group policy**: `Computer Configuration\Administrative Templates\Windows Components\Windows Update\Display options for update notifications`
|
||||
- **Use an MDM provider**: This feature uses the [Update/UpdateNotificationLevel CSP](/windows/client-management/mdm/policy-csp-update#update-updatenotificationlevel). In Intune, you can use the [Windows update settings](/mem/intune/protect/windows-update-settings) to manage this feature.
|
||||
|
||||
- **Use the registry**:
|
||||
|
||||
1. Open Registry Editor (regedit).
|
||||
1. Go to `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate`.
|
||||
1. Create a **New** > **DWORD (32-bit) Value**. Enter `SetUpdateNotificationLevel`, and set its value to `1`.
|
||||
1. Create a **New** > **DWORD (32-bit) Value**. Enter `UpdateNotificationLevel`. For value, you can enter:
|
||||
- `1`: Hides all notifications except restart warnings.
|
||||
- `2`: Hides all notifications, including restart warnings.
|
||||
|
||||
- **Enable and schedule automatic updates**. To enable this feature, you have the following options:
|
||||
|
||||
- **Use Group policy**: `Computer Configuration\Administrative Templates\Windows Components\Windows Update\Configure Automatic Updates`. Select `4 - Auto download and schedule the install`.
|
||||
- **Use an MDM provider**: This feature uses the [Update/AllowAutoUpdate CSP](/windows/client-management/mdm/policy-csp-update#update-allowautoupdate). Select `3 - Auto install and restart at a specified time`. In Intune, you can use the [Windows update settings](/mem/intune/protect/windows-update-settings) to manage this feature.
|
||||
|
||||
You can also schedule automatic updates, including **Schedule Install Day**, **Schedule Install Time**, and **Schedule Install Week**. Installations can take between 30 minutes and 2 hours, depending on the device. Schedule updates to occur when a block of 3-4 hours is available.
|
||||
|
||||
- **Enable automatic restart at the scheduled time**. To enable this feature, you have the following options:
|
||||
|
||||
- **Use Group policy**: `Computer Configuration\Administrative Templates\Windows Components\Windows Update\Always automatically restart at the scheduled time`. Select `4 - Auto download and schedule the install`.
|
||||
|
||||
- **Use an MDM provider**: This feature uses the [Update/ActiveHoursStart](/windows/client-management/mdm/policy-csp-update#update-activehoursstart) and [Update/ActiveHoursEnd](/windows/client-management/mdm/policy-csp-update#update-activehoursend) CSPs. In Intune, you can use the [Windows update settings](/mem/intune/protect/windows-update-settings) to manage this feature.
|
||||
|
||||
- **Replace "blue screen" with blank screen for OS errors**. To enable this feature, use the Registry Editor:
|
||||
|
||||
1. Open Registry Editor (regedit).
|
||||
1. Go to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl`.
|
||||
1. Create a **New** > **DWORD (32-bit) Value**. Enter `DisplayDisabled`, and set its value to `1`.
|
||||
|
||||
- **Put device in "Tablet mode"**. If you want users to use the touch screen, without using a keyboard or mouse, then turn on tablet mode using the Settings app. If users won't interact with the kiosk, such as for a digital sign, then don't turn on this setting.
|
||||
|
||||
Applies to Windows 10 only. Currently, Tablet mode isn't supported on Windows 11.
|
||||
|
||||
Your options:
|
||||
|
||||
- Use the **Settings** app:
|
||||
1. Open the **Settings** app.
|
||||
1. Go to **System** > **Tablet mode**.
|
||||
1. Configure the settings you want.
|
||||
|
||||
- Use the **Action Center**:
|
||||
1. On your device, swipe in from the left.
|
||||
1. Select **Tablet mode**.
|
||||
|
||||
- **Hide "Ease of access" feature on the sign-in screen**: To enable this feature, you have the following options:
|
||||
|
||||
- **Use an MDM provider**: In Intune, you can use the [Control Panel and Settings](/mem/intune/configuration/device-restrictions-windows-10#control-panel-and-settings) to manage this feature.
|
||||
- **Use the registry**: For more information, see [how to disable the Ease of Access button in the registry](/windows-hardware/customize/enterprise/complementary-features-to-custom-logon#welcome-screen).
|
||||
|
||||
- **Disable the hardware power button**: To enable this feature, you have the following options:
|
||||
|
||||
- **Use the Settings app**:
|
||||
1. Open the **Settings** app.
|
||||
1. Go to **System** > **Power & Sleep** > **Additional power settings** > **Choose what the power button does**.
|
||||
1. Select **Do nothing**.
|
||||
1. **Save changes**.
|
||||
|
||||
- **Use Group Policy**: Your options:
|
||||
|
||||
- `Computer Configuration\Administrative Templates\System\Power Management\Button Settings`: Set `Select Power Button Action on Battery` and `Select Power Button Action on Plugged In` to **Take no action**.
|
||||
- `User Configuration\Administrative Templates\Start Menu and Taskbar\Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands`: This policy hides the buttons, but doesn't disable them.
|
||||
- `Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Shut down the system`: Remove the users or groups from this policy.
|
||||
|
||||
To prevent this policy from affecting a member of the Administrators group, be sure to keep the Administrators group.
|
||||
|
||||
- **Use an MDM provider**: In Intune, you have some options:
|
||||
|
||||
- [Settings Catalog](/mem/intune/configuration/settings-catalog): This option lists all the settings you can configure, including the administrative templates used in on-premises Group Policy. Configure the following settings:
|
||||
|
||||
- `Power\Select Power Button Action on Battery`: Set to **Take no action**.
|
||||
- `Power\Select Power Button Action on Plugged In`: Set to **Take no action**.
|
||||
- `Start\Hide Power Button`: Set to **Enabled**. This policy hides the button, but doesn't disable it.
|
||||
|
||||
- [Administrative templates](/mem/intune/configuration/administrative-templates-windows): These templates are the administrative templates used in on-premises Group Policy. Configure the following setting:
|
||||
|
||||
- `\Start menu and Taskbar\Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands`: This policy hides the buttons, but doesn't disable them.
|
||||
|
||||
When looking at settings, check the supported OS for each setting to make sure it applies.
|
||||
|
||||
- [Start settings in a device configuration profile](/mem/intune/configuration/device-restrictions-windows-10#start): This option shows this setting, and all the Start menu settings you can manage.
|
||||
|
||||
- **Remove the power button from the sign-in screen**. To enable this feature, you have the following options:
|
||||
|
||||
- **Use Group Policy**: `Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Shutdown: Allow system to be shut down without having to log on`. Select **Disabled**.
|
||||
|
||||
- **Use MDM**: In Intune, you have the following option:
|
||||
|
||||
- [Settings Catalog](/mem/intune/configuration/settings-catalog): This option lists all the settings you can configure, including the administrative templates used in on-premises Group Policy. Configure the following setting:
|
||||
|
||||
- `Local Policies Security Options\Shutdown Allow System To Be Shut Down Without Having To Log On`: Set to **Disabled**.
|
||||
|
||||
- **Disable the camera**: To enable this feature, you have the following options:
|
||||
|
||||
- **Use the Settings app**:
|
||||
|
||||
1. Open the **Settings** app.
|
||||
1. Go to **Privacy** > **Camera**.
|
||||
1. Select **Allow apps use my camera** > **Off**.
|
||||
|
||||
- **Use Group Policy**: `Computer Configuration\Administrative Templates\Windows Components\Camera: Allow use of camera`: Select **Disabled**.
|
||||
|
||||
- **Use an MDM provider**: This feature uses the [Policy CSP - Camera](/windows/client-management/mdm/policy-csp-camera). In Intune, you have the following options:
|
||||
|
||||
- [General settings in a device configuration profile](/mem/intune/configuration/device-restrictions-windows-10#general): This option shows this setting, and more settings you can manage.
|
||||
- [Settings Catalog](/mem/intune/configuration/settings-catalog): This option lists all the settings you can configure, including the administrative templates used in on-premises Group Policy. Configure the following setting:
|
||||
|
||||
- `Camera\Allow camera`: Set to **Not allowed**.
|
||||
|
||||
- **Turn off app notifications on the lock screen**: To enable this feature, you have the following options:
|
||||
|
||||
- **Use the Settings app**:
|
||||
|
||||
1. Open the **Settings** app.
|
||||
1. Go to **System** > **Notifications & actions**.
|
||||
1. In **Show notifications on the lock screen**, select **Off**.
|
||||
|
||||
- **Use Group policy**:
|
||||
- `Computer Configuration\Administrative Templates\System\Logon\Turn off app notifications on the lock screen`: Select **Enabled**.
|
||||
- `User Configuration\Administrative Templates\Start Menu and Taskbar\Notifications\Turn off toast notifications on the lock screen`: Select **Enabled**.
|
||||
|
||||
- **Use an MDM provider**: This feature uses the [AboveLock/AllowToasts CSP](/windows/client-management/mdm/policy-csp-abovelock#abovelock-allowtoasts). In Intune, you have the following options:
|
||||
|
||||
- [Locked screen experience device configuration profile](/mem/intune/configuration/device-restrictions-windows-10#locked-screen-experience): See this setting, and more settings you can manage.
|
||||
|
||||
- [Administrative templates](/mem/intune/configuration/administrative-templates-windows): These templates are the administrative templates used in on-premises Group Policy. Configure the following settings:
|
||||
|
||||
- `\Start Menu and Taskbar\Notifications\Turn off toast notifications on the lock screen`: Select **Enabled**.
|
||||
- `\System\Logon\Turn off app notifications on the lock screen`: Select **Enabled**.
|
||||
|
||||
When looking at settings, check the supported OS for each setting to make sure it applies.
|
||||
|
||||
- [Settings Catalog](/mem/intune/configuration/settings-catalog): This option lists all the settings you can configure, including the administrative templates used in on-premises Group Policy. Configure the following settings:
|
||||
|
||||
- `\Start Menu and Taskbar\Notifications\Turn off toast notifications on the lock screen`: Select **Enabled**.
|
||||
- `\System\Logon\Turn off app notifications on the lock screen`: Select **Enabled**.
|
||||
|
||||
- **Disable removable media**: To enable this feature, you have the following options:
|
||||
- **Use Group policy**: `Computer Configuration\Administrative Templates\System\Device Installation\Device Installation Restrictions`. Review the available settings that apply to your situation.
|
||||
To prevent this policy from affecting a member of the Administrators group, select `Allow administrators to override Device Installation Restriction policies` > **Enabled**.
|
||||
- **Use an MDM provider**: In Intune, you have the following options:
|
||||
- [General settings in a device configuration profile](/mem/intune/configuration/device-restrictions-windows-10#general): See the **Removable storage** setting, and more settings you can manage.
|
||||
- [Administrative templates](/mem/intune/configuration/administrative-templates-windows): These templates are the administrative templates used in on-premises Group Policy. Configure the following settings:
|
||||
- `\System\Device Installation`: There are several policies you can manage, including restrictions in `\System\Device Installation\Device Installation Restrictions`.
|
||||
To prevent this policy from affecting a member of the Administrators group, select `Allow administrators to override Device Installation Restriction policies` > **Enabled**.
|
||||
When looking at settings, check the supported OS for each setting to make sure it applies.
|
||||
- [Settings Catalog](/mem/intune/configuration/settings-catalog): This option lists all the settings you can configure, including the administrative templates used in on-premises Group Policy. Configure the following settings:
|
||||
- `\Administrative Templates\System\Device Installation`: There are several policies you can manage, including restrictions in `\System\Device Installation\Device Installation Restrictions`.
|
||||
To prevent this policy from affecting a member of the Administrators group, select `Allow administrators to override Device Installation Restriction policies` > **Enabled**.
|
||||
|
||||
## Enable logging
|
||||
|
||||
Logs can help you [troubleshoot issues](/troubleshoot/windows-client/shell-experience/kiosk-mode-issues-troubleshooting) kiosk issues. Logs about configuration and runtime issues can be obtained by enabling the **Applications and Services Logs\Microsoft\Windows\AssignedAccess\Operational** channel, which is disabled by default.
|
||||
|
||||
:::image type="content" source="images/enable-assigned-access-log.png" alt-text="On Windows client, open Event Viewer, right-click Operational, select enable log to turn on logging to help troubleshoot.":::
|
||||
|
||||
## Automatic logon
|
||||
|
||||
You may also want to set up **automatic logon** for your kiosk device. When your kiosk device restarts, from an update or power outage, you can sign in the assigned access account manually. Or, you can configure the device to sign in to the assigned access account automatically. Make sure that Group Policy settings applied to the device don't prevent automatic sign in.
|
||||
|
||||
> [!NOTE]
|
||||
> If you are using a Windows client device restriction CSP to set "Preferred Microsoft Entra tenant domain", this will break the "User logon type" auto-login feature of the Kiosk profile.
|
||||
|
||||
> [!TIP]
|
||||
> If you use the [kiosk wizard in Windows Configuration Designer](kiosk-single-app.md) or [XML in a provisioning package](lock-down-windows-10-to-specific-apps.md) to configure your kiosk, you can set an account to sign in automatically in the wizard or XML.
|
||||
|
||||
How to edit the registry to have an account sign in automatically:
|
||||
|
||||
1. Open Registry Editor (regedit.exe).
|
||||
|
||||
> [!NOTE]
|
||||
> If you are not familiar with Registry Editor, [learn how to modify the Windows registry](/troubleshoot/windows-server/performance/windows-registry-advanced-users).
|
||||
|
||||
1. Go to
|
||||
|
||||
**HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon**
|
||||
|
||||
1. Set the values for the following keys.
|
||||
|
||||
- *AutoAdminLogon*: set value as **1**.
|
||||
- *DefaultUserName*: set value as the account that you want signed in.
|
||||
- *DefaultPassword*: set value as the password for the account.
|
||||
|
||||
> [!NOTE]
|
||||
> If *DefaultUserName* and *DefaultPassword* aren't there, add them as **New** > **String Value**.
|
||||
|
||||
- *DefaultDomainName*: set value for domain, only for domain accounts. For local accounts, don't add this key.
|
||||
|
||||
1. Close Registry Editor. The next time the computer restarts, the account will sign in automatically.
|
||||
|
||||
> [!TIP]
|
||||
> You can also configure automatic sign-in [using the Autologon tool from Sysinternals](/sysinternals/downloads/autologon).
|
||||
|
||||
> [!NOTE]
|
||||
> If you are also using [Custom Logon](/windows-hardware/customize/enterprise/custom-logon) with **HideAutoLogonUI** enabled, you might experience a black screen after a password expires. We recommend that you consider [setting the password to never expire](/windows-hardware/customize/enterprise/troubleshooting-custom-logon#the-device-displays-a-black-screen-when-a-password-expiration-screen-is-displayed).
|
||||
|
||||
## Interactions and interoperability
|
||||
|
||||
The following table describes some features that have interoperability issues we recommend that you consider when running assigned access.
|
||||
|
||||
- **Accessibility**: Assigned access doesn't change Ease of Access settings. We recommend that you use [Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter) to block the following key combinations that bring up accessibility features:
|
||||
|
||||
| Key combination | Blocked behavior |
|
||||
| --- | --- |
|
||||
| Left Alt + Left Shift + Print Screen | Open High Contrast dialog box. |
|
||||
| Left Alt + Left Shift + Num Lock | Open Mouse Keys dialog box. |
|
||||
| Windows logo key + U | Open Ease of Access Center. |
|
||||
|
||||
- **Assigned access Windows PowerShell cmdlets**: In addition to using the Windows UI, you can use the Windows PowerShell cmdlets to set or clear assigned access. For more information, see [Assigned access Windows PowerShell reference](/powershell/module/assignedaccess/)
|
||||
|
||||
- **Key sequences blocked by assigned access**: When in assigned access, some key combinations are blocked for assigned access users.
|
||||
|
||||
<kbd>Alt</kbd> + <kbd>F4</kbd>, <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd>, <kbd>Alt</kbd> + <kbd>Tab</kbd> aren't blocked by Assigned Access, it's recommended you use [Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter) to block these key combinations.
|
||||
|
||||
Ctrl + Alt + Delete is the key to break out of Assigned Access. If needed, you can use Keyboard Filter to configure a different key combination to break out of assigned access by setting BreakoutKeyScanCode as described in [WEKF_Settings](/windows-hardware/customize/enterprise/wekf-settings).
|
||||
|
||||
| Key combination | Blocked behavior for assigned access users |
|
||||
| --- | --- |
|
||||
| <kbd>Alt</kbd> + <kbd>Esc</kbd> | Cycle through items in the reverse order from which they were opened. |
|
||||
| <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Esc</kbd> | Cycle through items in the reverse order from which they were opened. |
|
||||
| <kbd>Ctrl</kbd> + <kbd>Esc</kbd> | Open the Start screen. |
|
||||
| <kbd>Ctrl</kbd> + <kbd>F4</kbd> | Close the window. |
|
||||
| <kbd>Ctrl</kbd> + <kbd>Shift</kbd + <kbd>Esc</kbd> | Open Task Manager. |
|
||||
| <kbd>Ctrl</kbd> + <kbd>Tab</kbd> | Switch windows within the application currently open. |
|
||||
| LaunchApp1 | Open the app that is assigned to this key. |
|
||||
| LaunchApp2 | Open the app that is assigned to this key. On many Microsoft keyboards, the app is Calculator. |
|
||||
| LaunchMail | Open the default mail client. |
|
||||
| Windows logo key | Open the Start screen. |
|
||||
|
||||
Keyboard Filter settings apply to other standard accounts.
|
||||
|
||||
- **Key sequences blocked by [Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter)**: If Keyboard Filter is turned ON, then some key combinations are blocked automatically without you having to explicitly block them. For more information, see the [Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter).
|
||||
[Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter) is only available on Windows client Enterprise or Education.
|
||||
- **Power button**: Customizations for the Power button complement assigned access, letting you implement features such as removing the power button from the Welcome screen. Removing the power button ensures the user can't turn off the device when it's in assigned access.
|
||||
For more information on removing the power button or disabling the physical power button, see [Custom Logon](/windows-hardware/customize/enterprise/custom-logon).
|
||||
- **Unified Write Filter (UWF)**: UWFsettings apply to all users, including users with assigned access.
|
||||
For more information, see [Unified Write Filter](/windows-hardware/customize/enterprise/unified-write-filter).
|
||||
- **WEDL_AssignedAccess class**: You can use this class to configure and manage basic lockdown features for assigned access. It's recommended to you use the Windows PowerShell cmdlets instead.
|
||||
If you need to use assigned access API, see [WEDL_AssignedAccess](/windows-hardware/customize/enterprise/wedl-assignedaccess).
|
||||
- **Welcome Screen**: Customizations for the Welcome screen let you personalize not only how the Welcome screen looks, but for how it functions. You can disable the power or language button, or remove all user interface elements. There are many options to make the Welcome screen your own.
|
||||
|
||||
For more information, see [Custom Logon](/windows-hardware/customize/enterprise/custom-logon).
|
||||
|
||||
## Testing your kiosk in a virtual machine (VM)
|
||||
|
||||
Customers sometimes use virtual machines (VMs) to test configurations before deploying those configurations to physical devices. If you use a VM to test your single-app kiosk configuration, you need to know how to connect to the VM properly.
|
||||
|
||||
A single-app kiosk configuration runs an app above the lock screen. It doesn't work when it's accessed remotely, which includes *enhanced* sessions in Hyper-V.
|
||||
|
||||
When you connect to a VM configured as a single-app kiosk, you need a *basic* session rather than an enhanced session. In the following image, notice that **Enhanced session** isn't selected in the **View** menu; that means it's a basic session.
|
||||
|
||||
:::image type="content" source="images/vm-kiosk.png" alt-text="Use a basic session to connect a virtual machine. In the View menu, Extended session isn't selected, which means basic is used.":::
|
||||
|
||||
To connect to a VM in a basic session, don't select **Connect** in the connection dialog, as shown in the following image, but instead, select the **X** button in the upper-right corner to cancel the dialog:
|
||||
|
||||
:::image type="content" source="images/vm-kiosk-connect.png" alt-text="Don't select the connect button. Use the close X in the top corner to connect to a VM in basic session.":::
|
@ -1,273 +0,0 @@
|
||||
---
|
||||
title: Use Shell Launcher to create a kiosk experience
|
||||
description: Learn how to configure Shell Launcher to change the default Windows shell when a user signs in to a device.
|
||||
ms.topic: how-to
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Use Shell Launcher to create a Windows client kiosk
|
||||
|
||||
Shell Launcher is a Windows feature that executes an application as the user interface, replacing the default Windows Explorer (`explorer.exe`).
|
||||
|
||||
>[!NOTE]
|
||||
>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.
|
||||
>
|
||||
>Methods of controlling access to other desktop applications and system components can be used in addition to using the Shell Launcher. These methods include, but are not limited to:
|
||||
>- [Group Policy](https://www.microsoft.com/download/details.aspx?id=25250) - example: Prevent access to registry editing tools
|
||||
>- [AppLocker](/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-overview) - Application control policies
|
||||
>- [Mobile Device Management](/windows/client-management/mdm) - Enterprise management of device security policies
|
||||
|
||||
You can apply a custom shell through Shell Launcher [by using PowerShell](#configure-a-custom-shell-using-powershell). Starting with Windows 10 version 1803+, you can also [use mobile device management (MDM)](#configure-a-custom-shell-in-mdm) to apply a custom shell through Shell Launcher.
|
||||
|
||||
Shell Launcher replaces `explorer.exe` with `customshellhost.exe`. This executable file can launch a Windows desktop application or a UWP app.
|
||||
|
||||
In addition to allowing you to use a UWP app for your replacement shell, Shell Launcher v2 offers additional enhancements:
|
||||
|
||||
- You can use a custom Windows desktop application that can then launch UWP apps, such as **Settings** and **Touch Keyboard**.
|
||||
- From a custom UWP shell, you can launch secondary views and run on multiple monitors.
|
||||
- The custom shell app runs in full screen, and can run other apps in full screen on user's demand.
|
||||
|
||||
For sample XML configurations for the different app combinations, see [Samples for Shell Launcher v2](https://github.com/Microsoft/Windows-iotcore-samples/tree/develop/Samples/ShellLauncherV2).
|
||||
|
||||
## Requirements
|
||||
|
||||
>[!WARNING]
|
||||
>
|
||||
>- Windows 10 doesn't support setting a custom shell prior to OOBE. If you do, you won't be able to 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 cannot 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. Because Shell Launcher is not aware of the newly created wordpad.exe process, Shell Launcher will take action based on the exit code of **Write.exe**, such as restarting the custom shell.
|
||||
|
||||
- A domain, Microsoft Entra ID, or local user account.
|
||||
- A Windows application that is installed for that account. The app can be your own company application or a common app like Internet Explorer.
|
||||
|
||||
[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.
|
||||
|
||||
### XML for Shell Launcher configuration
|
||||
|
||||
The following XML sample works for **Shell Launcher v1**:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration">
|
||||
<Profiles>
|
||||
<Profile ID="{24A7309204F3F-44CC-8375-53F13FE213F7}">
|
||||
<Shell Shell="%ProgramFiles%\Internet Explorer\iexplore.exe -k www.bing.com" />
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<!--local account-->
|
||||
<Account Name="ShellLauncherUser"/>
|
||||
<Profile ID="{24A7309204F3F-44CC-8375-53F13FE213F7}"/>
|
||||
</Configs>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
||||
|
||||
For **Shell Launcher v2**, you can use UWP app type for `Shell` by specifying the v2 namespace, and use `v2:AppType` to specify the type, as shown in the following example. If `v2:AppType` isn't specified, it implies the shell is Win32 app.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
|
||||
xmlns:v2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
|
||||
<Profiles>
|
||||
<DefaultProfile>
|
||||
<Shell Shell="ShellLauncherV2DemoUwp_5d7tap497jwe8!App" v2:AppType="UWP" v2:AllAppsFullScreen="true">
|
||||
<DefaultAction Action="RestartShell"/>
|
||||
</Shell>
|
||||
</DefaultProfile>
|
||||
</Profiles>
|
||||
<Configs/>
|
||||
</ShellLauncherConfiguration>
|
||||
```
|
||||
|
||||
>[!TIP]
|
||||
>In the XML for Shell Launcher v2, note the **AllAppsFullScreen** attribute. When set to **True**, Shell Launcher will run every app in full screen, or maximized for desktop apps. When this attribute is set to **False** or not set, only the custom shell app runs in full screen; other apps launched by the user will run in windowed mode.
|
||||
|
||||
[Get XML examples for different Shell Launcher v2 configurations.](https://github.com/Microsoft/Windows-iotcore-samples/tree/develop/Samples/ShellLauncherV2)
|
||||
|
||||
### Custom OMA-URI setting
|
||||
|
||||
In your MDM service, you can create a [custom OMA-URI setting](/intune/custom-settings-windows-10) to configure Shell Launcher v1 or v1. (The [XML](#xml-for-shell-launcher-configuration) that you use for your setting determines whether you apply Shell Launcher v1 or v2.)
|
||||
|
||||
The OMA-URI path is `./Device/Vendor/MSFT/AssignedAccess/ShellLauncher`.
|
||||
|
||||
For the value, you can select data type `String` and paste the desired configuration file content into the value box. If you wish to upload the xml instead of pasting the content, choose data type `String (XML file)`.
|
||||
|
||||

|
||||
|
||||
After you configure the profile containing the custom Shell Launcher setting, select **All Devices** or selected groups of devices to apply the profile to. Don't assign the profile to users or user groups.
|
||||
|
||||
## Configure a custom shell using PowerShell
|
||||
|
||||
For scripts for Shell Launcher v2, see [Shell Launcher v2 Bridge WMI sample scripts](https://github.com/Microsoft/Windows-iotcore-samples/blob/develop/Samples/ShellLauncherV2/SampleBridgeWmiScripts/README.md).
|
||||
|
||||
For Shell Launcher v1, modify the following PowerShell script as appropriate. The comments in the sample script explain the purpose of each section and tell you where you'll want to change the script for your purposes. Save your script with the extension.ps1, open Windows PowerShell as administrator, and run the script on the kiosk device.
|
||||
|
||||
```powershell
|
||||
# Check if shell launcher license is enabled
|
||||
function Check-ShellLauncherLicenseEnabled
|
||||
{
|
||||
[string]$source = @"
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
static class CheckShellLauncherLicense
|
||||
{
|
||||
const int S_OK = 0;
|
||||
public static bool IsShellLauncherLicenseEnabled()
|
||||
{
|
||||
int enabled = 0;
|
||||
if (NativeMethods.SLGetWindowsInformationDWORD("EmbeddedFeature-ShellLauncher-Enabled", out enabled) != S_OK) {
|
||||
enabled = 0;
|
||||
}
|
||||
return (enabled != 0);
|
||||
}
|
||||
static class NativeMethods
|
||||
{
|
||||
[DllImport("Slc.dll")]
|
||||
internal static extern int SLGetWindowsInformationDWORD([MarshalAs(UnmanagedType.LPWStr)]string valueName, out int value);
|
||||
}
|
||||
}
|
||||
"@
|
||||
$type = Add-Type -TypeDefinition $source -PassThru
|
||||
return $type[0]::IsShellLauncherLicenseEnabled()
|
||||
}
|
||||
|
||||
[bool]$result = $false
|
||||
|
||||
$result = Check-ShellLauncherLicenseEnabled
|
||||
"`nShell Launcher license enabled is set to " + $result
|
||||
if (-not($result))
|
||||
{
|
||||
"`nThis device doesn't have required license to use Shell Launcher"
|
||||
exit
|
||||
}
|
||||
|
||||
$COMPUTER = "localhost"
|
||||
$NAMESPACE = "root\standardcimv2\embedded"
|
||||
|
||||
# Create a handle to the class instance so we can call the static methods.
|
||||
try {
|
||||
$ShellLauncherClass = [wmiclass]"\\$COMPUTER\${NAMESPACE}:WESL_UserSetting"
|
||||
} catch [Exception] {
|
||||
write-host $_.Exception.Message;
|
||||
|
||||
write-host "Make sure Shell Launcher feature is enabled"
|
||||
exit
|
||||
}
|
||||
|
||||
# This well-known security identifier (SID) corresponds to the BUILTIN\Administrators group.
|
||||
|
||||
$Admins_SID = "S-1-5-32-544"
|
||||
|
||||
# Create a function to retrieve the SID for a user account on a machine.
|
||||
|
||||
function Get-UsernameSID($AccountName) {
|
||||
|
||||
$NTUserObject = New-Object System.Security.Principal.NTAccount($AccountName)
|
||||
$NTUserSID = $NTUserObject.Translate([System.Security.Principal.SecurityIdentifier])
|
||||
|
||||
return $NTUserSID.Value
|
||||
|
||||
}
|
||||
|
||||
# Get the SID for a user account named "Cashier". Rename "Cashier" to an existing account on your system to test this script.
|
||||
|
||||
$Cashier_SID = Get-UsernameSID("Cashier")
|
||||
|
||||
# Define actions to take when the shell program exits.
|
||||
|
||||
$restart_shell = 0
|
||||
$restart_device = 1
|
||||
$shutdown_device = 2
|
||||
|
||||
# Examples. You can change these examples to use the program that you want to use as the shell.
|
||||
# This example sets the command prompt as the default shell, and restarts the device if the command prompt is closed.
|
||||
|
||||
$ShellLauncherClass.SetDefaultShell("cmd.exe", $restart_device)
|
||||
|
||||
# Display the default shell to verify that it was added correctly.
|
||||
|
||||
$DefaultShellObject = $ShellLauncherClass.GetDefaultShell()
|
||||
|
||||
"`nDefault Shell is set to " + $DefaultShellObject.Shell + " and the default action is set to " + $DefaultShellObject.defaultaction
|
||||
|
||||
# Set Internet Explorer as the shell for "Cashier", and restart the machine if Internet Explorer is closed.
|
||||
|
||||
$ShellLauncherClass.SetCustomShell($Cashier_SID, "c:\program files\internet explorer\iexplore.exe www.microsoft.com", ($null), ($null), $restart_shell)
|
||||
|
||||
# Set Explorer as the shell for administrators.
|
||||
|
||||
$ShellLauncherClass.SetCustomShell($Admins_SID, "explorer.exe")
|
||||
|
||||
# View all the custom shells defined.
|
||||
|
||||
"`nCurrent settings for custom shells:"
|
||||
Get-WmiObject -namespace $NAMESPACE -computer $COMPUTER -class WESL_UserSetting | Select Sid, Shell, DefaultAction
|
||||
|
||||
# Enable Shell Launcher
|
||||
|
||||
$ShellLauncherClass.SetEnabled($TRUE)
|
||||
$IsShellLauncherEnabled = $ShellLauncherClass.IsEnabled()
|
||||
"`nEnabled is set to " + $IsShellLauncherEnabled.Enabled
|
||||
|
||||
# Remove the new custom shells.
|
||||
|
||||
$ShellLauncherClass.RemoveCustomShell($Admins_SID)
|
||||
$ShellLauncherClass.RemoveCustomShell($Cashier_SID)
|
||||
|
||||
# Disable Shell Launcher
|
||||
|
||||
$ShellLauncherClass.SetEnabled($FALSE)
|
||||
$IsShellLauncherEnabled = $ShellLauncherClass.IsEnabled()
|
||||
"`nEnabled is set to " + $IsShellLauncherEnabled.Enabled
|
||||
```
|
||||
|
||||
## default action, custom action, exit code
|
||||
|
||||
Shell launcher defines four actions to handle app exits, you can customize shell launcher and use these actions based on different exit code.
|
||||
|
||||
| Value | Description |
|
||||
|--|--|
|
||||
| 0 | Restart the shell |
|
||||
| 1 | Restart the device |
|
||||
| 2 | Shut down the device |
|
||||
| 3 | Do nothing |
|
||||
|
||||
These actions can be used as default action, or can be mapped to a specific exit code. Refer to [Shell Launcher](/windows-hardware/customize/enterprise/wesl-usersettingsetcustomshell) to see how these codes with Shell Launcher WMI.
|
||||
|
||||
To configure these actions with Shell Launcher CSP, use below syntax in the shell launcher configuration xml. You can specify at most four custom actions mapping to four exit codes, and one default action for all other exit codes. When app exits and if the exit code is not found in the custom action mapping, or there is no default action defined, it will be no-op, i.e. nothing happens. So it's recommended to at least define DefaultAction. [Get XML examples for different Shell Launcher v2 configurations.](https://github.com/Microsoft/Windows-iotcore-samples/tree/develop/Samples/ShellLauncherV2)
|
||||
|
||||
``` xml
|
||||
<ReturnCodeActions>
|
||||
<ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
|
||||
<ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
|
||||
<ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
|
||||
<ReturnCodeAction ReturnCode="1" Action="DoNothing"/>
|
||||
</ReturnCodeActions>
|
||||
<DefaultAction Action="RestartDevice"/>
|
||||
|
||||
```
|
@ -1,330 +0,0 @@
|
||||
---
|
||||
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.collection:
|
||||
- tier1
|
||||
ms.date: 07/12/2023
|
||||
---
|
||||
<!--8107263-->
|
||||
|
||||
# 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.
|
||||
>
|
||||
>Kiosk mode is not supported over a remote desktop connection. Your kiosk users must sign in on the physical device that is set up as a kiosk. Apps that run in kiosk mode cannot use copy and paste.
|
||||
|
||||
You have several options for configuring your single-app kiosk.
|
||||
|
||||
- Locally, in Settings: The **Set up a kiosk** (previously named **Set up assigned access**) option in **Settings** is a quick and easy method to set up a single device as a kiosk for a local standard user account.
|
||||
|
||||
This option supports:
|
||||
|
||||
- Windows 10 Pro, Enterprise, and Education
|
||||
- Windows 11
|
||||
|
||||
- PowerShell: You can use Windows PowerShell cmdlets to set up a single-app kiosk. First, you need to [create the user account](https://support.microsoft.com/help/4026923/windows-create-a-local-user-or-administrator-account-in-windows-10) on the device and install the kiosk app for that account.
|
||||
|
||||
This option supports:
|
||||
|
||||
- Windows 10 Pro, Enterprise, and Education
|
||||
- Windows 11
|
||||
|
||||
- The kiosk wizard in Windows Configuration Designer: Windows Configuration Designer is a tool that produces a *provisioning package*. A provisioning package includes configuration settings that can be applied to one or more devices during the first-run experience (OOBE), or after OOBE is done (runtime). Using the kiosk wizard, you can also create the kiosk user account, install the kiosk app, and configure more useful settings.
|
||||
|
||||
This option supports:
|
||||
|
||||
- Windows 10 Pro version 1709+, Enterprise, and Education
|
||||
- Windows 11
|
||||
|
||||
- Microsoft Intune or other mobile device management (MDM) provider: For devices managed by your organization, you can use MDM to set up a kiosk configuration.
|
||||
|
||||
This option supports:
|
||||
|
||||
- Windows 10 Pro version 1709+, Enterprise, and Education
|
||||
- Windows 11
|
||||
|
||||
> [!TIP]
|
||||
> You can also configure a kiosk account and app for single-app kiosk within [XML in a provisioning package](lock-down-windows-10-to-specific-apps.md) by using a [kiosk profile](lock-down-windows-10-to-specific-apps.md#profile).
|
||||
|
||||
>
|
||||
> Be sure to check the [configuration recommendations](kiosk-prepare.md) before you set up your kiosk.
|
||||
|
||||
## Set up a kiosk in local Settings
|
||||
|
||||
App type:
|
||||
|
||||
- UWP
|
||||
|
||||
OS:
|
||||
|
||||
- Windows 10 Pro, Ent, Edu
|
||||
- Windows 11
|
||||
|
||||
Account type:
|
||||
|
||||
- Local standard user
|
||||
|
||||
You can use **Settings** to quickly configure one or a few devices as a kiosk.
|
||||
|
||||
When your kiosk is a local device that isn't managed by Active Directory or Microsoft Entra ID, there is a default setting that enables automatic sign-in after a restart. That means that when the device restarts, the last signed-in user will be signed in automatically. If the last signed-in user is the kiosk account, the kiosk app will be launched automatically after the device restarts.
|
||||
|
||||
- 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 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.
|
||||
|
||||

|
||||
|
||||
### Windows 10 version 1809+ / Windows 11
|
||||
|
||||
When you set up a kiosk (also known as *assigned access*) in **Settings** for Windows client, you create the kiosk user account at the same time. To set up assigned access in PC settings:
|
||||
|
||||
Open the **Settings** app > **Accounts**. Select **Other users** or **Family and other users**.
|
||||
|
||||
1. Select **Set up a kiosk > Assigned access**, and then select **Get started**.
|
||||
|
||||
1. Enter a name for the new account.
|
||||
|
||||
>[!NOTE]
|
||||
>If there are any local standard user accounts on the device already, the **Create an account** page will offer the option to **Choose an existing account**.
|
||||
|
||||
1. Choose the app that will run when the kiosk account signs in. Only apps that can run above the lock screen will be available in the list of apps to choose from. For more information, see [Guidelines for choosing an app for assigned access](guidelines-for-assigned-access-app.md). 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 displayed 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**.
|
||||
|
||||
To remove assigned access, select the account tile on the **Set up a kiosk** page, and then select **Remove kiosk**.
|
||||
|
||||
### Windows 10 version 1803 and earlier
|
||||
|
||||
When you set up a kiosk (also known as *assigned access*) in **Settings** for Windows 10 version 1803 and earlier, you must select an existing local standard user account. [Learn how to create a local standard user account.](https://support.microsoft.com/help/4026923/windows-create-a-local-user-or-administrator-account-in-windows-10)
|
||||
|
||||

|
||||
|
||||
To set up assigned access in PC settings:
|
||||
|
||||
1. Go to **Start** > **Settings** > **Accounts** > **Other people**.
|
||||
1. Select **Set up assigned access**.
|
||||
1. Choose an account.
|
||||
1. Choose an app. Only apps that can run above the lock screen will be available in the list of apps to choose from. For more information, see [Guidelines for choosing an app for assigned access](guidelines-for-assigned-access-app.md).
|
||||
1. Close **Settings** - your choices are saved automatically, and will be applied the next time that user account signs in.
|
||||
To remove assigned access, choose **Turn off assigned access and sign out of the selected account**.
|
||||
|
||||
## Set up a kiosk using Windows PowerShell
|
||||
|
||||
App type:
|
||||
|
||||
- UWP
|
||||
|
||||
OS:
|
||||
|
||||
- Windows 10 Pro, Ent, Edu
|
||||
- Windows 11
|
||||
|
||||
Account type:
|
||||
|
||||
- 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>`
|
||||
|
||||
> [!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).
|
||||
|
||||
[Learn how to get the AppName](/powershell/module/assignedaccess/set-assignedaccess) (see **Parameters**).
|
||||
|
||||
To remove assigned access, using PowerShell, run the following cmdlet:
|
||||
|
||||
```powershell
|
||||
Clear-AssignedAccess
|
||||
```
|
||||
|
||||
## Set up a kiosk using the kiosk wizard in Windows Configuration Designer
|
||||
|
||||
App type:
|
||||
|
||||
- UWP
|
||||
- Windows desktop application
|
||||
|
||||
OS:
|
||||
|
||||
- Windows 10 Pro version 1709+ for UWP only
|
||||
- Windows 10 Ent, Edu for UWP and Windows desktop applications
|
||||
- Windows 11
|
||||
|
||||
Account type:
|
||||
|
||||
- Local standard user
|
||||
- Active Directory
|
||||
|
||||

|
||||
|
||||
>[!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).
|
||||
|
||||
When you use the **Provision kiosk devices** wizard in Windows Configuration Designer, you can configure the kiosk to run either a Universal Windows app or a Windows desktop application.
|
||||
|
||||
[Install Windows Configuration Designer](../provisioning-packages/provisioning-install-icd.md), then open Windows Configuration Designer and select **Provision kiosk devices**. After you name your project, and select **Next**, configure the following settings:
|
||||
|
||||
1. Enable device setup:
|
||||
|
||||
:::image type="content" source="images/set-up-device-details.png" alt-text="In Windows Configuration Designer, enable device setup, enter the device name, the product key to upgrade, turn off shared use, and remove preinstalled software.":::
|
||||
|
||||
If you want to enable device setup, select **Set up device**, and configure the following settings:
|
||||
|
||||
- **Device name**: Required. Enter a unique 15-character name for the device. You can use variables to add unique characters to the name, such as `Contoso-%SERIAL%` and `Contoso-%RAND:5%`.
|
||||
- **Enter product key**: Optional. Select a license file to upgrade Windows client to a different edition. For more information, see [the permitted upgrades](/windows/deployment/upgrade/windows-10-edition-upgrades).
|
||||
- **Configure devices for shared use**: This setting optimizes Windows client for shared use scenarios, and isn't necessary for a kiosk scenario. Set this value to **No**, which may be the default.
|
||||
- **Remove pre-installed software**: Optional. Select **Yes** if you want to remove preinstalled software.
|
||||
|
||||
1. Set up the network:
|
||||
|
||||
:::image type="content" source="images/set-up-network-details.png" alt-text="In Windows Configuration Designer, turn on wireless connectivity, enter the network SSID, and network type.":::
|
||||
|
||||
If you want to enable network setup, select **Set up network**, and configure the following settings:
|
||||
|
||||
- **Set up network**: To enable wireless connectivity, select **On**.
|
||||
- **Network SSID**: Enter the Service Set Identifier (SSID) of the network.
|
||||
- **Network type**: Select **Open** or **WPA2-Personal**. If you select **WPA2-Personal**, enter the password for the wireless network.
|
||||
|
||||
1. Enable account management:
|
||||
|
||||
:::image type="content" source="images/account-management-details.png" alt-text="In Windows Configuration Designer, join Active Directory, Microsoft Entra ID, or create a local admin account.":::
|
||||
|
||||
If you want to enable account management, select **Account Management**, and configure the following settings:
|
||||
|
||||
- **Manage organization/school accounts**: Choose how devices are enrolled. Your options:
|
||||
- **Active Directory**: Enter the credentials for a least-privileged user account to join the device to the domain.
|
||||
- **Microsoft Entra ID**: Before you use a Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment, [set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup). In your Microsoft Entra tenant, the **maximum number of devices per user** setting determines how many times the bulk token in the wizard can be used.
|
||||
|
||||
If you select this option, enter a friendly name for the bulk token you get using the wizard. Set an expiration date for the token. The maximum is 180 days from the date you get the token. Select **Get bulk token**. In **Let's get you signed in**, enter an account that has permissions to join a device to Microsoft Entra ID, and then the password. Select **Accept** to give Windows Configuration Designer the necessary permissions.
|
||||
|
||||
You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards.
|
||||
|
||||
- **Local administrator**: If you select this option, enter a user name and password. If you create a local account in the provisioning package, you must change the password using the **Settings** app every 42 days. If the password isn't changed during that period, the account might be locked out, and unable to sign in.
|
||||
|
||||
1. Add applications:
|
||||
|
||||
:::image type="content" source="images/add-applications-details.png" alt-text="In Windows Configuration Designer, add an application that will run in kiosk mode.":::
|
||||
|
||||
To add applications to the devices, select **Add applications**. You can install multiple applications in a provisioning package, including Windows desktop applications (Win32) and Universal Windows Platform (UWP) apps. The settings in this step vary depending on the application you select. For help with the settings, see [Provision PCs with apps](../provisioning-packages/provision-pcs-with-apps.md).
|
||||
|
||||
> [!WARNING]
|
||||
> If you select the plus button to add an application, you must enter an application for the provisioning package to validate. If you select the plus button by mistake, then:
|
||||
>
|
||||
> 1. In **Installer Path**, select any executable file.
|
||||
> 1. When the **Cancel** button shows, select it.
|
||||
>
|
||||
> These steps let you complete the provisioning package without adding an application.
|
||||
|
||||
1. Add certificates:
|
||||
|
||||
:::image type="content" source="images/add-certificates-details.png" alt-text="In Windows Configuration Designer, add a certificate.":::
|
||||
|
||||
To add a certificate to the devices, select **Add certificates**, and configure the following settings:
|
||||
|
||||
- **Certificate name**: Enter a name for the certificate.
|
||||
- **Certificate path**: Browse and select the certificate you want to add.
|
||||
|
||||
1. Configure the kiosk account, and the kiosk mode app:
|
||||
|
||||
:::image type="content" source="images/kiosk-account-details.png" alt-text="In Windows Configuration Designer, the Configure kiosk common settings button is shown when provisioning a kiosk device.":::
|
||||
|
||||
To add the account that runs the app and choose the app type, select **Configure kiosk account and app**, and configure the following settings:
|
||||
|
||||
- **Create a local standard user account to run the kiosk mode app**: Select **Yes** to create a local standard user account, and enter the **User name** and **Password**. This user account runs the app. If you select **No**, make sure you have an existing user account to run the kiosk app.
|
||||
- **Auto sign-in**: Select **Yes** to automatically sign in the account when the device starts. **No** doesn't automatically sign in the account. If there are issues with auto sign-in after you apply the provisioning package, then check the Event Viewer logs for auto logon issues (`Applications and Services Logs\Microsoft\Windows\Authentication User Interface\Operational`).
|
||||
- **Configure the kiosk mode app**: Enter the **User name** of the account that will run the kiosk mode app. In **App type**, select the type of app to run. Your options:
|
||||
- **Windows desktop application**: Enter the path or filename. If the file path is in the PATH environment variable, then you can use the filename. Otherwise, the full path is required.
|
||||
- **Universal Windows app**: Enter the AUMID.
|
||||
|
||||
1. Configure kiosk common settings:
|
||||
|
||||
:::image type="content" source="images/kiosk-common-details.png" alt-text="In Windows Configuration Designer, set tablet mode, configure the welcome and shutdown screens, and turn off the power timeout settings.":::
|
||||
|
||||
To configure the tablet mode, configure welcome and shutdown screens, and set the power settings, select **Configure kiosk common settings**, and configure the following settings:
|
||||
|
||||
- **Set tablet mode**
|
||||
- **Customize user experience**
|
||||
- **Configure power settings**
|
||||
|
||||
1. Finish:
|
||||
|
||||
:::image type="content" source="images/finish-details.png" alt-text="In Windows Configuration Designer, protect your package with a password.":::
|
||||
|
||||
To complete the wizard, select **Finish**, and configure the following setting:
|
||||
|
||||
- **Protect your package**: Select **Yes** to password protect your provisioning package. When you apply the provisioning package to a device, you must enter this password.
|
||||
|
||||
>[!NOTE]
|
||||
>If you want to use [the advanced editor in Windows Configuration Designer](../provisioning-packages/provisioning-create-package.md#configure-settings), specify the user account and app (by AUMID) in **Runtime settings** > **AssignedAccess** > **AssignedAccessSettings**
|
||||
|
||||
>[!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.
|
||||
|
||||
[Learn how to apply a provisioning package.](../provisioning-packages/provisioning-apply-package.md)
|
||||
|
||||
## Set up a kiosk or digital sign using Microsoft Intune or other MDM service
|
||||
|
||||
App type:
|
||||
|
||||
- UWP
|
||||
|
||||
OS:
|
||||
|
||||
- Windows 10 Pro version 1709+, Ent, Edu
|
||||
- Windows 11
|
||||
|
||||
Account type:
|
||||
|
||||
- Local standard user
|
||||
- Microsoft Entra ID
|
||||
|
||||
Microsoft Intune and other MDM services enable kiosk configuration through the [AssignedAccess configuration service provider (CSP)](/windows/client-management/mdm/assignedaccess-csp). Assigned Access has a `KioskModeApp` setting. In the `KioskModeApp` setting, you enter the user account name and the [AUMID](/windows-hardware/customize/enterprise/find-the-application-user-model-id-of-an-installed-app) for the app to run in kiosk mode.
|
||||
|
||||
>[!TIP]
|
||||
>A ShellLauncher node has been added to the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp).
|
||||
|
||||
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). For other MDM services, see the documentation for your provider.
|
||||
|
||||
## Sign out of assigned access
|
||||
|
||||
To exit the assigned access (kiosk) app, press **Ctrl + Alt + Del**, and then sign in using another account. When you press **Ctrl + Alt + Del** to sign out of assigned access, the kiosk app will exit automatically. If you sign in again as the assigned access account or wait for the sign in screen timeout, the kiosk app relaunches. The assigned access user will remain signed in until an admin account opens **Task Manager** > **Users** and signs out the user account.
|
||||
|
||||
If you press **Ctrl + Alt + Del** and do not sign in to another account, after a set time, assigned access will resume. The default time is 30 seconds, but you can change that in the following 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 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).
|
@ -1,83 +0,0 @@
|
||||
---
|
||||
title: Validate kiosk configuration
|
||||
description: In this article, learn what to expect on a multi-app kiosk in Windows 10/11 Pro, Enterprise, and Education.
|
||||
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Validate kiosk configuration
|
||||
|
||||
To identify the provisioning packages applied to a device, go to **Settings** > **Accounts** > **Access work or school**, and then click **Add or remove a provisioning package**. You should see a list of packages that were applied to the device.
|
||||
|
||||
Optionally, run Event Viewer (eventvwr.exe) and look through logs under **Applications and Services Logs** > **Microsoft** > **Windows** > **Provisioning-Diagnostics-Provider** > **Admin**.
|
||||
|
||||
To test the kiosk, sign in with the assigned access user account you specified in the configuration to check out the multi-app experience.
|
||||
|
||||
>[!NOTE]
|
||||
>The kiosk configuration setting will take effect the next time the assigned access user signs in. If that user account is signed in when you apply the configuration, make sure the user signs out and signs back in to validate the experience.
|
||||
|
||||
The following sections explain what to expect on a multi-app kiosk.
|
||||
|
||||
### App launching and switching experience
|
||||
|
||||
In the multi-app mode, to maximize the user productivity and streamline the experience, an app will be always launched in full screen when the users click the tile on the Start. The users can minimize and close the app, but cannot resize the app window.
|
||||
|
||||
The users can switch apps just as they do today in Windows. They can use the Task View button, Alt + Tab hotkey, and the swipe in from the left gesture to view all the open apps in task view. They can click the Windows button to show Start, from which they can open apps, and they can switch to an opened app by clicking it on the taskbar.
|
||||
|
||||
### Start changes
|
||||
|
||||
When the assigned access user signs in, you should see a restricted Start experience:
|
||||
- Start gets launched in full screen and prevents the end user from accessing the desktop.
|
||||
|
||||
- Start shows the layout aligned with what you defined in the multi-app configuration XML.
|
||||
|
||||
- Start prevents the end user from changing the tile layout.
|
||||
- The user cannot resize, reposition, and unpin the tiles.
|
||||
- The user cannot pin additional tiles on the start.
|
||||
- Start hides **All Apps** list.
|
||||
- Start hides all the folders on Start (including File Explorer, Settings, Documents, Downloads, Music, Pictures, Videos, HomeGroup, Network, and Personal folders).
|
||||
- Only **User** and **Power** buttons are available. (You can control whether to show the **User/Power** buttons using [existing policies](/windows/client-management/mdm/policy-csp-start).)
|
||||
- Start hides **Change account settings** option under **User** button.
|
||||
|
||||
### Taskbar changes
|
||||
|
||||
If the applied multi-app configuration enables taskbar, when the assigned access user signs in, you should see a restricted Taskbar experience:
|
||||
|
||||
- Disables context menu of Start button (Quick Link)
|
||||
- Disables context menu of taskbar
|
||||
- Prevents the end user from changing the taskbar
|
||||
- Disables Cortana and Search Windows
|
||||
- Hides notification icons and system icons, e.g. Action Center, People, Windows Ink Workspace
|
||||
- Allows the end user to view the status of the network connection and power state, but disables the flyout of **Network/Power** to prevent end user from changing the settings
|
||||
|
||||
### Blocked hotkeys
|
||||
|
||||
The multi-app mode blocks the following hotkeys, which are not relevant for the lockdown experience.
|
||||
|
||||
| Hotkey | Action |
|
||||
| --- | --- |
|
||||
| Windows logo key + A | Open Action center |
|
||||
| Windows logo key + Shift + C | Open Cortana in listening mode |
|
||||
| Windows logo key + D | Display and hide the desktop |
|
||||
| Windows logo key + Alt + D | Display and hide the date and time on the desktop |
|
||||
| Windows logo key + E | Open File Explorer |
|
||||
| Windows logo key + F | Open Feedback Hub |
|
||||
| Windows logo key + G | Open Game bar when a game is open |
|
||||
| Windows logo key + I | Open Settings |
|
||||
| Windows logo key + J | Set focus to a Windows tip when one is available. |
|
||||
| Windows logo key + O | Lock device orientation |
|
||||
| Windows logo key + Q | Open search |
|
||||
| Windows logo key + R | Open the Run dialog box |
|
||||
| Windows logo key + S | Open search |
|
||||
| Windows logo key + X | Open the Quick Link menu |
|
||||
| Windows logo key + comma (,) | Temporarily peek at the desktop |
|
||||
| Windows logo key + Ctrl + F | Search for PCs (if you're on a network) |
|
||||
|
||||
### Locked-down Ctrl+Alt+Del screen
|
||||
|
||||
The multi-app mode removes options (e.g. **Change a password**, **Task Manager**, **Network**) in the Ctrl+Alt+Del screen to ensure the users cannot access the functionalities that are not allowed in the lockdown experience.
|
||||
|
||||
### Auto-trigger touch keyboard
|
||||
|
||||
In the multi-app mode, the touch keyboard will be automatically triggered when there is 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.
|
@ -1,952 +0,0 @@
|
||||
---
|
||||
title: Assigned Access configuration kiosk XML reference
|
||||
description: Learn about the assigned access configuration (kiosk) for XML and XSD for kiosk device configuration in Windows 10/11.
|
||||
|
||||
ms.topic: article
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Assigned Access configuration (kiosk) XML reference
|
||||
|
||||
## Full XML sample
|
||||
|
||||
>[!NOTE]
|
||||
>Updated for Windows 10, version 1903, 1909, and 2004.
|
||||
|
||||
```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"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftSolitaireCollection_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MSPaint_8wekyb3d8bbwe!Microsoft.MSPaint" />
|
||||
<App AppUserModelId="Microsoft.WindowsAlarms_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<App AppUserModelId="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\mspaint.exe" />
|
||||
<App DesktopAppPath="%SystemDrive%\LOB\MyLOB.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<rs5:FileExplorerNamespaceRestrictions>
|
||||
<rs5:AllowedNamespace Name="Downloads"/>
|
||||
</rs5:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<!-- A link file is required for desktop applications to show on start layout, the link file can be placed under
|
||||
"%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs" if the link file is shared for all users or
|
||||
"%AppData%\Microsoft\Windows\Start Menu\Programs" if the link file is for the specific user only
|
||||
|
||||
see document https://learn.microsoft.com/windows/configuration/start-layout-xml-desktop
|
||||
-->
|
||||
<!-- for inbox desktop applications, a link file might already exist and can be used directly -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!BCHost" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!ContentProcess" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!F12" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!PdfReader" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" rs5:AutoLaunch="true" rs5:AutoLaunchArguments="123.txt"/>
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="false"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>domain\account</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>AzureAD\john@contoso.onmicrosoft.com</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>localaccount</Account>
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<AutoLogonAccount rs5:DisplayName="Hello World"/>
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<UserGroup Type="LocalGroup" Name="mygroup" />
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<UserGroup Type="ActiveDirectoryGroup" Name="redmond\somegroup" />
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<UserGroup Type="AzureActiveDirectoryGroup" Name="a8d36e43-4180-4ac5-a627-fb8149bba1ac" />
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
## Kiosk only sample XML
|
||||
|
||||
```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"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{AFF9DA33-AE89-4039-B646-3A5706E92957}">
|
||||
<KioskModeApp AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>singleappuser</Account>
|
||||
<DefaultProfile Id="{AFF9DA33-AE89-4039-B646-3A5706E92957}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
## Auto Launch Sample XML
|
||||
|
||||
This sample demonstrates that both UWP and Win32 apps can be configured to automatically launch, when assigned access account logs in. One profile can have at most one app configured for auto launch. AutoLaunchArguments are passed to the apps as is and the app needs to handle the arguments explicitly.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:r1809="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" r1809:AutoLaunch="true"/>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<!-- A link file is required for desktop applications to show on start layout, the link file can be placed under
|
||||
"%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs" if the link file is shared for all users or
|
||||
"%AppData%\Microsoft\Windows\Start Menu\Programs" if the link file is for the specific user only
|
||||
|
||||
see document https://learn.microsoft.com/windows/configuration/start-layout-xml-desktop
|
||||
-->
|
||||
<!-- for inbox desktop applications, a link file might already exist and can be used directly -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" r1809:AutoLaunch="true" r1809:AutoLaunchArguments="1.txt"/>
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="false"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>aauser1</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>aauser2</Account>
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
|
||||
```
|
||||
|
||||
## Microsoft Edge Kiosk XML Sample
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:v4="http://schemas.microsoft.com/AssignedAccess/2021/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{AFF9DA33-AE89-4039-B646-3A5706E92957}">
|
||||
|
||||
<KioskModeApp v4:ClassicAppPath="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" v4:ClassicAppArguments="--no-first-run --kiosk-idle-timeout-minutes=5 --kiosk www.bing.com" />
|
||||
<v4:BreakoutSequence Key="Ctrl+A"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>EdgeKioskUser</Account>
|
||||
<DefaultProfile Id="{AFF9DA33-AE89-4039-B646-3A5706E92957}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
## Global Profile Sample XML
|
||||
|
||||
Global Profile is supported on:
|
||||
|
||||
- Windows 11
|
||||
- Windows 10, version 2004 and later
|
||||
|
||||
Global Profile is designed for scenarios where a user doesn't have a designated profile, yet you still want the user to run in lockdown mode. It's also used as mitigation when a profile can't be determined for a user.
|
||||
|
||||
This sample demonstrates that only a global profile is used, with no active user configured. Global Profile will be applied when every non-admin account signs in.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:v2="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" v2:AutoLaunch="true" v2:AutoLaunchArguments="123"/>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<!-- A link file is required for desktop applications to show on start layout, the link file can be placed under
|
||||
"%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs" if the link file is shared for all users or
|
||||
"%AppData%\Microsoft\Windows\Start Menu\Programs" if the link file is for the specific user only
|
||||
|
||||
see document https://learn.microsoft.com/windows/configuration/start-layout-xml-desktop
|
||||
-->
|
||||
<!-- for inbox desktop applications, a link file might already exist and can be used directly -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<v3:GlobalProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
Below sample shows dedicated profile and global profile mixed usage, a user would use one profile, everyone else that's non-admin will use another profile.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:v2="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" v2:AutoLaunch="true" v2:AutoLaunchArguments="123"/>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<!-- A link file is required for desktop applications to show on start layout, the link file can be placed under
|
||||
"%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs" if the link file is shared for all users or
|
||||
"%AppData%\Microsoft\Windows\Start Menu\Programs" if the link file is for the specific user only
|
||||
|
||||
see document https://learn.microsoft.com/windows/configuration/start-layout-xml-desktop
|
||||
-->
|
||||
<!-- for inbox desktop applications, a link file might already exist and can be used directly -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" v2:AutoLaunch="true" v2:AutoLaunchArguments="1.txt"/>
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="false"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<v3:GlobalProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
<Config>
|
||||
<Account>aauser</Account>
|
||||
<DefaultProfile Id="{5B328104-BD89-4863-AB27-4ED6EE355485}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
|
||||
```
|
||||
|
||||
## Folder Access sample xml
|
||||
|
||||
Starting with Windows 10 version 1809 +, folder access is locked down so that when common file dialog is opened, IT Admin can specify if the user has access to the Downloads folder, or no access to any folder at all. This restriction has been redesigned for finer granularity and easier use, and is available in Windows 10 version 2009+.
|
||||
|
||||
IT Admin now can specify user access to Downloads folder, Removable drives, or no restrictions at all. Downloads and Removable Drives can be allowed at the same time.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:v2="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C24}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<v2:FileExplorerNamespaceRestrictions>
|
||||
</v2:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C25}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<v2:FileExplorerNamespaceRestrictions>
|
||||
<v2:AllowedNamespace Name="Downloads"/>
|
||||
</v2:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C26}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<v2:FileExplorerNamespaceRestrictions>
|
||||
<v3:AllowRemovableDrives />
|
||||
</v2:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C27}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<v2:FileExplorerNamespaceRestrictions>
|
||||
<v2:AllowedNamespace Name="Downloads"/>
|
||||
<v3:AllowRemovableDrives/>
|
||||
</v2:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C28}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" />
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<v2:FileExplorerNamespaceRestrictions>
|
||||
<v3:NoRestriction />
|
||||
</v2:FileExplorerNamespaceRestrictions>
|
||||
<StartLayout>
|
||||
<![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
||||
<LayoutOptions StartTileGroupCellWidth="6" />
|
||||
<DefaultLayoutOverride>
|
||||
<StartLayoutCollection>
|
||||
<defaultlayout:StartLayout GroupCellWidth="6">
|
||||
<start:Group Name="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>multi1</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>multi2</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C24}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>multi3</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C25}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>multi4</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C26}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>multi5</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C27}"/>
|
||||
</Config>
|
||||
<Config>
|
||||
<Account>multi6</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C28}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
|
||||
```
|
||||
|
||||
## XSD for AssignedAccess configuration XML
|
||||
|
||||
> [!NOTE]
|
||||
> Updated for Windows 10, version 1903 and later.
|
||||
|
||||
The following XML schema is for AssignedAccess Configuration up to Windows 10, version 1803 release:
|
||||
|
||||
```xml
|
||||
<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"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
xmlns:v4="http://schemas.microsoft.com/AssignedAccess/2021/config"
|
||||
targetNamespace="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/201810/config"/>
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2020/config"/>
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2021/config"/>
|
||||
|
||||
<xs:complexType name="profile_list_t">
|
||||
<xs:sequence minOccurs="1" >
|
||||
<xs:element name="Profile" type="profile_t" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="kioskmodeapp_t">
|
||||
<xs:attribute name="AppUserModelId" type="xs:string"/>
|
||||
<xs:attributeGroup ref="ClassicApp_attributeGroup"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:attributeGroup name="ClassicApp_attributeGroup">
|
||||
<xs:attribute ref="v4:ClassicAppPath"/>
|
||||
<xs:attribute ref="v4:ClassicAppArguments" use="optional"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:complexType name="profile_t">
|
||||
<xs:choice>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="AllAppsList" type="allappslist_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element ref="rs5:FileExplorerNamespaceRestrictions" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="StartLayout" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="Taskbar" type="taskbar_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="KioskModeApp" type="kioskmodeapp_t" minOccurs="1" maxOccurs="1">
|
||||
<xs:key name="mutualExclusionAumidOrClassicAppPath">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@AppUserModelId|@v4:ClassicAppPath"/>
|
||||
</xs:key>
|
||||
<xs:unique name="mutualExclusionAumidOrClassicAppArgumentsOptional">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@AppUserModelId|@v4:ClassicAppArguments"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element ref="v4:BreakoutSequence" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" type="guid_t" use="required"/>
|
||||
<xs:attribute name="Name" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allappslist_t">
|
||||
<xs:sequence minOccurs="1" >
|
||||
<xs:element name="AllowedApps" type="allowedapps_t" minOccurs="1" maxOccurs="1">
|
||||
<xs:unique name="ForbidDupApps">
|
||||
<xs:selector xpath="default:App"/>
|
||||
<xs:field xpath="@AppUserModelId|@DesktopAppPath"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="OnlyOneAppCanHaveAutoLaunch">
|
||||
<xs:selector xpath="default:App"/>
|
||||
<xs:field xpath="@rs5:AutoLaunch"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allowedapps_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="App" type="app_t" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:key name="mutexAumidOrDesktopApp">
|
||||
<xs:selector xpath="."/>
|
||||
<xs:field xpath="@AppUserModelId|@DesktopAppPath"/>
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="app_t">
|
||||
<xs:attribute name="AppUserModelId" type="xs:string"/>
|
||||
<xs:attribute name="DesktopAppPath" type="xs:string"/>
|
||||
<xs:attributeGroup ref="autoLaunch_attributeGroup"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:attributeGroup name="autoLaunch_attributeGroup">
|
||||
<xs:attribute ref="rs5:AutoLaunch"/>
|
||||
<xs:attribute ref="rs5:AutoLaunchArguments" use="optional"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:complexType name="taskbar_t">
|
||||
<xs:attribute name="ShowTaskbar" type="xs:boolean" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="profileId_t">
|
||||
<xs:attribute name="Id" type="guid_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="guid_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\{[0-9a-fA-F]{8}\-([0-9a-fA-F]{4}\-){3}[0-9a-fA-F]{12}\}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="config_list_t">
|
||||
<xs:sequence minOccurs="1" >
|
||||
<xs:element ref="v3:GlobalProfile" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Config" type="config_t" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="config_t">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:choice>
|
||||
<xs:element name="Account" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="AutoLogonAccount" type="autologon_account_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="UserGroup" type="group_t" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="SpecialGroup" type="specialGroup_t" minOccurs="1" maxOccurs="1" />
|
||||
</xs:choice>
|
||||
<xs:element name="DefaultProfile" type="profileId_t" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="autologon_account_t">
|
||||
<xs:attribute name="HiddenId" type="guid_t" fixed="{74331115-F68A-4DF9-8D2C-52BA2CE2ADB1}"/>
|
||||
<xs:attribute ref="rs5:DisplayName" use="optional" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="group_t">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Type" type="groupType_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="specialGroup_t">
|
||||
<xs:attribute name="Name" type="specialGroupType_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="groupType_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="LocalGroup"/>
|
||||
<xs:enumeration value="ActiveDirectoryGroup"/>
|
||||
<xs:enumeration value="AzureActiveDirectoryGroup"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="specialGroupType_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Visitor"/>
|
||||
<xs:enumeration value="DeviceOwner"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="fileExplorerNamespaceRestrictions_t">
|
||||
<xs:sequence minOccurs="1">
|
||||
<xs:element name="AllowedNamespace" type="allowedFileExplorerNamespace_t"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allowedFileExplorerNamespace_t">
|
||||
<xs:attribute name="Name" type="allowedFileExplorerNamespaceValues_t"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="allowedFileExplorerNamespaceValues_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Downloads"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!--below is the definition of the config xml content-->
|
||||
<xs:element name="AssignedAccessConfiguration">
|
||||
<xs:complexType>
|
||||
<xs:all minOccurs="1">
|
||||
<xs:element name="Profiles" type="profile_list_t">
|
||||
<xs:unique name="duplicateRolesForbidden">
|
||||
<xs:selector xpath="default:Profile"/>
|
||||
<xs:field xpath="@Id"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="Configs" type="config_list_t">
|
||||
<xs:unique name="duplicateAutoLogonAccountForbidden">
|
||||
<xs:selector xpath=".//default:AutoLogonAccount"/>
|
||||
<xs:field xpath="@HiddenId"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
The following XML is the schema for new features introduced in Windows 10 1809 release:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:v3="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
targetNamespace="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/AssignedAccess/2020/config"/>
|
||||
|
||||
<xs:complexType name="fileExplorerNamespaceRestrictions_t">
|
||||
<xs:choice>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element name="AllowedNamespace" type="allowedFileExplorerNamespace_t" minOccurs="0"/>
|
||||
<xs:element ref="v3:AllowRemovableDrives" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:element ref="v3:NoRestriction" minOccurs="0" maxOccurs="1" />
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="allowedFileExplorerNamespace_t">
|
||||
<xs:attribute name="Name" type="allowedFileExplorerNamespaceValues_t" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="allowedFileExplorerNamespaceValues_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Downloads"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="FileExplorerNamespaceRestrictions" type="fileExplorerNamespaceRestrictions_t" />
|
||||
|
||||
<xs:attribute name="AutoLaunch" type="xs:boolean"/>
|
||||
|
||||
<xs:attribute name="AutoLaunchArguments" type="xs:string"/>
|
||||
|
||||
<xs:attribute name="DisplayName" type="xs:string"/>
|
||||
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
The following XML is the schema for Windows 10 version 1909+:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
xmlns:default="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
|
||||
vc:minVersion="1.1"
|
||||
targetNamespace="http://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
>
|
||||
|
||||
<xs:simpleType name="guid_t">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\{[0-9a-fA-F]{8}\-([0-9a-fA-F]{4}\-){3}[0-9a-fA-F]{12}\}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="globalProfile_t">
|
||||
<xs:attribute name="Id" type="guid_t" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="AllowRemovableDrives"/>
|
||||
<xs:element name="NoRestriction" />
|
||||
<xs:element name="GlobalProfile" type="globalProfile_t" />
|
||||
|
||||
</xs:schema>
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
```xml
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:r1809="http://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" r1809:AutoLaunch="true" r1809:AutoLaunchArguments="1.txt"/>
|
||||
```
|
@ -1,97 +0,0 @@
|
||||
---
|
||||
title: Use AppLocker to create a Windows 10 kiosk that runs multiple apps
|
||||
description: Learn how to use AppLocker to configure a kiosk device running Windows 10 Enterprise or Windows 10 Education so that users can only run a few specific apps.
|
||||
appliesto:
|
||||
- ✅ <a href=/windows/release-health/supported-versions-windows-client target=_blank>Windows 10</a>
|
||||
ms.date: 07/30/2018
|
||||
ms.topic: article
|
||||
---
|
||||
|
||||
# Use AppLocker to create a Windows 10 kiosk that runs multiple apps
|
||||
|
||||
Learn how to configure a device running Windows 10 Enterprise or Windows 10 Education, version 1703 and earlier, so that users can only run a few specific apps. The result is similar to [a kiosk device](./kiosk-methods.md), but with multiple apps available. For example, you might set up a library computer so that users can search the catalog and browse the Internet, but can't run any other apps or change computer settings.
|
||||
|
||||
>[!NOTE]
|
||||
>For devices running Windows 10, version 1709, we recommend the [multi-app kiosk method](lock-down-windows-10-to-specific-apps.md).
|
||||
|
||||
You can restrict users to a specific set of apps on a device running Windows 10 Enterprise or Windows 10 Education by using [AppLocker](/windows/device-security/applocker/applocker-overview). AppLocker rules specify which apps are allowed to run on the device.
|
||||
|
||||
AppLocker rules are organized into collections based on file format. If no AppLocker rules for a specific rule collection exist, all files with that file format are allowed to run. However, when an AppLocker rule for a specific rule collection is created, only the files explicitly allowed in a rule are permitted to run. For more information, see [How AppLocker works](/windows/device-security/applocker/how-applocker-works-techref).
|
||||
|
||||
This topic describes how to lock down apps on a local device. You can also use AppLocker to set rules for applications in a domain by using Group Policy.
|
||||
|
||||

|
||||
|
||||
## Install apps
|
||||
|
||||
First, install the desired apps on the device for the target user account(s). This works for both Unified Windows Platform (UWP) apps and Windows desktop apps. For UWP apps, you must log on as that user for the app to install. For desktop apps, you can install an app for all users without logging on to the particular account.
|
||||
|
||||
## Use AppLocker to set rules for apps
|
||||
|
||||
After you install the desired apps, set up AppLocker rules to only allow specific apps, and block everything else.
|
||||
|
||||
1. Run Local Security Policy (secpol.msc) as an administrator.
|
||||
1. Go to **Security Settings** > **Application Control Policies** > **AppLocker**, and select **Configure rule enforcement**.
|
||||
|
||||

|
||||
|
||||
1. Check **Configured** under **Executable rules**, and then click **OK**.
|
||||
1. Right-click **Executable Rules** and then click **Automatically generate rules**.
|
||||
|
||||

|
||||
|
||||
1. Select the folder that contains the apps that you want to permit, or select C:\\ to analyze all apps.
|
||||
1. Type a name to identify this set of rules, and then click **Next**.
|
||||
1. On the **Rule Preferences** page, click **Next**. Be patient, it might take awhile to generate the rules.
|
||||
1. On the **Review Rules** page, click **Create**. The wizard will now create a set of rules allowing the installed set of apps.
|
||||
1. Read the message and click **Yes**.
|
||||
|
||||

|
||||
|
||||
1. (optional) If you want a rule to apply to a specific set of users, right-click on the rule and select **Properties**. Then use the dialog to choose a different user or group of users.
|
||||
1. (optional) If rules were generated for apps that should not be run, you can delete them by right-clicking on the rule and selecting **Delete**.
|
||||
1. Before AppLocker will enforce rules, the **Application Identity** service must be turned on. To force the Application Identity service to automatically start on reset, open a command prompt and run:
|
||||
|
||||
``` syntax
|
||||
sc config appidsvc start=auto
|
||||
```
|
||||
|
||||
1. Restart the device.
|
||||
|
||||
## Other settings to lock down
|
||||
|
||||
In addition to specifying the apps that users can run, you should also restrict some settings and functions on the device. For a more secure experience, we recommend that you make the following configuration changes to the device:
|
||||
|
||||
- Remove **All apps**.
|
||||
|
||||
Go to **Group Policy Editor** > **User Configuration** > **Administrative Templates\\Start Menu and Taskbar\\Remove All Programs list from the Start menu**.
|
||||
|
||||
- Hide **Ease of access** feature on the logon screen.
|
||||
|
||||
Go to **Control Panel** > **Ease of Access** > **Ease of Access Center**, and turn off all accessibility tools.
|
||||
|
||||
- Disable the hardware power button.
|
||||
|
||||
Go to **Power Options** > **Choose what the power button does**, change the setting to **Do nothing**, and then **Save changes**.
|
||||
|
||||
- Disable the camera.
|
||||
|
||||
Go to **Settings** > **Privacy** > **Camera**, and turn off **Let apps use my camera**.
|
||||
|
||||
- Turn off app notifications on the lock screen.
|
||||
|
||||
Go to **Group Policy Editor** > **Computer Configuration** > **Administrative Templates\\System\\Logon\\Turn off app notifications on the lock screen**.
|
||||
|
||||
- Disable removable media.
|
||||
|
||||
Go to **Group Policy Editor** > **Computer Configuration** > **Administrative Templates\\System\\Device Installation\\Device Installation Restrictions**. Review the policy settings available in **Device Installation Restrictions** for the settings applicable to your situation.
|
||||
|
||||
**Note**
|
||||
|
||||
To prevent this policy from affecting a member of the Administrators group, in **Device Installation Restrictions**, enable **Allow administrators to override Device Installation Restriction policies**.
|
||||
|
||||
To learn more about locking down features, see [Customizations for Windows 10 Enterprise](/windows-hardware/customize/enterprise/enterprise-custom-portal).
|
||||
|
||||
## Customize Start screen layout for the device (recommended)
|
||||
|
||||
Configure the Start menu on the device to only show tiles for the permitted apps. You will make the changes manually, export the layout to an .xml file, and then apply that file to devices to prevent users from making changes. For instructions, see [Manage Windows 10 Start layout options](../start/windows-10-start-layout-options-and-policies.md).
|
@ -1,660 +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
|
||||
|
||||
> [!NOTE]
|
||||
> The use of multiple monitors isn't supported for multi-app kiosk mode in Windows 10.
|
||||
|
||||
A [kiosk device](./kiosk-single-app.md) typically runs a single app, and users are prevented from accessing any features or functions on the device outside of the kiosk app. In Windows 10, version 1709, the [AssignedAccess configuration service provider (CSP)](/windows/client-management/mdm/assignedaccess-csp) was expanded to make it easy for administrators to create kiosks that run more than one app. The benefit of a kiosk that runs only one or more specified apps is to provide an easy-to-understand experience for individuals by putting in front of them only the things they need to use, and removing from their view the things they don't need to access.
|
||||
|
||||
The following table lists changes to multi-app kiosk in recent updates.
|
||||
|
||||
| New features and improvements | In update |
|
||||
| --- | ---|
|
||||
| - Configure [a single-app kiosk profile](#profile) in your XML file<br><br>- Assign [group accounts to a config profile](#config-for-group-accounts)<br><br>- Configure [an account to sign in automatically](#config-for-autologon-account) | Windows 10, version 1803 |
|
||||
| - Explicitly allow [some known folders when user opens file dialog box](#fileexplorernamespacerestrictions)<br><br>- [Automatically launch an app](#allowedapps) when the user signs in<br><br>- Configure a [display name for the autologon account](#config-for-autologon-account) | Windows 10, version 1809<br><br>**Important:** To use features released in Windows 10, version 1809, make sure that [your XML file](#create-xml-file) references `https://schemas.microsoft.com/AssignedAccess/201810/config`. |
|
||||
|
||||
> [!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.
|
||||
|
||||
You can configure multi-app kiosks using [Microsoft Intune](#intune) or a [provisioning package](#provision).
|
||||
|
||||
> [!TIP]
|
||||
> Be sure to check the [configuration recommendations](kiosk-prepare.md) before you set up your kiosk.
|
||||
|
||||
<span id="intune"/>
|
||||
|
||||
## 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)
|
||||
|
||||
<span id="provision" />
|
||||
|
||||
## 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]
|
||||
|
||||
If you don't want to use a provisioning package, you can deploy the configuration XML file using [mobile device management (MDM)](#use-mdm-to-deploy-the-multi-app-configuration), or you can configure assigned access using the [MDM Bridge WMI Provider](kiosk-mdm-bridge.md).
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Windows Configuration Designer (Windows 10, version 1709 or later)
|
||||
- The kiosk device must be running Windows 10 (S, Pro, Enterprise, or Education), version 1709 or later
|
||||
|
||||
> [!NOTE]
|
||||
> For devices running versions of Windows 10 earlier than version 1709, you can [create AppLocker rules](lock-down-windows-10-applocker.md) to configure a multi-app kiosk.
|
||||
|
||||
### Create 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. You can see a full sample version in the [Assigned access XML reference.](kiosk-xml.md)
|
||||
|
||||
```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="">
|
||||
<AllAppsList>
|
||||
<AllowedApps/>
|
||||
</AllAppsList>
|
||||
<StartLayout/>
|
||||
<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)
|
||||
|
||||
- [**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.
|
||||
|
||||
<span id="apps-sample" />
|
||||
|
||||
```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" />
|
||||
|
||||
#### [Preview] Global profile
|
||||
|
||||
Global profile is available in Windows 1. If you want everyone who signs into a specific device to be assigned as an access user, even if there's no dedicated profile for that user. Alternatively, perhaps Assigned Access couldn't identify a profile for the user and you want to have a fallback profile. Global profile is designed for these scenarios.
|
||||
|
||||
Usage is demonstrated below, by using the new XML namespace and specifying `GlobalProfile` from that namespace. When you configure `GlobalProfile`, a non-admin account logs in, if this user doesn't have a designated profile in Assigned Access, or Assigned Access fails to determine a profile for current user, a global profile is applied for the user.
|
||||
|
||||
> [!NOTE]
|
||||
> 1. `GlobalProfile` can only be a multi-app profile.
|
||||
> 1. Only one `GlobalProfile` can be used in one `AssignedAccess` configuration XML.
|
||||
> 1. `GlobalProfile` can be used as the only config, or it can be used along with regular user or group config.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<AssignedAccessConfiguration
|
||||
xmlns="https://schemas.microsoft.com/AssignedAccess/2017/config"
|
||||
xmlns:v2="https://schemas.microsoft.com/AssignedAccess/201810/config"
|
||||
xmlns:v3="https://schemas.microsoft.com/AssignedAccess/2020/config"
|
||||
>
|
||||
<Profiles>
|
||||
<Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
|
||||
<AllAppsList>
|
||||
<AllowedApps>
|
||||
<App AppUserModelId="Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer" v2:AutoLaunch="true" v2:AutoLaunchArguments="123"/>
|
||||
<App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
|
||||
<App AppUserModelId="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
|
||||
<App DesktopAppPath="%SystemRoot%\system32\notepad.exe" />
|
||||
</AllowedApps>
|
||||
</AllAppsList>
|
||||
<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="Life at a glance">
|
||||
<start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowsLive.calendar" />
|
||||
<start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" />
|
||||
<!-- A link file is required for desktop applications to show on start layout, the link file can be placed under
|
||||
"%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs" if the link file is shared for all users or
|
||||
"%AppData%\Microsoft\Windows\Start Menu\Programs" if the link file is for the specific user only
|
||||
|
||||
see document https://learn.microsoft.com/windows/configuration/start-layout-xml-desktop
|
||||
-->
|
||||
<!-- for inbox desktop applications, a link file might already exist and can be used directly -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Accessories\paint.lnk" />
|
||||
<!-- for 3rd party desktop application, place the link file under appropriate folder -->
|
||||
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%AppData%\Microsoft\Windows\Start Menu\Programs\MyLOB.lnk" />
|
||||
</start:Group>
|
||||
</defaultlayout:StartLayout>
|
||||
</StartLayoutCollection>
|
||||
</DefaultLayoutOverride>
|
||||
</LayoutModificationTemplate>
|
||||
]]>
|
||||
</StartLayout>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<v3:GlobalProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
||||
|
||||
### 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 All Programs list from the Start menu | 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 'Map Network Drive' and 'Disconnect Network Drive' | 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 drivers
|
||||
|
||||
> [!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
|
||||
|
||||
<span id="lnk-files" />
|
||||
|
||||
## 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,404 +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
|
||||
|
||||
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.
|
||||
|
||||
## Configure a Multi-App Kiosk
|
||||
|
||||
See the table below for the different methods to configure a multi-app kiosk in Windows 11.
|
||||
|
||||
|Configuration Method|Availability|
|
||||
|--------------------|------------|
|
||||
|[MDM WMI Bridge Provider](#configure-a-kiosk-using-wmi-bridge) | Available May 2023|
|
||||
|
||||
<!--
|
||||
|
||||
Commenting out the coming soon items
|
||||
|Intune|Coming soon|
|
||||
|Provisioning Package Using Windows Configuration Designer| Coming soon|
|
||||
-->
|
||||
|
||||
> [!NOTE]
|
||||
> For WMI Bridge/PowerShell and Provisioning package methods, you will need to create your own multi-app kiosk XML file as specified below.
|
||||
|
||||
## 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:win11="http://schemas.microsoft.com/AssignedAccess/2022/config">
|
||||
<Profiles>
|
||||
<Profile Id="">
|
||||
<AllAppsList>
|
||||
<AllowedApps/>
|
||||
</AllAppsList>
|
||||
<win11: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.
|
||||
|
||||
<span id="apps-sample" />
|
||||
|
||||
```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
|
||||
<win11: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"}
|
||||
] }
|
||||
]]>
|
||||
</win11: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:win11="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>
|
||||
<win11: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"}
|
||||
] }
|
||||
]]>
|
||||
</win11:StartPins>
|
||||
<Taskbar ShowTaskbar="true"/>
|
||||
</Profile>
|
||||
</Profiles>
|
||||
<Configs>
|
||||
<Config>
|
||||
<Account>MultiAppKioskUser</Account>
|
||||
<DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
|
||||
</Config>
|
||||
</Configs>
|
||||
</AssignedAccessConfiguration>
|
||||
```
|
@ -1,28 +0,0 @@
|
||||
---
|
||||
title: Lockdown features from Windows Embedded 8.1 Industry
|
||||
description: Many of the lockdown feature available in Windows Embedded 8.1 Industry have been modified in some form for Windows 10.
|
||||
ms.topic: article
|
||||
appliesto:
|
||||
- ✅ <a href=/windows/release-health/supported-versions-windows-client target=_blank>Windows 10</a>
|
||||
ms.date: 12/31/2017
|
||||
---
|
||||
|
||||
# Lockdown features from Windows Embedded 8.1 Industry
|
||||
|
||||
Many of the lockdown feature available in Windows Embedded 8.1 Industry have been modified in some form for Windows 1. This table maps Windows Embedded Industry 8.1 features to Windows 10 Enterprise features, along with links to documentation.
|
||||
|
||||
|Windows Embedded 8.1 Industry lockdown feature|Windows 10 feature|Changes|
|
||||
|--- |--- |--- |
|
||||
|[Hibernate Once/Resume Many (HORM)](/previous-versions/windows/embedded/dn449302(v=winembedded.82)): Quick boot to device|[HORM](/windows-hardware/customize/enterprise/hibernate-once-resume-many-horm-)|HORM is supported in Windows 10, version 1607 and later.|
|
||||
|[Unified Write Filter](/previous-versions/windows/embedded/dn449332(v=winembedded.82)): protect a device's physical storage media|[Unified Write Filter](/windows-hardware/customize/enterprise/unified-write-filter)|The Unified Write Filter is continued in Windows 10.|
|
||||
|[Keyboard Filter](/previous-versions/windows/embedded/dn449298(v=winembedded.82)): block hotkeys and other key combinations|[Keyboard Filter](/windows-hardware/customize/enterprise/keyboardfilter)|Keyboard filter is added in Windows 10, version 151. As in Windows Embedded Industry 8.1, Keyboard Filter is an optional component that can be turned on via **Turn Windows Features On/Off**. Keyboard Filter (in addition to the WMI configuration previously available) will be configurable through Windows Imaging and Configuration Designer (ICD) in the SMISettings path.|
|
||||
|[Shell Launcher](/previous-versions/windows/embedded/dn449423(v=winembedded.82)): launch a Windows desktop application on sign-on|[Shell Launcher](/windows-hardware/customize/enterprise/shell-launcher)|Shell Launcher continues in Windows 1. It's now configurable in Windows ICD under the **SMISettings** category.<br>Learn [how to use Shell Launcher to create a kiosk device](/windows/configuration/kiosk-single-app) that runs a Windows desktop application.|
|
||||
|[Application Launcher](/previous-versions/windows/embedded/dn449251(v=winembedded.82)): launch a Universal Windows Platform (UWP) app on sign-on|[Assigned Access](/windows/client-management/mdm/assignedaccess-csp)|The Windows 8 Application Launcher has been consolidated into Assigned Access. Application Launcher enabled launching a Windows 8 app and holding focus on that app. Assigned Access offers a more robust solution for ensuring that apps retain focus.|
|
||||
|[Dialog Filter](/previous-versions/windows/embedded/dn449395(v=winembedded.82)): suppress system dialogs and control which processes can run|[AppLocker](/windows/device-security/applocker/applocker-overview)|Dialog Filter has been deprecated for Windows 1. Dialog Filter provided two capabilities; the ability to control which processes were able to run, and the ability to prevent dialogs (in practice, system dialogs) from appearing.<li>Control over which processes are able to run will now be provided by AppLocker.<li>System dialogs in Windows 10 have been replaced with system toasts. To see more on blocking system toasts, see Toast Notification Filter below.|
|
||||
|[Toast Notification Filter](/previous-versions/windows/embedded/dn449360(v=winembedded.82)): suppress toast notifications|Mobile device management (MDM) and Group Policy|Toast Notification Filter has been replaced by MDM and Group Policy settings for blocking the individual components of noncritical system toasts that may appear. For example, to prevent a toast from appearing when a USB drive is connected, ensure that USB connections have been blocked using the USB-related policies, and turn off notifications from apps.<br>Group Policy: **User Configuration** > **Administrative Templates** > **Start Menu and Taskbar** > **Notifications**<br>MDM policy name may vary depending on your MDM service. In Microsoft Intune, use **Allow action center notifications** and a [custom OMA-URI setting](/mem/intune/configuration/custom-settings-windows-10) for **AboveLock/AllowActionCenterNotifications**.|
|
||||
|[Embedded Lockdown Manager](/previous-versions/windows/embedded/dn449279(v=winembedded.82)): configure lockdown features|[Windows Imaging and Configuration Designer (ICD)](/windows/configuration/provisioning-packages/provisioning-install-icd)|The Embedded Lockdown Manager has been deprecated for Windows 10 and replaced by the Windows ICD. Windows ICD is the consolidated tool for Windows imaging and provisioning scenarios and enables configuration of all Windows settings, including the lockdown features previously configurable through Embedded Lockdown Manager.|
|
||||
|[USB Filter](/previous-versions/windows/embedded/dn449350(v=winembedded.82)): restrict USB devices and peripherals on system|MDM and Group Policy|The USB Filter driver has been replaced by MDM and Group Policy settings for blocking the connection of USB devices.<br> <br> Group Policy: **Computer Configuration** > **Administrative Templates** > **System** > **Device Installation** > **Device Installation Restrictions**<br>MDM policy name may vary depending on your MDM service. In Microsoft Intune, use **Removable storage**.|
|
||||
|[Assigned Access](/previous-versions/windows/embedded/dn449303(v=winembedded.82)): launch a UWP app on sign-in and lock access to system|[Assigned Access](/windows/client-management/mdm/assignedaccess-csp)|Assigned Access has undergone significant improvement for Windows 1. In Windows 8.1, Assigned Access blocked system hotkeys and edge gestures, and noncritical system notifications, but it also applied some of these limitations to other accounts on the device.<br>In Windows 10, Assigned Access no longer affects accounts other than the one being locked down. Assigned Access now restricts access to other apps or system components by locking the device when the selected user account logs in and launching the designated app above the lock screen, ensuring that no unintended functionality can be accessed.<br><br>Learn [how to use Assigned Access to create a kiosk device](/windows/configuration/kiosk-single-app) that runs a Universal Windows app.|
|
||||
|[Gesture Filter](/previous-versions/windows/embedded/dn449374(v=winembedded.82)): block swipes from top, left, and right edges of screen|MDM and Group Policy|In Windows 8.1, gestures provided the ability to close an app, to switch apps, and to reach the Charms. In Windows 10, Charms have been removed. In Windows 10, version 1607, you can block swipes using the [Allow edge swipe](/windows/client-management/mdm/policy-configuration-service-provider#LockDown_AllowEdgeSwipe) policy.|
|
||||
|[Custom sign in](/previous-versions/windows/embedded/dn449309(v=winembedded.82)): suppress Windows UI elements during Windows sign-on, sign out, and shut down|[Embedded sign in](/windows-hardware/customize/desktop/unattend/microsoft-windows-embedded-embeddedlogon)|No changes. Applies only to Windows 10 Enterprise and Windows 10 Education.|
|
||||
|[Unbranded Boot](/previous-versions/windows/embedded/dn449249(v=winembedded.82)): custom brand a device by removing or replacing Windows boot UI elements|[Unbranded Boot](/windows-hardware/customize/enterprise/unbranded-boot)|No changes. Applies only to Windows 10 Enterprise and Windows 10 Education.|
|