If you have multiple user accounts in Windows 8 (e.g. one for yourself and another for your family member), you may notice a new annoyance in Windows 8 - it signs in the last user automatically who shut down/rebooted the PC. Most users would not like to be signed in automatically and would instead prefer seeing a list of users at the logon screen, from where they can choose which user account to login with. Today, we are going to share a way to prevent Windows 8 from automatically signing in the last user. Let's start.
Overview
In Windows 8, the auto sign in process is controlled via the "Enabled" DWORD value at the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch
If the "Enabled" parameter is set to 1, you will get a list of users instead of the last user automatically getting signed in. A problem however is the behavior of the LogonUI.exe process which resets the "Enabled" value back to zero at every startup, even if you set it manually to 1. Why this behavior is introduced is not known.
We need a way to prevent the "Enabled" value from being reset to 0 every time and to set it back to 1 before the next logon so that the list of users is displayed.
Here are the steps to do just that.
First, make sure that you have disabled the automatic sign in option. Press Win+R keys on the keyboard and type the following:
netplwiz
Then press Enter.
The following window will be displayed:
Check the option called "Users must enter a user name and password to use this computer".
How to prevent Windows 8 from logging in automatically to the last logged-in user
This method is based on Group Policy and uses the Logon/Logoff Scripts feature of Group Policy. It is probably the best way to keep the Enabled value equal to 1 at the end of your Windows session.
You must specify reg.exe as script name and 'add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f' (without the quotes) as script parameters:
After you do this, you will get the user list every time Windows 8 tries to log on. A quite simple trick.
But it is not so easy to provide ready-to-use scripts for you for this method because GPO settings are per-user and they are stored in the registry at a path which includes the user's unique SID (S-1-1-164699034-like thing, known as security identifier). On every machine, this SID is unique and different. So I created a tool to automate all the steps with one click.
Download my User List Enabler - free, portable tool.
It does exactly what I mentioned above - finds the user's SID and adds the necessary registry values, so that you will be able to enable the user account list on the Windows 8 logon screen with one click.
How to restore defaults and undo this
If you are using Group Policy's Logoff script, simply remove the script. If you used my tool to enable the user list, you can disable it and restore the defaults using 1-click.
Thanks to Gaurav Kale which helped me with this research.
That's it. Please share with us if you could tweak this behavior in the comments below.





Hey,
I’ve been following this blog for a couple months now, you have really cool tips and tricks.
One thing, as another user commented on another post, you should explain the manual process completely, then have a ready-to-use scripts sections for the casual folks.
Call me lazy, but I hate having to download the .zip to read the .txt files and cmd’s then having to delete everything just to know what to do manually.
Maybe some1 is interested in changing default windows 8 fonts? Here’s an app
Sorry for off-topic.
If you use this, It will break the windows 8 store from being able to log you on and it will break the remote desktop connection credentials to do remote desktop connections, also the UNdo script did NOT work, it refused to change it even after right clicking and run as administrator, I just spent the last half hour trying to figure out what went wrong and this was the only tweak I did all day thank GOD, so I could figure out what went wrong and where, Great script but did NOT work at all for critical things like the rdc and store apps. Thank you anyway,,,Love your site and use many of the tools.
I tried it and see no such behavior. You may be mistaking something else you did and blaming it on the script. I am sorry, anyway. There is no any side effect from this scripts
Same problem here… No app login (store, calendar, …) with my microsoft account possible with this tweak. And everytime the event log tells about an application error in CredentialUIBroker.exe
For me the undo script also didn’t work. I had to change the registry value on my own.
For your information: I have two active local users for login.
Please help! the undo script doesn’t work, I tried modify the registry by my own, and it says “Cannot edit Enabled. Error writing the value’s new components”
More info for you, win 8 pro, multiple user accounts, everything turned off, location, live tiles, etc etc, port 3389 works fine for remote desktop, but I also have more than one server ported out to 3390, 3391, etc, and that was the one that would not work because it was saying the credentials, when I undid the script it worked, also the windows store would not let me log in no matter what I did, unless I switched to a Microsoft account instead of a local account, I never run a Microsoft account in win 8, only local, then I switched back again and it was the same thing, can’t sign in.
I looked around online and can’t seem to find why it would do that? Thank you:)
Try this:
Tried and working. Thanks!!!
Thanks!!! It works.
It worked…
Until I shutdown my pc via the switch on my computer. After that it tried to login back to the last account.
The DWORD was back to 0
Same problem here… At second start up it’s back to “normal”…
Finally! It works! It had been months that I waited this solution.
(only works if the program is started for each user)
Thank you!
Hi Sergey,
I have this issue in my Windows 8 laptop and finally found the value to turn it off by reading your post. One question I have:
Why do you implement the script at the User Configuration\Windows Settings\Scripts\Logoff stage in GPO? Not all users can change the HKLM values.
I recommend implementing the reg script at the Computer Configuration\Windows Settings\Scripts\Shutdown or Startup stage instead, so one GPO takes care of all users, regardless of their SID
That’s because if it’s enabled throughout the user session (at startup), “Run as different user” functionality in the context menu is broken and Explorer crashes.
Sorry Sergey but your tool ´User List Enabler´ doesn´t work!
After downloading, installing and reboot, myPC goes to the latest user at startup like before!
Which edition of Windows 8 you have? Pro or just Windows 8?
No Pro, just Windows 8.
It looks like it does not support Group Policy settings. I will implement an alternative way to fix the issue.
Thanks Sergey, It would be very nice.
Regards, Sia
fixed. I will cover hows new version works soon.
Could you please release the fix so that we can use it?
Thanks
I have released it.
User List Enabler 2.0 uses Task Scheduler way to perform the task mentioned in this article.
The download link is the same:
Change log
v2.0
User list enabler now compatible with Windows 8 and Windows 8 Pro.
Fixed a bug with user account which is not administrator.
Application was rewritten from scratch.
Please let me know if you have any issues with latest version.
I have tried the tool but nothing happened my windows is winows 8 Enterprise x64
Just installed and ran the tool. It Works perfect!
Thanks
Does not work anymore since 07/04/2013. it could be because of an update. After the restart, the registry key is set to 0 when it should be 1 because of the script.
On windows 8 pro x64.
I downloaded your tool but it didn’t work for me (Windows 8 32-bit Pro) but the Group Policy method worked perfectly so thanks, great info
I seem to have an issue with the regedit and the gpedit method as well:
I currently have 3 users on my machine; my admin account and 2 other basic user accounts for my parents. I’ve set the registry value to 1 and have kept it that way via the group policy script but only on my account! When I’ve checked the registry value on the other two accounts; they are always set to 0 and, seeing as how these two accounts are not administrator accounts, I can’t set the group policy script on them
The result:
After using my admin account and shutting down/restarting/logging off; the user list screen is displayed correctly. However, after the other two, non-admin accounts use the computer, Windows tries to login automatically to them on the next startup.
Any suggestions? Contact me via e-mail, if possible: chestbuster1987@gmail.com
Thanks in advance