Title Page Next Contents |

Terminal Services: From A to Z

About this Guide

After working with Microsoft Terminal Services (and pretty much all the add-ons available), answering thousands of questions on the subject at the Microsoft public newsgroups and Experts-Exchange (where I go by the tsmvp alias), myself and 2X decided to move ahead and publish this small, simple yet very valuable guide about Terminal Services.

As the name implies, the idea is to cover pretty much everything you need to know to properly deploy a terminal services based environment. Although there may be different ways to do certain things I will cover in this guide, everything here is based on my own experience in the field and all solutions described have been tested and in production for many years for many of my own customers. Again, they may not be the best or the ones by the book. But they do work and they are stable indeed.

Introduction

As you can see I do not assume any previous knowledge of Terminal Services; therefore we must explain a little bit about Terminal Services, how it works and why it may help you.

Before you guys go ahead and email me, bashing this guide, I just want to clarify a couple points. First of all this guide does not intend to be an in-depth book about Terminal Services and how to do everything related to it; secondly it is not meant to be 100% technical, written for people with years of experience with Terminal Services.

This guide is for everyone out there considering a Terminal Services deployment, but with no experience, or very little knowledge on the topic. It will lay down the foundations to successfully deploy a terminal services environment, giving you a solid understanding on how all this works which will help you immensely as you progress with your Terminal Services skills.

What is it?

Terminal Services, as it is today, is an old technology wrapped in some new, fancy wrapping paper.

If you are old enough, or if you have read at some stage how computing environments were back in the 60s, you probably heard the word ‘Mainframe’ and/or ‘Dumb Terminals’ (those almost like computers, with a green screen terminal and a keyboard). The idea behind them was quite simple: one big box (the mainframe) was responsible for running all the applications and processing all the data at a central location. In order to run applications, users would connect to the mainframe using the so-called ‘dumb terminals’. These had no local processing power at all; they would simply send the keyboard entries back to the mainframe and the mainframe would send back the screen updates. So although users could ‘see’ their text based applications on their screen, everything was actually happening at the mainframe.
TerminalServicesAtoZ00.jpg
Fig 1
Mainframes and dumb terminals


Fast forward to today’s environments and this whole ‘centralized computing environment’, sometimes referred to as ‘Server Based Computing’, is back in full swing but of course with a revamped interface. Exactly like in the 60s, today’s server based computing environments centralizes all the applications and is responsible for all the required processing power. As you can see the main difference is simply the interface. Everything today relies on a GUI and a mouse so the old ‘mainframe’ idea just got updated to do the same old tricks but using today’s interfaces. Terminal Services is simply a Windows Server based component (available on Windows 2000 Server and up) that delivers a unique ‘desktop-like’ environment to multiple users at the same time, all running off a single server (or multiple servers for high availability purposes). The same old tricks but with a couple updates.
TerminalServicesAtoZ01.jpg
Fig 2
Today’s Server Based Computing GUI
Server based computing takes care of the processing required to run applications and the applications themselves, allowing users to access these resources from pretty much any device with little processing power and no applications installed locally. Terminal Services is just the ‘Microsoft Windows’ way of doing that, giving users the familiar look and feel they are used to.

Why TS?

The main question many people ask when they start researching about Terminal Services is ‘Why TS?’. There are many reasons why a Terminal Services (when I say ‘Terminal Services’ I mean server based computing in general – that idea of a centralized location that runs your applications) solution is the way to go and we will cover some of these here.

As with any other technology or solution, it is not perfect and more than that, not recommended for everything. Based on my experience with it (over 13 years now!) I can definitely say I can find a reason (or a need) for Terminal Services on every single company out there. The key thing is to determine where TS would work well and actually help your company.
Advantages of using Terminal Services::
Of course not all applications will work well under Terminal Services. Some good examples are graphic intensive applications (AutoCAD, Google Earth, 3D Studio, etc), resource intensive ones (MathLab, etc) or applications that require some local hardware to be present (i.e. applications that must deal with USB peripherals that require drivers to be installed on the local PC).
But again, I am certain if you look around your company you will find a place for Terminal Services. What about that old application you were considering spending huge amounts of money to port to a web version? You can probably have it running on TS and provide access to it from anywhere in the world! No changes required!

The lesson to be learned here is simple: TS is not for everything and not for everyone. But it can be an excellent tool and problem solver for many companies out there. It is up to you to determine where it can help you.