Windows Tip: Locking a desktop at logon

ITworld.com |  Operating Systems 1 comment

Send your Windows question to Mitch today! | See other Windows tips




Digg!


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.

 

1 comment

    Anonymous 3 years ago
    I've been looking everywhere for a solution. Thanks so much for posting this.

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      Operating SystemsWhite Papers & Webcasts

      White Paper

      Microsoft Enterprise Agreement Program Overview

      Discover how flexible the Microsoft Enterprise Agreement Program is to help you build the right software solution agreement for your business. This paper highlights all the available options-from on-premise software and cloud service solutions, to payment options and enrollment programs, and more.

      White Paper

      Watson - A System Designed for Answers. The future of workload optimized systems design

      Watson is a workload optimized system designed for complex analytics, made possible by integrating massively parallel POWER7 processors and DeepQA technology. Read the white paper about Watson's workload optimized system design.

      See more White Papers | Webcasts

      Ask a question

      Ask a Question