Concurrent RDP Sessions and Shadowing in Vista
Written by Alex (nedge2k)   
Friday, 15 August 2008 21:53
Many, many moons ago, I posted about how you can "hack" Vista Home Premium to allow you to RDP (Remote Desktop Protocol) into it. The origins of that hack were to allow multiple (concurrent) sessions on a Media Centre machine using RDP - basically, allowing multiple users to be logged on to the machine both remotely and physically at the same time, using the same credentials. Why? Well, say you have a Media Center machine plugged into your TV and wanted to do something user-specific on it without interrupting the people watching TV/Videos etc. Under normal circumstances, if you RDP'd into the machine, using the same credentials as the already logged in local user (watching the TV), it would log off that user and whoever was watching the TV would just see a login screen - not good. This "hack" stopped that from happening :) Of course, it soon turned out that a side-effect of this hack was that, once it and some other files were copied, it allowed users of OS's that didn't support Terminal Services (the service that allows you to RDP into a machine), such as Vista Home Premium, to now reap the benefits of RDP and concurrent sessions. Now, a lot of people new to RDP think that enabling concurrent sessions will allow you log into a machine as an already logged in user and remotely control said machine - and they'd be right! Where they are usually wrong, is in thinking that the local user logged on and sitting at the PC etc. will be able to monitor what they are doing (see the mouse move etc.) and most people who claim to be "in the know" will say, "no, that's not at all possible" and recommend they try VNC - which, when compared to RDP, sucks ass. Notice I said "claim" because these people are talking through their collective arseholes. At this point, you're probably wondering a)what the hell this is all about and b)why I'm contradicting myself. Well, this is where I introduce the little known "shadowing" technique. When two users are logged into a machine with the same credentials, whilst they both have access to everything that user account would normally have access to including files etc., they cannot directly interact with each other, as they are in different "sessions". That is, of course, until the remote user finds out that he can achieve VNC style control of a machine by using shadowing in RDP! All the remote user has to do is decide which session they want to shadow by opening the Start Menu, hitting "run", typing "cmd" and then typing "query session" - this will then give a list of available sessions - and then type "shadow" followed by the session name or number. Just typing "shadow console" into the run box will take you straight to the locally logged on user. The remote user now shares the same "session" as the local user and can now monitor what the local user is doing, and vice versa :) Of course, if more than one person were logged in remotely and you needed to render some kind of support to them, all you would have to do is check which session they were in and shadow it, simple :) You could also create a batch file and put it in the quick launch bar for one click shadowing by creating a new text file, renaming it to shadow.bat and then filling it with the following:
@echo off C:WindowsSystem32Shadow.exe console exit
So why the huge post on a topic that most could care less about? Well, why not! There's enough people blogging about crap these days that could easily mislead the uninformed. At least if they read this, they'd be that little bit more informed :)