When working with Windows 2000 Terminal Services Licensing, it's important that you understand the three license server discovery methods and the registry option for a DefaultLicenseServer. (I discussed these issues in my previous article.) Another key issue that governs the effective use of Terminal Services Licensing is the mode in which you run it. But you can select a mode of operation only when you install Terminal Services Licensing through the Add/Remove Windows Components applet. Using the standard installation method will install it in domain or broadcast mode—and you can't change it afterward without uninstalling and reinstalling the service. Here's a look at the options that Add/Remove Windows Components offers and some of the issues you need to keep in mind as you configure TS Licensing.
Configuring Terminal Services Licensing
Once Windows 2000 Terminal Services Licensing is installed, you can't tell from the Terminal Services Licensing MMC which mode it is operating in. You will know only by a logical process of elimination: It can’t be in enterprise mode if not running Active Directory; it can’t be in domain mode if not running on a Windows 2000 domain controller; and it has to be in domain mode if there isn’t a value in the Active Directory TS-Enterprise-License-Server object.
An easier and more reliable method to find out the operating mode is to use the Win2K Resource Kit utility, Terminal Services Licensing Viewer (Lsviewer.exe), which I also covered in an earlier article.
When installing Terminal Services Licensing through Add/Remove Windows Components, the configuration dialog box is the same regardless of whether or not you’re running in an Active Directory environment. But if you're running in Active Directory, you can select only enterprise mode. The domain and broadcast methods are listed as the same configuration option (Your Domain Or Workgroup), since it’s your network infrastructure that determines which one will be used.
If you are running in an Active Directory environment, but the server you are installing TS Licensing on isn’t a domain controller, the installation will look as if it had succeeded, but the service will fail to load and an error will show up in the Event Log.
Figure A shows this configuration dialog box for Terminal Services Licensing.
|Configuring Windows 2000 Terminal Services Licensing|
I find the wording on this dialog box to be misleading. To me, “Your entire enterprise” implies that you can make this license server available to all terminal servers throughout your network. But in reality, it’s restricted to an Active Directory site. Microsoft’s standard definition of a site is one or more well-connected networks, so typically, any network with geographically dispersed offices will have multiple sites, even if you manage to contain them in the same domain. It’s quite unrealistic to expect all but the smallest of organizations to consist of just one site, so I think this option is a complete misnomer and dangerously misleading for administrators faced with making this important configuration choice.
It’s much safer to think of this choice as a site option rather than an enterprise option. Microsoft documentation, which tells you to use this setting for multiple domain environments, also fails to point out that each domain must reside in the same Active Directory site, which would be very unusual. In a typical enterprise network, you will have higher ratio of sites to domains than the other way around. At the moment, there is no cross-site discovery for Terminal Services Licensing for a truly enterprise-friendly option—which, I believe, may be addressed in Windows .NET Server. Using the enterprise configuration in Windows 2000, you will need to install at least one enterprise license server in every site that has a terminal server in application mode.
However, the word “enterprise” is applicable for the permissions required here because this option writes to Active Directory and thus requires Admin Enterprise permissions (or Domain Admins in the root domain). If you install Windows 2000 Licensing in this mode without these permissions, the installation will look as if it was successful but the service will fail to load and therefore license discovery will fail.
As you may have noticed in Figure A, the Windows Components Wizard includes an option for specifying the location of your license database. The default location is %systemroot%\System32\Lserver, but you may want to change this. When you've finished with your configuration options, click Next to complete the installation The service will start automatically. Use the Terminal Services Licensing MMC to activate the server, install any TS CALs you need, and monitor the allocated licenses.
You should keep an eye on the Event Log for any reported problems and make good use of the two Resource Kit tools we looked at earlier: Terminal Services License Reporter and Terminal Services License Server Viewer.
The license database should be regularly backed up, along with the license server’s System State, in case of server or disk failure. If you have to do a restore, make sure that the licensing service is running. If you're not restoring to the same server, you will retain information on licenses that have been issued but lose unallocated licenses. Reference the Event Log for details on these lost licenses and contact Microsoft by telephone so you can reclaim them.
If you want to back up the client license (for 32-bit operating systems), you'll find it stored under the following registry key (and subkeys):
To delete a client license and force it to ask for a new one, simply delete the MSLicensing key (and subkeys) and reconnect. (There's no need to reboot.) This technique can be useful for troubleshooting license server discovery when used with clients that have a built-in license (Windows 2000 and Windows XP), because you can track which license server is currently being used by specific terminal servers.
As you can see, configuring Windows 2000 Terminal Services Licensing is not a very intuitive process. The method used depends on your Windows domain infrastructure. Whatever method you end up using, it’s important to know how and why this service works so that you’re better informed for making design choices and can troubleshoot efficiently.
In my opinion, there is room for improvement in all of these TS Licensing methods. My wish list (and I hope someone at Microsoft is reading this) would include the following:
- A failover for the DefaultLicenseServer (registry option), if the specified server isn’t available
- The ability to specify a list of preferred servers to be tried sequentially
- A truly enterprise-friendly version where clients look for a license server in their own site first and then in other sites if that failed
- Clearer terminology and help on configuration dialog boxes, especially when the choice is irreversible without reinstalling
- Messages in the terminal server’s Event Log to show which license server (in which mode) was selected
- The ability to tell from the Terminal Services Licensing MMC which license mode a server is in
- The ability to configure Terminal Services Licensing in enterprise mode when the server is built
- Better error detection and recovery when installing (check for domain controller and permissions at the time of installation rather than produce errors after loading)
- Reliable information in the Terminal Services Licensing MMC for enterprise license servers in different domains
- Better resilience when using enterprise servers
Do you have other suggestions to add? Click here to join the discussion below.