This article describes the differences between Windows Server 2003 and Windows Server 2008 when you use the Remote Desktop Connection (RDC) client to remotely connect to the server for administrative purposes.
In Windows Server 2003, you can start the RDC client (mstsc.exe) with the /console switch to remotely connect to the physical console session on the server (also known as session 0). In Windows Server 2008, the /console switch has been deprecated. (For more information, see the “Why the /console switch is no longer needed” section of this article.) In Windows Server 2008, session 0 is a non-interactive session that is reserved for services.
You can use the new /admin switch to remotely connect to a Windows Server 2008-based server for administrative purposes. The /admin switch is introduced with RDC 6.1. RDC 6.1 is included with the following operating systems:
• Windows Server 2008
• Windows Vista Service Pack 1 (SP1) Beta and RC
• Windows XP Service Pack 3 (SP3) Beta and RC
Note RDC 6.1 (6.0.6001) supports Remote Desktop Protocol (RDP) 6.1.
RDC 6.1 does not support the /console switch. However, for backward compatibility, you can use the /admin switch to connect to the physical console session on a Windows Server 2003-based server. For example, to connect from a Windows Vista SP1 RC-based client to the physical console session of a Windows Server 2003-based server, you can run the command mstsc.exe /admin.
If you try to use the /console switch with the RDC 6.1 client, the behavior is as follows.
You type mstsc.exe /console at the command prompt, and then connect to a remote server that does not have Terminal Server installed.
The /console switch is silently ignored. You will be connected to a session to remotely administer the server.
(For more information about the Windows Server 2008 behavior, see the “Behavior when you connect to a server that does not have Terminal Server installed” section of this article.)
You type mstsc.exe /console at the command prompt, and then connect to a remote server that has Terminal Server installed.
The /console switch is silently ignored. You will be connected to a standard Remote Desktop session that requires a Terminal Services client access license (TS CAL).
In the RDC client UI, you specify Computer_name /console in the Computer box (where Computer_name represents the name of the remote computer to which you want to connect), and then click Connect.
You receive the following error message:
“An unknown parameter was specified in computer name field.”
In the .rdp file, you specify /console in the “full address” property, and then try to start the Remote Desktop connection.
In the .rdp file, you specify the “connect to console” property, and then start the Remote Desktop connection.
The property is silently ignored. You will be connected to a session that requires a TS CAL.
As a developer, you programmatically call the put_ConnectToServerConsole function or the get_ConnectToServerConsole function of the IMsRdpClientAdvancedSettings interface.
The function fails, and returns S_FALSE.
Why the /console switch is no longer needed
In Windows Server 2003, starting a Remote Desktop session by running mstsc.exe with the /console switch is used for the following reasons:
• To connect to session 0. Some applications install and run only in session 0 because they need to communicate with services that run in session 0, or display UI that is displayed in session 0.
• To connect back to an existing session on the physical console. Because the physical console session in Windows Server 2003 is always session 0, the only way that you can reconnect to this session is by using the /console switch.
In Windows Server 2008, the /console switch functionality is no longer needed for the following reasons:
• Improved application compatibility ensures that legacy applications that need to communicate with services in session 0 will install and run in sessions other than session 0. Additionally, if the service that is associated with an application tries to display UI in session 0, a built-in capability in Windows Server 2008 and in Windows Vista enables the user to view and to interact with the session 0 UI from the user’s session. Windows Server 2008 session 0 is a non-interactive session that is reserved for services. Therefore, there is no need for a user to have to explicitly connect to this session.
Note For more information about session 0 isolation in Windows Vista, see “Impact of Session 0 Isolation on Services and Drivers in Windows Vista” (http://go.microsoft.com/fwlink/?LinkId=106201).
• Because the physical console session is never session 0, you can always reconnect to your existing session on the physical console. Reconnecting to your existing physical console session is controlled by the "Restrict Terminal Services users to a single remote session" Group Policy setting, available in the Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Connections node of the Local Group Policy Editor. You can also configure this setting in the UI by using Terminal Services Configuration. (The Restrict each user to a single session setting appears under Edit settings, in the General section.)
Behavior of the /admin switch
You can start the RDC 6.1 client (mstsc.exe) with the /admin switch to remotely administer a Windows Server 2008-based server (with or without Terminal Server installed). However, if you are connecting to remotely administer a Windows Server 2008-based server that does not have the Terminal Server role service installed, you do not have to specify the /admin switch. (In this case, the same connection behavior occurs with or without the /admin switch.) At any point in time, there can be two active remote administration sessions. To start a remote administration session, you must be a member of the Administrators group on the server to which you are connecting.
Behavior when you connect to a server that does not have Terminal Server installed
If you (as a member of the Administrators group on the destination server) start a Remote Desktop session to a Windows Server 2008-based server that does not have the Terminal Server role service installed, the following behavior is true for the remote administration session:
• Time zone redirection is disabled.
• Terminal Services Session Broker (TS Session Broker) redirection is disabled.
• Plug and Play device redirection is disabled.
• The remote session theme is changed to Windows Classic.
• Terminal Services Easy Print is disabled.
Behavior when you connect to a server that has Terminal Server installed
If you (as a member of the Administrators group on the destination server) start a Remote Desktop session to a Windows Server 2008-based server that has the Terminal Server role service installed, you must specify the /admin switch to connect to a session to remotely administer the server. The following behavior is true for the session:
• You do not need a TS CAL to connect remotely to administer a terminal server.
Developer resources – Changes to APIs
If you are using RDC 6.1, you can no longer use the ConnectToServerConsole property of the IMsRdpClientAdvancedSettings interface to specify whether the Remote Desktop ActiveX control should attempt to connect to the server for administrative purposes. Instead, you must use the ConnectToAdministerServer property of the IMsRdpClientAdvancedSettings6 interface to connect to the physical console session on a Windows Server 2003-based server, or to the session that is used for administrative purposes on a Windows Server 2008-based server.
For more information about the ConnectToServerConsole property, see http://go.microsoft.com/fwlink/?LinkId=106203.
For more information about the ConnectToAdministerServer property, see http://go.microsoft.com/fwlink/?LinkId=106204.
PingBack from http://geeklectures.info/2007/12/17/changes-to-remote-administration-in-windows-server-2008/
I'm still sad that TS Gateway won't be included in Vista.
Oops..I meant RemoteApp.
Este es un resumen del articulo publicado en Terminal Services Team Blog , en donde se describen las
In this Blogpost , the terminal server team explains the reasons why the /console switch has disappeared
what is "physical console"? without this I couldn't understand most of the article?
OK, this isn't the first time I've seen this information, but every time I read it I still think, why?
I understand how /console works behind the scenes, having worked with the rdesktop source, but as an administrator I really don't care.
I'm currently evaluating Windows Server 2008 both as a desktop and testbed server platform and still administering Win2003 systems. I get sick of having to remember which platform I'm on and which platform I'm connecting to and having to remember which command foo to invoke, such that I've now got a script to do it for me. So much for technology advances making life simpler.
I get the sense that some PM has dreamt this up without actually understanding what the end user wants.
An admin really doesn't give a toss if the session is session 0 on a Win2003 box or a console-related session on Win2008. The admin just wants access to the console-related session. /console is the well-known semantic for this. There's no need to stuff with this, and the mstsc.exe and termsrv.dll code should know what action to take and perform the necessary hook-up.
It's not very clear to me from the article, so I'm hoping someone can answer.
Currently in Windows Server 2003, we can actually have 3 TS sessions -- 2 normal ones plus the console, which has come in handy on occasion when 2 administrators have accidentally left sessions running. One can always usurp the console session, which is often easier than trying to use TS Manager to disconnect the other admin sessions.
Is this still the case in 2008 or are there now really only 2 sessions?
Windows Server 2008 supports 2 active and infinite number of disconnected admin sessions.
When connecting to a machine that already has 2 active sessions, you can choose to disconnect one of active sessions.
Note: The user you disconnect won't be logged off and his applications continue running.
The Terminal Services Team blog has a good post about these changes. One of the most obvious changes
Thank you for the info. That sounds like a really well done change.
It seems, that code generated with Vista SP1RC doesn't work on XP SP3RC. My understanding is, that both should have the same Version (6.1) of RDC. Setting the "ConnectToAdministerServer" property on XP SP3RC raises a AccessViolationException: "Attempted to read or write protected memory. This is often an indication that other memory is corrupted".
With Vista SP1RC it works fine!
Perhaps the title of this post should be "Microsoft decreases the number of concurrent remote admin connections in windows 2008"
That's a lot more important than the functionality "gain" that is presented.
The main use my team has with the 3 sessions is troubleshooting issues on the servers. To limit the number of concurrent sessions simply cripples these efforts.
The added functionality of allowing more disconnected sessions seems like a good way to waste more memory. Perhaps this is good, I'm just pointing out a side effect.
Also, I'm struggling to understand the benefit of changing the command line switch for GUI based tool?
Sorry for the sarcasm, this "enhancement" is frustrating.
Agreed with most of what's already been posted: apart from the console switch already being a bit of a PiTA for a GUI app (why not a checkbox on the interface?), I can't see the point in effectively renaming it. Why not simply keep it as is, but only make it do anything when connecting to 2003 servers?