Wilco van Bragt - LinkeIn Wilco van Bragt - Twitter rssa 


With default Microsoft's Terminal Server implementation (with Windows 2003) you should use Network Load Balancing for dividing user between the Terminal Servers. NLB is not checking the user sessions per server (at determine the server with the least user), but just divides the users over the servers. Therefore companies are often using Citrix because of the Load Balancing feature available in Presentation Server. Citrix default Load Evaluator is based on concurrent sessions and probably still the most used load balancing technique. But is the price for Citrix not to high for only load balancing the users? The guys behind CTRL-ALT-DEL developed TSLoadBal. A freeware tool to load balance the users over Terminal Server based on the concurrent load of users per server.

Preparing the tool

TSLoadBal contains of a single executable. This executable should be available on all the clients, who will make a connection with the terminal servers.


When starting the tool by double clicking the executable the tool (if no configuration settings are available) will automatically scan the domain (where the client resides in) for Terminal Servers. Version 2.0 now also supports other domains by changing the domain via the option button. Via this button you also can add or remove terminal servers to your load balanced group. New in version 2.0 you can also add server manually (which are not discovered by the tool) and also is the possibility to configure the display resolution.


All the settings can be saved and restored into a file as a kind of back-up and a way to distribute the configuration manually to more clients. TSLoadBal also saves the configuration in the registry in the Current User key. These settings can be exported and imported also to distribute the configuration to all clients (for example using a login script or desktop management software).

Using TS Load Balance

When the tool is started as mentioned before enumerate all Terminal Server in the domain or using the settings specified in the registry key. The client checks if the server group has a disconnected session based on the computer name of the current machine running the program. If a session is found a session will be initiated. If no session is found the tool will determine which server has the least user sessions and will start a session on this machine.


When the tool is started the user should always choose the connect button to really start the initiation of the session. During testing the tool does what you expected. The least busy server (with user sessions) is chosen during the connection process. When a disconnected sessions if found from the client workstation that server is picked up automatically. Because no username is specified when starting the application the user will need to logon to the Terminal Session.


Again those guys created a nice freeware tool which is really an added value. Because the configuration resides on the client it selves with no central point of administration, the tool is most useful for smaller environment. The tool it selves does exactly where it has been made for, but can me made even better when additional features are added. For example an auto launch feature (connection is automatically starting in stead of using the connect button and single sign on feature are high on my wish list.

The tool can be downloaded from CTRL-ALT-DEL's website.

P.S. CTRL-ALT-DEL was also working on a server version of the load balancing software, but they sold this technique to an unknown company some month's ago.