Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In our office users have their own Windows 7 computer with their own account. I've started adding a hidden Administrator user for use with certain network services and so I can access their machines if we can no longer login for whatever reason (ie. someone quits and I don't know their password but need to re-purpose the machine).

Obviously this user doesn't show up on the login screen because it's hidden, but I want to be able to manually type in the username/password when I need to access this account. The only way I've been able to find to do this is to force all users to login with a username/password, however this solution does not work for our office.

My question is: Does anyone know of a way I can manually enter Windows 7 login information WITHOUT forcing everyone to have to do this every time they log in. (I'm thinking something similar to how you user to be able to 'ctrl+alt+del' at the login screen and then enter your credentials but have been unsuccessful in figuring out how to do this.)

share|improve this question
    
Yes, I can't find a way to enable that feature either. If you know how, please share :) –  Rauffle May 10 '12 at 21:19
2  
I've mainly using Linux after leaving ms server setups behind but I know that this is possible and will check if I could dig it up from my old WS install scripts... Am I right that forcing ctrl+alt+del for every user is not acceptable? Because this would be easy by modifying security policies from control panel. –  Sampo Sarrala May 10 '12 at 21:25
    
Unfortunately forcing everyone to have to log in with a username/password isn't acceptable. The staff mostly 'need' to be able to click their icon, type in a password, and be on their way. I know I've seen Win7 machines set up in such a way before that you could click your login, or you could manually enter in your information (ie. to login as a domain user, hidden account, etc) but I'm having no luck finding out how to do so. –  Rauffle May 10 '12 at 21:30
    
Whenever I enable the hidden admin account in W7 it shows up on the login screen with the other user accounts. –  Moab May 10 '12 at 22:12
    
@Moab: I'm not referring to the hidden admin account in Win7, instead I have an Administrator account that I created and hid so it wouldn't show up in the login screen with other user accounts. –  Rauffle May 10 '12 at 22:18

1 Answer 1

up vote 2 down vote accepted

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.

share|improve this answer
    
Linked Batch Compiler is somewhat unstable (seems like a permission problem with windows 7) but still usable, now this is tested and working. First rev. has bug that leaves backdoor to OS by leaving cmd with SYSTEM privileges open (yes, that is bad thing). It is fixed now and whole process is a bit simpler. –  Sampo Sarrala May 11 '12 at 21:54
    
Interesting, I'll try this out when I get a chance. I'd be interested to play around with this a bit too and see if there are other ways we could run this without losing accessibility options (ie. via scheduled tasks, etc). I'll let you know if I figure anything else out, but this is by far the best solution to what I want that I've seen. –  Rauffle May 14 '12 at 15:39
1  
@Rauffle you propably can make wrapper that, for example, checks if shift is held down or logon screen not present (for controlpanel compatibility) while clicking button and either run user switching or accessibility options. –  Sampo Sarrala May 14 '12 at 16:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.