How do you specify a user when using the mstsc command in powershell? While I can specify the server, I cannot specify a user.

Let's assume Server name = server01, User name = Test, Password = PW

Example 1 mstsc /v:server01 /user server01\test /password PW

This only brings up the "Remote Desktop Connection Usage" help menu.

Example 2 mstsc /v:server01

This works, bringing up the normal RDP connection prompt for User & password.

Example 3 mstsc /v:server01 /user server01\test

Even trying to just specify the user fails, bringing up the help menu again.

Some website articles on powershell suggest using "Connect-RDP" or "Connect-Mstsc" instead of just "mstsc" as per above examples, but this only brings up an error code. My knowledge of powershell is very basic, so I'm probably making a simple mistake somewhere.

  • Using this script gallery.technet.microsoft.com/scriptcenter/… and running the command Connect-Mstsc -ComputerName -User workpc\Yisroel -Password YisroelGithub -Verbose – Yisroel Tech Jul 19 '18 at 3:23
  • Yisroel, this still brings up an error Connect-Mstsc is not recognised – SteveM Jul 19 '18 at 3:53
  • It is not a built-in command. You need to download the Connect-Mstsc.ps1 script file from the link I mentioned. Then cd to the script file location (cd C:\Users\Yisroel\Downloads) then run . .\Connect-Mstsc.ps1 and then that script with the details – Yisroel Tech Jul 19 '18 at 4:10
  • Yisroel, still not working sorry. Downloaded script, and ran as above. Error: " ...cannot be loaded because running scripts is disabled". Ran as admin: "Set-ExecutionPolicy -executionpolicy undefined". Still getting error – SteveM Jul 19 '18 at 4:46
  • 1
    To run a script from anywhere you need to first run Set-ExecutionPolicy Unrestricted – Yisroel Tech Jul 19 '18 at 4:55

From the "Remote Desktop Connection Usage" help menu, there is no switch like "/user" or "/password".

Please try

cmdkey /generic:"server01" /user:"test" /pass:"PW"

Then used mstsc /v:server01 to connect to the server.

| improve this answer | |
  • @Yisroel Tech and V_V, both methods worked once I unticked "Always ask for credentials" in Remote Desktop Connection settings. – SteveM Jul 19 '18 at 22:57
  • Preferably you should use cmdkey /add:TERMSRV/server01 /user:Test /pass:PW And if you want the credentials to be deleted after mstsc has launched you can do this by invoking the command cmdkey /delete:TERMSRV/server01 – gollum Sep 10 '18 at 13:36

It has been said before, but I'd just like to add a fully working, batch-ready example that I use when I need to log in to so several user's accounts on a simple (i.e. the same password for all users) terminal server, e.g. when I need to make certain changes to each user's environment.

For %f in (user1 user2 user3) do cmdkey /add:TERMSRV/servername /user:domain\%f /pass:commonpassword & mstsc /v:servername & ping & cmdkey /delete:TERMSRV/servername

(replace "servername", "domain", "commonpassword" and the usernames in the for-loop as needed. You may need to open MSTSC once without parameters to set the default parameters as needed and then save the settings.)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.