'Windows 8'

Customizing the Windows 8 login screen

The default background color for “other users” logging into Windows 8 domain joined computers is an ugly purple by default. If you have a policy to not remember the last logged in user, it means that color is all you see. Otherwise, it will show you the colors of the last logged on user. I couldn’t handle that so I had to figure out how to change it.

I wasn’t finding anything searching forums and such so I decided to start digging. Using Process Monitor, I found that the Start Screen colors were set via HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent\ ColorSet_Version3. This is a DWORD that is a zero based index referencing the color combinations you see in the Change PC settings->Personalize->Start Screen page.

I thought the “other user” would be the same place in the LocalMachine hive but that didn’t work. I also tried the .Default user hive without success.

I resorted to Process Monitor boot logging and saw that LogonUI.exe was querying unsuccessfully for: HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent\ DefaultColorSet.

I created the key, set the value to my preferred color index, rebooted and voilà no more ugly purple.

This key is also used to set the initial start screen colors for new users on the machine.

Next I wanted to change the default lock screen that slides up.

Going to Process Monitor again, I changed the lock screen for my account and saw that SystemSettings.exe was writing to: %ProgramData%\Microsoft\Windows\SystemData\[MYSID]\ReadOnly\LockScreen…

The SystemData directory is only readable by SYSTEM and the TrustedInstaller. I used psexec.exe -si to launch cmd.exe as SYSTEM (I could have granted myself rights but I didn’t want to mess anything up). Then, I saw that S-1-5-18, the SID for Local System, had a directory as well. After verifying that the only thing in the folder structure appeared to be .jpgs, I copied my LockScreen_A .jpgs into Local System’s LockScreen_Z.

So now when logging into my machine which forgets the last logged on user, I’m presented with the colors I can tolerate and a lock screen of my choosing. As I said, I didn’t see any documentation of this online so there may be better ways to accomplish these things and I don’t know if these solutions are supported by Microsoft.