The following is a collection of expert responses to reader questions by Christa Anderson.
I need to retrieve the client logon username from a Terminal Services session. What approach is needed? WTSAPI32 has not implemented virtual channel client information query, file access.
Christa Anderson:Logon usernames show up in Terminal Server Manager for each session. You can also retrieve this information programmatically with the QUERY SESSION command-line utility. This command will return the session ID, username, state, type, and device.
We have XP Pro clients using Remote Desktop to access an application on Windows Server 2000. Is there any way to increase the display above 256 colours?
CA: Unfortunately this is not possible with Windows 2000. 256 Colors is the maximum resolution for terminal services sessions for this OS. This isn't a limitation of the server OS, but of the protocol. Unfortunately, you can't upgrade the protocol on the server side, so to get greater color depth you'll need to either upgrade to Windows Server 2003, which does have a version of the RDP server component that supports full color, or install MetaFrame on the Win2K terminal server and get greater color depth using the ICA protocol.
I have a small network and am running Terminal Services to allow two other sites access to our Windows 2003 server. The problem I am having is how to allow the remote sites to print documents locally while in session on the server. The local printers are attached to local machines, not networked. Any help?
CA: Automatic print redirection is enabled by default, so if it's not working then you may have some legwork left to do. On the terminal server, try installing the driver for the printer that the user wants to print to. Try to avoid kernel-mode drivers, because a badly written kernel-mode driver will crash the operating system. (A group policy allows you to specify that only user-mode drivers be permitted.)
Also, make sure that automatic printer mapping is enabled. Check the client-side settings in Remote Desktop Connection (behind Options>Local Resources) to be sure that printer mapping is allowed. On the server side, check the user account properties or, for all remote connections, check the protocol properties to be sure that printer redirection is enabled.
How do you setup Remote Desktop to monitor any connection made to a PC? In other words, I have a PC sitting here, and I want to monitor who logs into it via Remote Desktop. Is this possible?
CA:You can track logging successes and failures by setting up an audit policy using Local Computer Policy. From the Group Policy Editor (gpedit.msc), drill down to Computer Configuration | Windows Settings | Security Settings | Local Policies | Audit Policy | Audit logon events. Be cautious logging successes, as this will make the event log very full.
I have a server that is currently running 2000 Small Business Server. This server currently runs Exchange, Active Directory, and Terminal Services. I want to buy a new server with 2003 for Exchange and AD, and keep the 2000 server as a terminal server because I am aware of the limitations of Terminal Services on 2003. Is this something that I can do? I have been told no.
CA:I'm not sure what limitations of Windows Server 2003 TS you're talking about, actually. The licensing model has changed so that the Unlimited pool no longer exists for the same-generation clients, but otherwise I'm at a loss: Win2K3 offers a richer client experience with greater color depth and sound and drive redirection. It's also easier to manage on the server through its use of group policy and more efficient memory management. That said, yes, you can use a Win2K terminal server in a Windows Server 2003 domain.
Christa Anderson, a columnist for Windows and .NET Magazine, is an internationally-known speaker and writer about server-based computing. Her books include Windows Terminal Services (Sybex, 2002), The Definitive Guide To MetaFrame XP (available from www.realtimepublishers.com) and co-authorship of the best-selling Mastering Windows Server 2003 (Sybex, 2003).