Force Windows 8 to show all user accounts on the Sign on screen

Find out how to make Windows 8 show all user accounts on the Sign on screen all the time - it is not as easy as it should be.

Do you have multiple accounts set up on your Windows 8 system? If so, then you know that each time that you start your system, the Windows 8 Sign on screen will display the account of the last person to sign on the system. If you want to login as a different user, then you must click the arrow to go back to a Sign on screen that displays all of the available user accounts.

This blog post is also available as a TechRepublic Screenshot Gallery.

For example, on my test system, I have three user accounts. When I start up Windows 8 and get to the Sign on screen, I see the user account that I used last. In this case Greg Shultz. If I want to sign in with one of the other accounts, I must click the arrow next to my account picture. As soon as I do, the Sign on screen will display all of my user accounts. This is illustrated in Figure A.

Figure A

You need to click the arrow to see all the available user accounts.

While this is a simple procedure, I've heard quite a few complaints about not being able to immediately see all user accounts on the Sign on screen. They then cite the fact that Windows 7's Log on screen always displayed all of the available user accounts.

So I set out to find a way make Windows 8 show all user accounts on the Sign on screen all the time. At first I thought that it would be as simple as changing a Group Policy or Security Policy setting, but that isn't the case.

I then turned to the registry and found a key containing a simple value I could change from a 0 to a 1 that would indeed do the trick. However, I discovered that it would only work once. I could change the registry value, restart the system, and the Sign on screen would show all user accounts. Restart again and the Sign on screen would show only the last used account. This would play out each time I changed the value.

I then learned that Windows 8 considers that particular registry value to be a system setting and even though you are allowed to change it, the operating system automatically changes it back to the default value as soon as you sign on.

Since you can change that value without any repercussions, I then set out to find a way to automate the process, such that the value would be changed every time you sign on or sign off. I then recalled a technique that I created for Windows Vista in which I used Task Scheduler to launch UAC restricted programs at startup. The Task Scheduler technique worked! Now, every time that I start Windows 8, the Sign on screen shows all user accounts.

In this edition of the Windows Desktop Report, I'll show you how to implement the full technique from changing the registry value to employing Task Scheduler to automate the procedure. Keep in mind that while automating the procedure is the ultimate goal, I am going to delve into the registry so that you will understand what is happening in the background.

Note: Keep in mind that the first account that you set up on your Windows 8 system is by default an Administrator account. When you set up additional accounts they will be, by default, set up as Standard user accounts. In order to perform the steps shown in this article, you must be signed in to an account that has Administrator privileges.

Make a backup

Before you begin, keep in mind that the Registry is vital to the operating system and changing it can be dangerous if you inadvertently make a mistake. As such, you should take the time to back up your system by creating a system image as I showed you in Restore Windows 8 with System Image Recovery. That way if anything goes awry, you can restore your system and get right back to work.


