Windows Tip: Locking a desktop at logon
Send your Windows question to Mitch today! | See other Windows tips
![]()
Recently an ITworld reader contacted me with an interesting question: Can you configure Windows XP so that it logs on automatically but into a locked state? In other words, if the AutoAdminLogon registry value found at HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon has been set to 1 and the DefaultUserName and DefaultPassword values have been configured appropriately, is it possible to make Windows lock the desktop immediately after automatic logon occurs?
The XP machine under consideration runs a scheduled task at night that copies data collected on the machine to another machine on the network. Unfortunately, to perform its work properly the machine has to automatically log on using admin credentials, but during the day this is not a problem as the user can simply lock the workstation when he has to leave the machine. But at night what happens is that whenever new security updates become available on the Windows Update website, the machine automatically downloads and installs these updates and reboots. Then the machine starts up, automatically logs on using admin creds, and the desktop appears. Anyone with physical access to the machine now has admin privileges on it, which is not good. Configuring a password-protected screen saver will help, but it still leaves a window of opportunity since an unrealistically short screen saver setting of 1 minute makes it frustrating to work on the machine during the day.
Unfortunately you can't configure Windows autologon to log on into a locked state, but a short script may provide a workaround for this situation. Simply open Notepad and copy and paste the following lines into it:
Wscript.Sleep 30000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "rundll32.exe user32.dll,LockWorkStation",1,false
Save the file as lock.vbs (not lock.vbs.txt) on your desktop and test it by double-clicking on this script. What should happen is that in about 30 seconds your machine should lock. If this works, copy lock.vbs into the Startup folder on your Start menu. Now reboot your machine and log on (or autologon) and about 30 seconds after logging on your machine should lock. This is totally independent of your screen saver timeout, and uses rundll32.exe to call out the LockWorkStation function from user32.dll.
The reason for using 30 seconds (30000 in the first line of the script) is to give the desktop time to settle before automatically locking the workstation. Once you can confirm that this works, you can then experiment by lowering this time value if you want to reduce the window for your desktop being exposed before automatically locking it. You may even be able to use a value of 0 to lock the desktop immediately after logon, but it's best to try changing the value gradually in stages and of course doing so on a test machine before you try it on a production one, just in case it causes problems of some sort.
ITworld.com
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.














THANK YOU!!!
I've been looking everywhere for a solution. Thanks so much for posting this.