How to Hide the Logon Script Dialog Box on a Windows Client

This article applies to Windows 2000. Support for Windows 2000 ends on July 13, 2010. The Windows 2000 End-of-Support Solution Center is a starting point for planning your migration strategy from Windows 2000. For more information see the Microsoft Support Lifecycle Policy.


When the logon script runs, a dialog box is presented until the script finishes. Many administrators want a way to minimize this dialog box while it is running, or have it perform in the background so users aren't aware of the logon script. Because Windows does not use the LMSCRIPT file and you do not want to change the default properties of Cmd.exe, other methods must be used.


Create a batch file that calls the actual logon script. Using Notepad, create a file that has the following entry:


Save the batch file and specify this file as the logon script name for the user accounts in User Manager for Domains. Now, when the users log on to Windows, they will initially run the above batch file, which, in turn, calls the logon script and starts it minimized. The last entry in the real logon script file must be EXIT so the file will close properly.

This works great and solves the problem of users seeing the commands being processed in the actual logon script.

Windows for Workgroups clients do not understand the START command, so this won't work if you have those clients. Also, the initial call to the logon script designated in User Manager for Domains still creates a logon dialog box. The box disappears almost immediately, but may still cause a problemfor the administrator who does not want the user to see anything out of the ordinary when logging on. To have the logon script dialog box minimized during logon and support all clients, do the following:

  1. For the initial preparation, insert a pause statement into the logon script specified in User Manager for Domains. This pause will be important because it is needed to access the properties of the logon script window.
  2. Log on to the workstation as the user in question and, when the logon script pauses, select Properties from the Control menu.
  3. Select the Layout tab in Windows or the Screen Size and Position tab, and set the Width and Height on the Screen Buffer Size and Window Size to 1.
  4. Set the Window Position to 0 for the Left setting and set the Top position to the highest number possible (this will vary depending on the screen resolution). This will put the Window in the lower left-hand corner of the screen.
  5. Select OK after changing the settings and then you will be presented with an Apply Properties dialog box. Select "Save properties for future windows with the same title" and then select OK.
  6. Log off as the user, remove the pause from the logon script, and then log back on. The dialog box is still present, but in the lower left corner of the screen out of the users way.
If, at a later time, you need to resize the windows and cannot access it through the screen, use Registry Editor and delete the following key:

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows

After that key is deleted, the default dialog box will once again be presented for Windows with that same title.

More Information

Because logon scripts reside in the NetLogon share of every domain controller, the chances are good that you may run the logon script from a different server than the one used in the above example.

Your file is represented in the registry as _ComputerName_NETLOGON_LogonScript. The computer name obviously won't be the same if you are validated by a different controller. Here are two methods to solve this problem.

  • Log on to the workstation as the user in question. Select Start and then Run, or File and then Run, and run the batch file using the UNC path for each of your domain controllers. For example

    run \\PDC\NETLOGON\logon.bat

    When the file runs, follow steps 3 through 5 above and repeat this for each domain controller (that is. BDC1, BDC2, BDC3, and so on). This will create an entry in the registry for the logon script on each of the possible authenticating servers.

  • You can, when you are logged on as the user in question, run REGEDIT.

    Expand the HKEY_CURRENT_USER\Console folder. After going through steps 1 through 6 above, you will see an entry that looks very similar to the following:


    Select the key in question, select Registry and then click Export Registry. Give the file a name of your choice. Edit the file using Notepad. It will look like the following:

    REGEDIT4 [HKEY_CURRENT_USER\Console\__SERVER_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190

    Copy the above information and paste it below, changing the SERVER name to the name of another authenticating server. Do this for all your domain controllers. The file will now look like the following:

    REGEDIT4 [HKEY_CURRENT_USER\Console\__SERVER_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190 [HKEY_CURRENT_USER\Console\__SERVER2_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190 [HKEY_CURRENT_USER\Console\__SERVER3_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190

    After you have added an entry for each of your servers, save the file. You can now log on as any user with the same windows resolution and simply double-click this file or import it into the registry using REGEDIT. All users will now have the same window settings on the logon script for any authenticating server.

Article ID: 176197 - Last Review: Dec 16, 2009 - Revision: 1