To force Windows 8 to display all user accounts on the Sign on screen, all you need to do is access the UserSwitch key and change the Enabled DWORD value from a 0 to a 1. (The UserSwitch key is located in the registry path:


Since the registry in the Windows 8 operating system is huge and navigating in it can be tricky, I'll show you how to use the Find feature in the Registry Editor to make navigation easier. With this in mind, let's jump in.

Editing the registry

To launch the Registry Editor in Windows 8, use the [Windows] + Q keystroke to access the Apps Search page. Then, type Regedit in the text box and click Regedit, as shown in Figure B. If you prefer, you can use the [Windows] + R keystroke to bring up the Run dialog box, type Regedit in the Open text box, and click OK.

Figure B

Accessing the Registry Editor from the Start screen is easy.

Either way that you launch the Registry Editor, you'll see a User Account Control dialog box and will need to click the Yes button. You'll then see the Registry Editor.

Once you have the Registry Editor up and running, locate and right-click on HKEY_LOCAL_MACHINE key and select the Find command. When you see the Find dialog box, type UserSwitch in the text box and make sure that the Keys and the Match whole string only check boxes are selected, as shown in Figure C. To continue, click the Find Next button.

Figure C

Type UserSwitch in the Find dialog box.
In a moment, you will arrive at the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch key. (Check the Status bar to be sure.) You will now see the Enabled value in the UserSwitch key and notice that it is set to 0. Just double-click the Enable value and change the Value data to a 1. This process is illustrated in Figure D.

Figure D

Type a 1 in the Value data box.

To continue, click OK and then close the Registry Editor. If you now restart your system, you will see that the Sign on screen displays all the available user accounts. However, if you sign in to an account and then restart your system again, you'll see that the Sign on screen will now show only the last used account.

Automating the procedure

To configure the system so that the sign on screen always shows all user accounts, you can automate the procedure of changing the Enabled value in the registry. Automating the procedure requires two steps: creating a good old fashioned batch file and then creating a task in Task Scheduler that runs the batch file.

The batch file that will launch the Reg.exe command along with a set of parameters that will perform the same registry edit shown above - change the UserSwitch\Enabled value from a 0 to a 1. You will configure the task so that it will run that batch file whenever any user signs into Windows 8.

Creating the batch file

To make the batch file accessible regardless of who is signing in to the system, I created a folder called ShowAllUsers in the root directory of drive C and then saved my batch file there, as shown in Figure E.

Figure E

To allow the system to run the batch file, you will create a folder in the root directory.
To create the batch file, just open Notepad and type the command line as shown in Figure F. Then save the file as ShowAllUsers.bat in the C:\ShowAllUsers folder. Let's take a closer look and the parameters in the command line.
REG ADD HKLM\SOFTWARE\Microsoft\Windows|CurrentVersion|Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f

Figure F

You will use Notepad to create the batch file.
  • REG ADD - The ADD parameter specifies that we will be adding a value to the registry. (While we are actually changing an existing value, we have to use Reg.exe's ADD parameter.)
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch - This is the path to the value that we will be changing.
  • /v Enabled - This part of the command line specifies the name of value that we will be changing - in this case Enabled.
  • /t REG_DWORD - This part of the command line specifies the type of value that we will be changing - in this case it is a DWORD value.
  • /d 1 - This part of the command line specifies the data that we will be assigning to the Enabled value - in this case the number 1.
  • /f - This part of the command line specifies that we want to force the overwriting of existing data without being prompted to confirm the operation.

Creating the task

Now that you have the batch file created, you can create a task that will run it. To launch the Task Scheduler in Windows 8, use the [Windows] + W keystroke to access the Search Settings page. Then, type Schedule in the text box and click Schedule tasks, as shown in Figure G.

Figure G

Accessing the Task Scheduler from the Start screen is easy.
In a moment, you'll see the Task Scheduler window and will select Create Task item in the Actions panel, as shown in Figure H. When the Create Task dialog box appears, you'll see that it has six tabs.

Figure H

In the Task Scheduler window, you'll begin by selecting the Create Task action.
On the General tab, you'll assign the task a name in the Name box and type a description in the Description box. You'll then move down to the Security options panel and select the Run whether user is logged on or not option and then select the Run with highest privileges check box. Next, select Windows 8 from the Configure for drop down menu. Your General tab should look like the one shown in Figure I.

Figure I

You'll configure five settings on the General tab.

The reason that you select the the Run whether user is logged on or not option is so this task will run for every user that signs on to the system. And, the reason that you select the Run with highest privileges check box is so that task will run for every user regardless of whether their account is set up with administrator or standard user privileges.

Next, you'll need to configure a Trigger. To do so, select the Triggers tab and then click the New button. When you see the New Trigger dialog box, select At log on from the Begin the task drop down menu and then select the Any user option. Leave all the other settings as they are. Your New Trigger dialog box should look like the one shown in Figure J.

Figure J

You'll configure only two settings in the New Trigger dialog box.
To continue, click OK to close the New Trigger dialog box, select the Actions tab, and then select the New button. When you see the New Action dialog box, select Start a program from the Action drop down menu. Then in the Settings panel click the Browse button and locate the ShowAllUsers.bat file in the C:\ShowAllUsers folder. Your New Action dialog box should look like the one shown in Figure K.

Figure K

You'll configure only two settings in the New Action dialog box.
To continue, click OK to close the New Action dialog box. You don't need to configure any settings on the Conditions or Settings tabs, so just click OK to close the Create Task dialog box. When you do, you'll see a dialog box that prompts you to enter your password, as shown in Figure L. Entering your password will allow the settings you chose in the Security options panel on the General tab to function for all users.

Figure L

When you click OK, you'll be prompted to enter your password.
When you return to the Task Scheduler window, you can select Task Scheduler Library from the Console Tree and will find that the ShowAllUsers task is ready to run, as shown in Figure M. At this point you can close Task Scheduler.

Figure M

When you select Task Scheduler Library, you'll see that the ShowAllUsers task is Ready to go.

To test your new task, just restart your system. When you do, you will see that all user accounts are displayed on the Sign on screen. Keep in mind that if you did not manually make the change to the registry that I showed you in the Edit the registry section above, you will need to sign in at least once before the Sign in screen will show all users.

What's your take?

If you have multiple accounts set up on your Windows 8 system, chances are that you would like to have the Sign on screen show all user accounts rather than just the immediately displaying the last user account that was signed on to the system. In this article, I've shown you how to accomplish this with an automated procedure. Are you likely to use this procedure on your Windows 8 system? As always, if you have comments or information to share about this topic, please take a moment to drop by the TechRepublic Community Forums and let us hear from you.

Also read:


Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.



I agree this tweak is sophisticated, very well documented by Greg and looks charming but beware, it has a very bad impact on windows authentication.
It must be some bug in Windows but changing the registry like this will implicate problems sooner or later.
People who are not connected to a network (the internet) will not suffer, but those who need authentication, f.i. for RDP, connecting Outlook to an Exchange server or opening network computers will experience this:
DUI70.dll makes Shell32.dll crash (Windows shell common dll has stopped working) when trying to authenticate with Windows credentials.
So be aware of this or simply discard this charming hack. Mind you it's merely a cosmetic thing, you don't want to experience my frustrations, especially not later on, when you have forgotten you once implemented this tweak.

For those of you who like to read about other people’s misery here’s a short story.
I upgraded my wife's PC from Windows 7 to windows 8.1 keeping everything: can be tricky because you inherit possible flaws from your old system, but it saves you reinstalling all your software after a fresh install of the new OS.
So I bumped on this stupid one user login screen (there are three users on her PC) and I found Greg’s solution which worked like a charm.
Further on after tweaking some more Win8 annoyances like start button I installed MS Office 2013 and tried to connect Outlook with an Exchange server.
Crash. I wondered if it was because I did an upgrade instead of a fresh install and spent hours googling - Common Shell crash is quite, eh, common and also invoked by many other problems. Hours of trying all sorts of solutions, new user, sfc /scannow – the usual stuff. But nothing worked.
Then I accidentally found that connecting to another machine in my network gave the same crash. So it was not Outlook, but something about credentials / authentication!
To keep it short: after again some hours I decided to refresh my windows 8.1, meaning a half reinstall, losing all my installed programs. Many hours work down the drain.
As very first test I verified users were able to log in on a network drive with credentials so I was convinced the ‘common shell crash’ had been solved by the reinstall of windows.
Of course I wanted the multiple user screen again so - foolish me - I put Greg’s tweak back as soon as possible.
Now you can guess what came next: installing Office 2013 and connecting outlook... crash of Common Shell again.
Suicide, destruction of the pc, everything passed my mind but that's not really me: now I started to read every Google hit about ‘common shell has stopped working’ until say page 8 or 9.
AND THERE IT WAS: somebody stated he solved the problem by setting HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch\Enabled to 0 and I thought *^$%$#%, I did that! It was me who changed that flag (and made the task) each time shortly after rebuilding my windows! Of course all the time I was blaming bloody MS again for all the fuss I had to go through.

Bottom line.
If you can (and you can) click the left arrow on the login screen to see other users. Yes I know, it's annoying. Ask Microsoft to enable it but do not use Greg’s tweak if you need to authenticate network connections.

P.S. Greg, would you mind stating this in the beginning of your article? I would feel sorry for people to discover my reaction later (or not at all) having, like I had, to spend 10 hours work on this.
One more thing: you have a typo (some pipes instead of backslashes) in
REG ADD HKLM\SOFTWARE\Microsoft\Windows|CurrentVersion|Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f
Should be:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f


I have been involved in computer programming, computer building, configuration, and repair for 35 years and I have yet to come across an operating system that I despise as much as Windows 8. I own a computer repair business and EVERY one of my customers has asked me to set their Windows 8 systems to look and work like Windows 7 because W8 just absolutely sucks. Thank you for this great article, by the way! One of my customers has a W8 with about nine accounts on it and only two of them show up. What a major PITA.

mad knight
mad knight

This tutorial doesn't work with my system. Each time I login my system, the Windows 8 Sign on screen always display the account of the last person to sign on the system. Can anybody help me, please?


 Thanks, this was the only way it works!!!

Just a suggestion:

Please fix your text at the item Figure E.

The command REG ADD... was written with | instead of \ before and after the word CurrentVersion

PS: the image on item F is correct. Just the text on the page is wrong.


Microsoft has been working on Windows 8 for some time now. They had recently given out the Consumer Preview for free, and just to see the whole buzz around Windows’ promise of ubiquity; I installed it on my computer. If you want to get your own Consumer Preview, visit the official site. This article elaborates about the topic: All the Best!


Thank you, Mr. Shultz, your efforts are appreciated. Quick question: would changing the permissions of that key so the OS did not have write access be possible? Or would that bring down the wrath of the Windows Daemons and turn the user into salt? @Slayer: even my Sony tablet now has "Guest Mode" to allow more than one user with more than one set of personalisations. I'm not sure how it works, though, as I rarely have guests. @Dyalect : some of us have *always* hacked the OS. The only real difference with W8 is that more of us need to learn to do more hacking to get it to work "right". I am not entirely sure that's a good thing.


All that hacking just to get the o/s usable. Sad.


Sadly, this sounds like something else that should have been "fixed" in ver 8.1. Maybe by the time ver. 9 comes out, it'll be a usable OS again.


I'd say you are removing a good suggested layer of security; a little obscurity as to login names will often prevent the casual cracker from poking about in your account. Best to leave those account names not displayed. Well done Microsoft at last for putting security first.


Some lines in the article are truncated. These are the registry locations.


... Or windows 8 is going backwards. On a domain computer I can understand why showing all accounts is unnecessary 9since in most cases a user won't share a computer). But for home users where there are generally multiple people using a "family" computer, it is a pain.

Mark W. Kaelin
Mark W. Kaelin

Do you have more than one user on your PCs running Windows 8? This clever little hack could save you some time, don't you think?


a Registry hack to allow Windows to log in automatically, password and all. Remember that one? I used it on some NT and XP systems years ago in a test environment. I don't know if it works in any OS later than XP.

If they have physical access you have a lot more to worry about than just obscuring the accounts. If you want that layer of security the I'm sure there are settings that will not display any accounts and you will have to type them in. This is really a home user setting. Bill


as all they have to do is use the left arrow button at the original logon screen, listing all users - trivial for a cracker. However, I really get the point of Greg's article, having had desktops and now a couple laptops with 7 and XP shared by mutiple family members, and I DO like having all users listed. Thanks, Greg!

Greg Shultz
Greg Shultz

...the status bar in Figure D, it shows the full path. The path is shown again in Figure F, it shows the full command on one line. Following that figure the command line is broken down so that you can see what is happening at each stage of the command. The path is shown there too.


And tablets have 1 user.


If you have one user, show the one user, two users show two, .... Should be automatic like Win 7 and Vista. If just a users [or on a tablet] having multiple usrrs won't change any way that you log in.


most people are still using it on laptops and desktops. I'll concede your point is valid, but it represents a false design assumption by MS. Maybe it'll be true in 5 (or 10 [grin] ) years, but not today.

Editor's Picks