I'm trying to shadow my work desktop from my home desktop using RDP. My home desktop is running Windows 10 Home, and my work desktop is running Windows 10 Enterprise.

Most of the articles I've found online expect you to connect to a remote PC using a Server OS, but I've tried to apply what they suggest to Windows 10.

Per the articles I've read online, I have set the group permissions for both the entire PC and the individual user to allow full control over RDP without prompting. I then issue the following command via PowerShell:

mstsc /v:HOST_NAME /shadow:DESIRED_SESSION /control /prompt /noConsentPrompt /multmon

When that command executes, it prompts me for credentials, and once I enter them, I'm able to shadow my work desktop. That said, the whole process is really clunky for a couple reasons.

First, I have to guess the session ID for the shadow parameter. The articles I've found about shadowing mention using query or qwinsta, but neither of those commands seems to exist on non-Server OSs. I've also looked into using net, which works on Windows 10, but doesn't seem to be able to list user sessions on remote PCs. Is there an equivalent to these commands that could be used to get session IDs from a remote PC for non-Server OSs?

Second, when I connect, I have to enter the credentials for the user account on the remote PC. Is there any way to "save" the credentials somewhere to be loaded automatically as can be done using the GUI RDP client? Or to stuff credentials into the authentication prompt somehow? I know that you can pass an RDP file as a parameter to the mstsc command, but I'm not sure how to do that when trying to shadow.

And on a related note, is there any major benefit to using the shadow RDP system over another shadow remote protocol like, say, UltraVNC? I know that typical RDP has significant speed advantages, but the shadowing system doesn't seem to work in the same way as the normal RDP system.

Thanks for any help.


You must log in to answer this question.

Browse other questions tagged .