Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy RDP Session Shadow

Find the person who needs help by name, press Enter, and you're on their screen.

A small, self-contained Windows tool for anyone who spends their day remote-controlling other people's sessions. No install, no dependencies, no service to run - one PowerShell file and a shortcut to double-click.

Easy RDP Session Shadow

Created by Kirk Chewning (@kirkc88) - MIT licensed


The problem it solves

The classic way to shadow someone's session looks like this:

query session
set /p usersession= Enter the session ID:
mstsc.exe /shadow:%usersession% /noConsentPrompt /control

Which means: squint at a wall of text, find the right row, read a number off it, type the number. Every single time. And you'd better not misread it, because there's no undo - you just end up watching the wrong person.

Easy RDP Session Shadow replaces that with: type three letters of their name, press Enter.

Who this is for

  • Helpdesk and IT support - someone calls, you're on their screen in about two seconds.
  • Anyone running an RDS / Terminal Server - a list of 40 sessions stops being a list you read and becomes a box you type into.
  • Small businesses with a line-of-business app on a server (Sage, QuickBooks, an ERP, a POS backend) where staff all work inside one shared box and someone gets stuck daily.
  • Managed service providers - point the Computer box at any client server; the last one you used is remembered.
  • Computer labs, classrooms, training rooms - see what a machine is doing without walking over to it.
  • Anyone who just wants a nicer front end for mstsc /shadow and is tired of typing session IDs.

Quick start

  1. Download the Repo (main.zip) and unzip it anywhere - Desktop, a tools folder, a USB stick, a network share.
  2. Double-click Shadow Sessions.cmd.
  3. Approve the UAC prompt. (Shadowing needs admin rights; the script asks for them itself.)
  4. Start typing a name.
  5. Press Enter.

That's the whole thing. Nothing is installed and nothing is written outside of a small settings file in your own profile.

How you drive it

Key What it does
just type filters the list as you type
Up / Down move through the matches without leaving the search box
Enter shadow the highlighted person
Double-click same thing, with the mouse
F5 refresh the list right now
Esc clear the search - press again to close
Right-click a row shadow with control / shadow view-only / send a message / copy user name

Search matches on everything in the row, not just the user name: the domain, the PC they're sitting at, the session ID, the state. Typing ware finds whoever is on WAREHOUSE-03. Multiple words all have to match, so mendez disc narrows to disconnected Mendez.

The four options

Option What it means
Take control On: their mouse and keyboard work for you too. Off: you watch but can't touch. (mstsc /control)
No consent prompt Skips the "can I watch your screen?" question on their end. (mstsc /noConsentPrompt) - see the note below.
Auto-refresh Re-reads the session list every 15 seconds.
Show system sessions Also lists session 0, listeners, and sessions with nobody signed in. Off by default, since you can't shadow those.

All four - plus whatever is in the Computer box - are remembered for next time, in %LOCALAPPDATA%\SessionShadow\settings.json. Delete that file to start fresh.

Working against a server

Leave the Computer box blank to list sessions on the machine you're sitting at.

Type a server name or IP and press Enter to list that machine's sessions instead. Shadow then launches mstsc /v:SERVER /shadow:ID. You'll need:

  • admin rights on that server, using the account you're currently signed in as;
  • the server reachable over the network;
  • RPC traffic allowed through its firewall (the "File and Printer Sharing" rule group usually covers it).

If any of that is missing, the app says so in plain English rather than showing you an error number.

Requirements

  • Windows 7 / Server 2008 R2 or newer - any edition, including Home
  • Windows PowerShell 5.1 (already on every supported Windows) - PowerShell 7 also works
  • Administrator rights on whichever machine you're listing sessions for
  • mstsc.exe, which ships with Windows

Why not just parse quser or query session?

Because those tools aren't always there. They're missing from Windows Home editions entirely, their fixed-width text output is fiddly to parse, and the column headers change with the system display language - so a script built on them breaks the moment you run it somewhere slightly different.

Easy RDP Session Shadow calls the Windows Terminal Services API directly (wtsapi32.dll). That works on every edition and in every language, and it hands back things query session never showed you, like the client PC name and real idle time.

Good to know

  • You can't shadow your own session. The app points this out instead of opening a window into infinity.
  • The consent prompt setting depends on policy. "No consent prompt" only works if the Group Policy Set rules for remote control of Remote Desktop Services user sessions is configured to allow it. If a shadow attempt flashes open and instantly closes, that policy is almost always the reason. Untick the box and the user will simply get a prompt to accept.
  • Shadow the ethical way. Silent, no-consent remote control is a real capability. Use it where you're authorized to and where people know it's part of how support works.
  • It's plain text - go change it. Everything lives in ShadowSessions.ps1. The colours are the #FF...... values in the XAML block near the top; the refresh interval is one line near the bottom.

What's in the box

File What it is
Shadow Sessions.cmd The launcher. This is the one you double-click.
ShadowSessions.ps1 The entire app - UI, session enumeration, everything.
screenshot.png The picture above.
LICENSE MIT.

Contributing

Issues and pull requests are welcome. If you hit a case the session parser handles badly - an unusual RDS setup, a non-English Windows, a session state that looks wrong - please include what you expected to see and what you got.

License

MIT - see LICENSE. Use it, change it, ship it in your own toolkit. Provided as-is, with no warranty.

About

Find a user by name and shadow their Windows session instantly. A searchable GUI for mstsc /shadow - no install, single PowerShell file, works on any Windows edition.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages