Warning! Following is going to modify/replace some system files and modifying registry keys at HKLM. You will not able to use some builtin accessibility options.I think that some virus scanners do not like this (modifying system files this way) and may require excluding modified files from scan. Thats not all... we are replacing files that will run under mighty SYSTEM account, so your fresh scripts will have same permissions.
[optional] If you know how to behave as TrustedInstaller
while setting this up there is no need to change permissions.
[info] CWD
= something
Tells you Current Working Directory.
Okay, last warning is that there is possibility that small typo will lock you out of your system and you may need to take control back while being offline [in terms of running os].
First, take advantage of running programs at logon screen
One quick way to achieve this is to replace %windir%\System32\Utilman.exe
with your own program, in this case it is replaced with application that writes list of visible / hidden users to registry.
CWD
= anything you want
You need program that toggles visible users, one easy way to write simple programs is to use notepad
and any batch compiler. (linked compiler has built in editor)
If using this method you will need some code to place inside too:
@echo off
IF EXIST "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state" (
del %SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state
regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\displayusers.reg"
) ELSE (
echo "1" > "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state"
regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\hideusers.reg"
)
wmic process where (name="LogonUI.exe") delete
Here is explanation what above script does:
Let's break above code down, do not copypaste this!
First line checks if status file exists, filename quoted:
1| IF EXIST "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state" (
If file exists then delete file that we cheked:
2| del %SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state
And write displayusers.reg contents to registry:
3| regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\displayusers.reg"
4| ) ELSE (
If status file does not exist then create it:
5| echo "1" > "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state"
And write contents of hideusers.reg to registry:
6| regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\hideusers.reg"
7| )
Registry values written, kill LogonUI.exe to reload (LogonUI restarts)
8| wmic process where (name="LogonUI.exe") delete
Replace system files
After that save your file as Utilman.cmd
and compile it so it will be Utilman.exe
, we are good if you have compiled your batch and your .exe
file is working. Copy your fresh utilman.exe
to clipboard.
CWD
= %SYSTEMROOT%\System32\
Now, replace microsoft's utilman.exe
with your own fresh utilman.exe
. You may need to take ownership of files and set permissions to allow modifying files at system32.
Define special users (registry keys/values to change):
Create new directory SwitchVisibleUsers
.
CWD
= %SYSTEMROOT%\System32\SwitchVisibleUsers\
Create two files named hideusers.reg
and displayusers.reg
. These two files defines which users to hide/display at logon screen, edit contents to correspond your configuration.
Contents of hideusers.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"Administrator"=dword:00000000
"ChuckNorris"=dword:00000000
"JonSkeet"=dword:00000000
And contents of displayusers.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"Administrator"=dword:00000001
"ChuckNorris"=dword:00000001
"JonSkeet"=dword:00000001
Now, you're done. How to test it?
Just logout or switch user if fast user switching is enabled and when you are at logon screen try to use accessibility options (small button at left bottom corner). If Administrator, Chuck Norris or Jon Skeet is nearby, they will appear and disappear while you are clicking this magic button.
How about disabling the fast-user-switching in registry?
try with the following :
1)Start -> run --> regedit
2)Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
3)In right-side pane, create a new DWORD
value HideFastUserSwitching
and set its value to 1
Now with this setting Switch User
option will be disabled from Welcome screen as well as from Shutdown menu.
this will help you to bypass the user selection screen.
hope it helps
Best Answer
Open netplwiz from the Start Menu. Click on the Advanced tab and at the bottom of the page there's a "Require users to press Ctrl+Alt+Delete" checkbox. Try unchecking it.
If it's a corporate machine and you can/want to modify GPO settings then it's also possible. But depends a bit on what version of Windows Server you're using