Logging On to a Terminal Server Session Programmatically from VB
Some people have asked how to script the Terminal Services Advanced Client's (TSAC's) ActiveX control for automatic logons. The ActiveX client control doesn't expose the ImsTscNonScriptable interface. However, you can use this interface to configure automatic logon programmatically for a Windows 2000 Server Terminal Services session, which lets the programmer log a user on to a Terminal Services session without receiving the Windows logon prompt. Microsoft article Q281417 explains how to do this using Visual Basic (VB) and provides sample code.
Terminal Server Commands Explained
You can use the command line for some Terminal Services administration. (I've documented these command-line administrative tools in the Terminal Services chapter of "Mastering Windows 2000 Server" \[Sybex, 2000\], complete with examples.) You'll find the syntax for the CONNECT, DISCONN (disconnect), and MSG commands in Microsoft articles Q186508, Q186513, and Q186480, respectively.
Netware Functionality in Terminal Server
Microsoft article Q186484 explains the functionality of Windows NT Server 4.0, Terminal Server Edition's (TSE's) Novell NetWare utilities. The NetWare option in User Manager under User Config allows password synchronization, the NDSPSVR utility lets administrators set the preferred Novell Directory Services (NDS) server, and the NetWare User Access for Terminal Server utility migrates Novell NetWare accounts to the terminal server. These settings let you configure users so that their passwords are verified against the specified NetWare Server before they're checked on the logon domain. See the article for more information about how to use these utilities.
Terminal Server Client Logon Error Messages
When a user can't connect to a terminal server, the reason is not always immediately obvious. According to Microsoft article Q186616, Error 13D indicates that the user doesn't have permission to log on. According to Microsoft article Q192165, error code 0x904 means that the maximum connection count for the RDP protocol has been reached.
Modifying Terminal Server Clients Default Windows Directory Name
By default, TSE users have a system directory in their home directories called Windows. However, users migrating .ini file and .grp file settings to TSE from computers that don't use Windows as the system directory name might want to specify a different name. Microsoft article Q186631 explains how to edit TSE's registry to specify a new name for the per-user system directories.
Disconnecting Network Printer Leaves Registry Settings
If you delete your network-connected logical printer from within a TSE session and then re-add the logical printer, you'll find that your printer settings remain as you had set them previously. This might become a problem if you wanted to delete all the default settings for the printer or if an administrator changed the printer driver on the server and kept the logical printer share name the same. Microsoft article Q188697 explains how to edit the registry to remove network printer settings. This problem doesn't affect Win2K terminal sessions.
Expected Components Missing From TSE Taskbar
To save bandwidth, the Taskbar in TSE sessions isn't identical to the Taskbar in Windows NT 4.0 Workstation. Microsoft article Q192237 describes some of the differences and explains how to add the clock to the desktop.
Applying System Policies to Terminal Server
If you use Windows NT system policies, you'll probably want to apply policies for people who log in from terminal sessions that are different from the policies for people who log in from fat clients. Microsoft article Q192794 explains how to make a set of system policies apply to all terminal server (TSE or Win2K) users. You use Windows NT system policies when a user logs on to a domain accounts database. With TSE, you might want to apply system policies to affect users who log on to the server through the console or through the TSE client.
VB On TSE Terminal Server
Officially, TSE doesn't support VB applications. (However, Win2K Terminal Services does support VB applications.) Microsoft article Q194776 describes how to install a VB application on a TSE server. On a related note, Microsoft article Q195878 describes a problem you might experience locating the Help files when you use VB on a TSE server.
Changing the Drive Letter Used for ROOTDRIVE
To change the drive letter you're using for ROOTDRIVE on a TSE server, follow the steps outlined in Microsoft article Q216976.
Assigning Printers to Terminal Server Clients
Terminal Services administrators might want to prevent their TSE clients from seeing all the locally created printers. They can assign a specific printer or printers to an individual user or to groups of users by simply modifying the printer permissions. The administrator should first install the updated version of Localspl.dll on the terminal server (included in Service Pack 4—SP4). See Microsoft article Q218994 to learn how to assign a printer to a TSE client.
AddPrinter() API Call Allows Invalid Data Type
When you use the AddPrinter() API call to programmatically create printers, custom settings that you specify might not be used if you add a data type that isn't valid with other settings. For example, the Enhanced MetaFile (EMF) and Direct Printing settings aren't compatible with each other because the OS doesn't check the validity of the API call. See Microsoft article Q221200 to learn how to verify the settings that are valid for any data type.
Closing Terminal Server Client Software Is Treated as a Broken Connection on the Server
Publishing a Printer in Win2K AD
Win2K-based and non-Win2K-based computers with shared printers can publish printers in Active Directory (AD) so that you can easily search for the printers. See Microsoft article Q234619 to learn how to do this for Terminal Services and TSE servers.
Slow Network Performance When Using Terminal Server Administration
When you use Terminal Server Administration (tsadmin.exe) to view all TSE terminal servers, you might experience slow network performance. The server that runs tsadmin.exe might also be unresponsive for short periods of time. The view in Terminal Server Administration is refreshed every 5 seconds by default, and network problems can occur because of the amount of traffic the system generates when the view is refreshed. Microsoft article Q236130 recommends that you quit Terminal Server Administration when you're not actively using it, change the detail level for displaying terminal servers when you are, and possibly change the display refresh rate to a longer interval.