Skip to content

Commit

Permalink
Merge pull request #10510 from MicrosoftDocs/main
Browse files Browse the repository at this point in the history
Publish main to live, 01/16/25, 3:30 PM PT
  • Loading branch information
garycentric authored Jan 17, 2025
2 parents 9526f43 + 067084a commit a6f1668
Show file tree
Hide file tree
Showing 102 changed files with 6,042 additions and 43 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
133 changes: 133 additions & 0 deletions windows/configuration/custom-logon/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
title: Custom Logon
description: Custom Logon
ms.date: 03/05/2024
ms.topic: overview
---

# Custom Logon

You can use the Custom Logon feature to suppress Windows UI elements that relate to the Welcome screen and shutdown screen. For example, you can suppress all elements of the Welcome screen UI and provide a custom logon UI. You can also suppress the Blocked Shutdown Resolver (BSDR) screen and automatically end applications while the OS waits for applications to close before a shutdown.

Custom Logon settings don't modify the credential behavior of **Winlogon**, so you can use any credential provider that is compatible with Windows 10 to provide a custom sign-in experience for your device. For more information about creating a custom logon experience, see [Winlogon and Credential Providers](/windows/win32/secauthn/winlogon-and-credential-providers).

## Requirements

Custom Logon can be enabled on:

- Windows 10 Enterprise
- Windows 10 IoT Enterprise
- Windows 10 Education
- Windows 11 Enterprise
- Windows 11 IoT Enterprise
- Windows 11 Education

## Terminology

**Turn on, enable:** To make the feature available and optionally apply settings to the device. Generally *turn on* is used in the user interface or control panel, whereas *enable* is used for command line.

**Configure:** To customize the setting or subsettings.

**Embedded Logon:** This feature is called Embedded Logon in Windows 10, version 1511.

**Custom Logon:** This feature is called Custom Logon in Windows 10, version 1607 and later.

## Turn on Custom Logon

Custom Logon is an optional component and isn't turned on by default in Windows 10. It must be turned on prior to configuring. You can turn on and configure Custom Logon in a customized Windows 10 image (.wim) if Microsoft Windows hasn't been installed. If Windows has already been installed and you're applying a provisioning package to configure Custom Logon, you must first turn on Custom Logon in order for a provisioning package to be successfully applied.

The Custom Logon feature is available in the Control Panel. You can set Custom Logon by following these steps:

### Turn on Custom Logon in Control Panel

1. In the Windows search bar, type **Turn Windows features on or off** and either press **Enter** or tap or select **Turn Windows features on or off** to open the **Windows Features** window.
1. In the **Windows Features** window, expand the **Device Lockdown** node, and select (to turn on) or clear (to turn off) the checkbox for **Custom Logon**.
1. Select **OK**. The **Windows Features** window indicates that Windows is searching for required files and displays a progress bar. Once found, the window indicates that Windows is applying the changes. When completed, the window indicates the requested changes are completed.

### Turn on Custom Logon using DISM

1. Open a command prompt with administrator rights.
1. Enable the feature using the following command.

```cmd
dism /online /enable-feature /featureName:Client-EmbeddedLogon
```
## Configure Custom Logon
### Configure Custom Logon settings using Unattend
You can configure the Unattend settings in the [Microsoft-Windows-Embedded-EmbeddedLogon](/windows-hardware/customize/desktop/unattend/microsoft-windows-embedded-embeddedlogon) component to add custom logon features to your image during the design or imaging phase. You can manually create an Unattend answer file or use Windows System Image Manager (Windows SIM) to add the appropriate settings to your answer file. For more information about the custom logon settings and XML examples, see the settings in Microsoft-Windows-Embedded-EmbeddedLogon.
The following example shows how to disable all Welcome screen UI elements and the **Switch user** button.
```xml
<settings pass="specialize">
<component name="Microsoft-Windows-Embedded-EmbeddedLogon" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BrandingNeutral>17</BrandingNeutral>
<AnimationDisabled>1</AnimationDisabled>
<NoLockScreen>1</NoLockScreen>
<UIVerbosityLevel>1</UIVerbosityLevel>
<HideAutoLogonUI>1</HideAutoLogonUI>
</component>
</settings>
```

