Hide a Local User Account from the Sign-In Screen in Windows 11 by GUI or by Powershell Admin/Script


Overview

This guide explains how to create or use a local Windows 11 user account while hiding it from the login screen, so that the account remains active and accessible (by name/password), but does not appear among visible users at sign-in. The script near the end after the GUI steps will make this faster.

NOTE: The script is untested as of 6-20-25 because I don’t have time but from the looks of it seems pretty good. Definitely test on a throwaway vm before deploying the script please. – Andrae

This will be good for hiding the Scanning user especially, attention raised from Tavros #3583 where staff was concerned about having this extra user installed for no clear reason. We can use this to hide service accounts as needed so it doesn’t become a concern for anyone that might be a little more tech-fearful or just wants more cleanliness.


🔒 Who This Is For

  • Administrators creating service, support, or maintenance accounts.
  • Users who want to keep an account functional but discreet (not visible to regular users).

✅ Requirements

  • You must be logged in with an administrator account.
  • Be comfortable using the Registry Editor (regedit.exe).
  • 👇 (Optional) Backup your registry or create a System Restore point.

🧰 Step-by-Step Guide

1. Open Registry Editor

  • Press Win + R, type regedit, and press Enter.

2. Navigate to This Key

CopyEditHKEY_LOCAL_MACHINE\
 SOFTWARE\Microsoft\Windows NT\
 CurrentVersion\Winlogon

3. Create Required Subkeys

  • Right-click Winlogon ➜ New ➜ Key, name it SpecialAccounts.
  • Under SpecialAccounts, create another key named UserList.

4. Add the User to Hide

5. Restart Windows

  • Logs off or reboot the PC to apply changes.
  • The specified user will no longer appear on the Windows 11 login screen, although the account is still active with its password intactwintips.org+1umatechnology.org+1.

🔄 Unhide or Re-enable an Account


🔔 Important Notes

  • Account remains usable: Users can still log on if they manually type the account name and password (e.g. via `Ctrl+Alt+Del ➜ “Other User”)superuser.com+20xjamesli.com+2wintips.org+2.
  • Does not increase security: This is an obscurity measure, not real protection—admins with registry or local privileges can still see and modify hidden accounts.
  • Admin account caution: If you hide the only admin-level account, consider having another visible admin available to avoid lockout0xjamesli.com+4checksomebytes.com+4wintips.org+4.

👥 Alternative Methods

MethodDescription
Disable the AccountMakes the account unusable, not just hidden. Run: net user username /active:notechssh.com+7wintips.org+7superuser.com+7
Group PolicyEnterprise/Pro users can adjust GPO to hide last user or enumerate accounts; not aimed at per-user hiding

🔍 Troubleshooting

  • Registry path must be exact, including spelling and capitalization.
  • Ensure the username matches exactly (including spaces or symbols).
  • If changes aren’t immediate, reboot.
  • If locked out of admin rights, you can still revert using runas from a standard accountanswers.microsoft.com+1superuser.com+1.

✅ Summary

To hide an active local user account from the Windows 11 sign-in screen:

  1. Use Registry Editor to add a DWORD under:CopyEditHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
  2. Name it after the user and set the value to 0.
  3. Restart the computer.
  4. To unhide, change value to 1 or delete it.

This method effectively hides the account from the login UI, while preserving its functionality—useful for behind-the-scenes or admin accounts.


📚 Sources

Let me know if you’d like screenshots, automation scripts, or batch commands to make this process even easier!

Favicon
Favicon
Favicon

Sources

You said:

A powershell script to do this even quicker would be awesome if you’ve got it.

ChatGPT said:

Here’s a PowerShell script that automates hiding (or unhiding) a local user account from the Windows 11 login screen by updating the registry:

powershellCopyEdit<#
 .SYNOPSIS
   Hide or show a local user account on the login screen (Windows 10/11).
 .PARAMETER Username
   Name of the local user account to toggle.
 .PARAMETER Hide
   Specify $true to hide the account, $false to show (or remove) it.
 .EXAMPLE
   .\HideLocalUser.ps1 -Username "ServiceAccount" -Hide $true
#>

param(
  [Parameter(Mandatory)][string]$Username,
  [Parameter()][bool]$Hide = $true
)

$regPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList"

# Ensure the key path exists
if (-not (Test-Path $regPath)) {
    New-Item -Path $regPath -Force | Out-Null
}

# Set DWORD to 0 to hide, 1 (or delete) to show
if ($Hide) {
    New-ItemProperty -Path $regPath -Name $Username -PropertyType DWORD -Value 0 -Force | Out-Null
    Write-Output "✅ '$Username' is now hidden from the login screen."
} else {
    # Option A: Set value to 1
    if (Get-ItemProperty -Path $regPath -Name $Username -ErrorAction SilentlyContinue) {
        Remove-ItemProperty -Path $regPath -Name $Username -ErrorAction SilentlyContinue
    }
    Write-Output "✅ '$Username' is now visible on the login screen."
}

📌 How to Use

  1. Save the above script as HideLocalUser.ps1.
  2. Open PowerShell as Administrator.
  3. Run to hide:powershellCopyEdit.\HideLocalUser.ps1 -Username "YourUserName" -Hide $true
  4. Or run to unhide:powershellCopyEdit.\HideLocalUser.ps1 -Username "YourUserName" -Hide $false
  5. Reboot the PC to apply the changes and refresh the sign-in screen.

🧠 How It Works


✅ Bonus Tip

To quickly hide built-in or admin accounts, you can edit the script like this (no prompts):

powershellCopyEdit.\HideLocalUser.ps1 -Username "Administrator" -Hide $true

Great for service or admin user automation.