### Remove buttons from Logon screen

To remove buttons from the Welcome screen, set the appropriate value for **BrandingNeutral** in the following registry key:

```text
HKLM\Software\Microsoft\Windows Embedded\EmbeddedLogon
```

1. Make sure you have enabled Custom Logon following the instructions in [Turn on Custom Logon](#turn-on-custom-logon).
1. In the Windows search bar, type "Registry Editor" to open the **Registry Editor** window.
1. Use the file navigation in the left pane to access **HKLM\Software\Microsoft\Windows Embedded\EmbeddedLogon**.
1. In the right pane, right click on **BrandingNeutral** and select **Modify**.
1. Select the correct **Base** and enter the value for your desired customizations according to the following table, and click **OK** to apply the changes.

> [!NOTE]
> Changing the **Base** of **BrandingNeutral** will automatically convert the value field to the selected base. To ensure you are getting the correct value, select the base before entering the value.
The following table shows the possible values. To disable multiple Logon screen UI elements together, you can select the **Decimal** base when modifying the **BrandingNeutral** value, and combine actions by adding the decimal values of the desired actions and inputting the sum as the value of **BrandingNeutral**. For example, to disable the Power button and the Language button, select the decimal option for the base, then add the decimal values of each, in this case 2 and 4 respectively, and input the total (6) as the value for **BrandingNeutral**.

| Action |Description| Registry value (Hexadecimal) | Registry value (Decimal)|
|--------|------------|----|---|
| Disable all Logon screen UI elements |Disables the Power, Language, and Ease of Access buttons on the Logon and Ctrl+Alt+Del screens. |`0x1` | 1|
| Disable the Power button |Disables the Power button on the Logon and Ctrl+Alt+Del screens.|`0x2` |2|
| Disable the Language button |Disables the Language button on the Logon and Ctrl+Alt+Del screens.|`0x4` |4|
| Disable the Ease of Access button |Disables the Ease of Access button on the Logon and Ctrl+Alt+Del screens.|`0x8` |8|
| Disable the Switch user button |Disables the Switch User button from the Ctrl+Alt+Del screen, preventing a user from switching accounts. | `0x10` |16|
|Disable the Blocked Shutdown Resolver (BSDR) screen|Disables the Blocked Shutdown Resolver (BSDR) screen so that restarting or shutting down the system causes the OS to immediately force close any open applications that are blocking system shut down. No UI is displayed, and users aren't given a chance to cancel the shutdown process. | `0x20` |32|

In the following image of the `[ctrl + alt + del]` screen, you can see the Switch user button highlighted by a light green outline, the Language button highlighted by an orange outline, the Ease of Access button highlighted by a red outline, and the power button highlighted by a yellow outline. If you disable these buttons, they're hidden from the UI.

![custom logon screen](images/customlogoncad.jpg)

You can remove the Wireless UI option from the Welcome screen by using Group Policy.

### Remove Wireless UI from Logon screen

You use the following steps to remove Wireless UI from the Welcome screen

1. From a command prompt, run gpedit.msc to open the Local Group Policy Editor.
1. In the Local Group Policy Editor, under **Computer Configuration**, expand **Administrative Templates**, expand **System**, and then tap or click **Logon**.
1. Double-tap or click **Do not display network selection UI**.

## Additional Customizations

The following table shows additional customizations that can be made using registry keys.

|Action |Path |Registry Key and Value |
|---------|---------|---------|
|Hide Autologon UI |HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Embedded\EmbeddedLogon |`HideAutoLogonUI = 1`|
|Hide First Logon Animation |HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Embedded\EmbeddedLogon |`HideFirstLogonAnimation = 1` |
|Disable Authentication Animation |HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI |`AnimationDisabled = 1` |
|Disable Lock Screen | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization |`NoLockScreen = 1` |

## Related articles

- [Troubleshooting Custom Logon](troubleshoot.md)
- [Unbranded Boot](../unbranded-boot/index.md)
- [Shell Launcher](../shell-launcher/index.md)
105 changes: 105 additions & 0 deletions windows/configuration/custom-logon/troubleshoot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: Troubleshooting Custom Logon
description: Troubleshooting Custom Logon
ms.date: 05/02/2017
ms.topic: troubleshooting
---

# Troubleshooting Custom Logon

This section highlights some common issues that you may encounter when using Custom Logon.

## When automatic sign-in is enabled, the device asks for a password when resuming from sleep or hibernate

This can occur when your device is configured to require a password when waking up from a sleep state.

### To disable password protection on wake-up

1. If you have write filters enabled on your device, perform the following steps to disable them so that you can save setting changes:

1. At an administrator command prompt, type the following command:

```cmd
uwfmgr.exe filter disable
```
1. To restart the device, type the following command:
```cmd
uwfmgr.exe restart
```
1. In **Contol Panel**, search for **Power Options** , and then select the Power Options heading.
1. Under the **Power Options** heading, select **Require a password on wake up**.
1. On the **Define power buttons and turn on password protection** page, under **Password protection on wakeup**, select **Don't require a password**.
1. If you have disabled write filters, perform the following steps to enable them again:
1. At an administrator command prompt, type the following command:
```cmd
uwfmgr.exe filter enable
```
1. To restart the device, type the following command:
```cmd
uwfmgr.exe restart
```
## The device displays a black screen during setup
Set the **HideAutoLogonUI** and **AnimationDisabled** settings to **0** (zero). The device will then display a default screen during setup.
## The device displays a black screen when Ctrl+Alt+Del is pressed
**HideAutoLogonUI** and**ForceAutoLogon** have known issues when used together. To avoid a black screen, we recommend you use Keyboard Filter to block this key combination.
## The device displays a black screen when Windows key + L is used to lock the device
**HideAutoLogonUI** and **ForceAutoLogon** have known issues when used together. To avoid a black screen, we recommend you use Keyboard Filter to block this key combination.
### The device displays a black screen when Notepad is opened, any characters are typed and the current user signs out, or the device is rebooted, or the device is shut down
**HideAutoLogonUI** and **ForceAutoLogon** have known issues when used together. To avoid a black screen, we recommend you disable the Blocked Shutdown Resolver Screen (BSDR).
> [!WARNING]
> When the BSDR screen is disabled, restarting, or shutting down the device causes the OS to immediately force close any open applications that are blocking system shutdown. No UI is displayed, and users aren't given a chance to cancel the shutdown process. This can result in lost data if any open applications have unsaved data.
## The device displays a black screen when the device is suspended and then resumed
**HideAutoLogonUI** and **ForceAutoLogon** have known issues when used together. To avoid a black screen, we recommend you disable the password protection on wake-up.
### To disable password protection on wake-up
1. In **Control Panel**, select **Power Options**.
1. In the **Power Options** item, select **Require a password on wake up**.
1. On the **Define power buttons and turn on password protection** page, under **Password protection on wake up**, select **Don't require a password**.
### The device displays a black screen when a password expiration screen is displayed
**HideAutoLogonUI** has a known issue. To avoid a black screen, we recommend you set the password to never expire.
### To set a password to never expire on an individual user account
1. On your device, open a command prompt with administrator privileges.
1. Type the following, replacing *&lt;accountname&gt;* with the name of the account you want to remove the password expiration from.
```cmd
net accounts <accountname> /expires:never
```

### To set passwords to never expire on all user accounts

1. On your device, open a command prompt with administrator privileges.

1. Type the following

```cmd
net accounts /MaxPWAge:unlimited
```
20 changes: 20 additions & 0 deletions windows/configuration/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,18 @@
"assigned-access//**/*.yml": "paolomatarazzo",
"cellular//**/*.md": "paolomatarazzo",
"cellular//**/*.yml": "paolomatarazzo",
"custom-logon//**/*.md": "terrywarwick",
"custom-logon//**/*.yml": "terrywarwick",
"keyboard-filter//**/*.md": "terrywarwick",
"keyboard-filter//**/*.yml": "terrywarwick",
"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",
"shell-launcher//**/*.md": "terrywarwick",
"shell-launcher//**/*.yml": "terrywarwick",
"start//**/*.md": "paolomatarazzo",
"start//**/*.yml": "paolomatarazzo",
"store//**/*.md": "paolomatarazzo",
Expand All @@ -94,6 +100,10 @@
"taskbar//**/*.yml": "paolomatarazzo",
"tips//**/*.md": "paolomatarazzo",
"tips//**/*.yml": "paolomatarazzo",
"unbranded-boot//**/*.md": "terrywarwick",
"unbranded-boot//**/*.yml": "terrywarwick",
"unified-write-filter//**/*.md": "terrywarwick",
"unified-write-filter//**/*.yml": "terrywarwick",
"wcd//**/*.md": "vinaypamnani-msft",
"wcd//**/*.yml": "vinaypamnani-msft"
},
Expand All @@ -104,12 +114,18 @@
"assigned-access//**/*.yml": "paoloma",
"cellular//**/*.md": "paoloma",
"cellular//**/*.yml": "paoloma",
"custom-logon//**/*.md": "twarwick",
"custom-logon//**/*.yml": "twarwick",
"lock-screen//**/*.md": "paoloma",
"keyboard-filter//**/*.md": "twarwick",
"keyboard-filter//**/*.yml": "twarwick",
"lock-screen//**/*.yml": "paoloma",
"provisioning-packages//**/*.md": "vinpa",
"provisioning-packages//**/*.yml": "vinpa",
"shared-pc//**/*.md": "paoloma",
"shared-pc//**/*.yml": "paoloma",
"shell-launcher//**/*.md": "twarwick",
"shell-launcher//**/*.yml": "twarwick",
"start//**/*.md": "paoloma",
"start//**/*.yml": "paoloma",
"store//**/*.md": "paoloma",
Expand All @@ -118,6 +134,10 @@
"taskbar//**/*.yml": "paoloma",
"tips//**/*.md": "paoloma",
"tips//**/*.yml": "paoloma",
"unbranded-boot//**/*.md": "twarwick",
"unbranded-boot//**/*.yml": "twarwick",
"unified-write-filter//**/*.md": "twarwick",
"unified-write-filter//**/*.yml": "twarwick",
"wcd//**/*.md": "vinpa",
"wcd//**/*.yml": "vinpa"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Disable all blocked key combinations
description: Disable all blocked key combinations
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
2 changes: 0 additions & 2 deletions windows/configuration/keyboard-filter/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Keyboard Filter
description: Keyboard Filter
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: overview
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
---
title: Add blocked key combinations
description: Add blocked key combinations
ms.assetid: f51892fc-0262-4b25-b117-6e131b86fb68
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Keyboard Filter key names
description: Keyboard Filter key names
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: List all configured key combinations
description: List all configured key combinations
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Windows PowerShell script samples for Keyboard Filter
description: Windows PowerShell script samples for Keyboard Filter
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Keyboard Filter WMI provider reference
description: Keyboard Filter WMI provider reference
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Modify global settings
description: Modify global settings
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: how-to
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Predefined key combinations
description: Predefined key combinations
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: Remove key combination configurations
description: Remove key combination configurations
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
2 changes: 0 additions & 2 deletions windows/configuration/keyboard-filter/wekf-customkey.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
title: WEKF_CustomKey
description: WEKF_CustomKey
author: TerryWarwick
ms.author: twarwick
ms.date: 01/13/2025
ms.topic: reference
---
Expand Down
Loading

0 comments on commit a6f1668

Please sign in to comment.