16

My home network consists of a couple Windows XP machines and a Windows 7 box. One of the Windows XP boxes is like a shared server accessed via Remote Desktop. I have an account on there and my gf has another.
Previously I was able to save RDC shortcuts to this shared server including credentials. So in order to access the server from a computer on the network, I just needed to open the shortcut. I thus would have two shortcuts, one for my account and one for my gf's.

In Windows 7, it seems to store credentials for a box based on machine name. I.e. I can only store one set of credentials per machine name. This seems incredibly stupid so my question is:
In Windows 7, is there some way to have RDC shortcuts that use different credentials to login to the same target box?

studiohack
  • 13,477
w--
  • 1,053

10 Answers10

17

If haven't tested this but it should work. Create an alias for the Windows XP 'server' either in DNS (cname) or in the Hosts file on the Win7 box. Then you should be able to setup a connection to the alias, and it would be a 'different machine' so RDP should store the credentials separately.

Windows 7 saves one password per alias per client profile. Just add an alias to your hosts file and save the connection to that alias as a separate RDP file. Note that you might not be able to save the password if you are on a domain, because it won't trust the certificate of this "new" machine.

slhck
  • 235,242
BillN
  • 806
9

The following solution works perfectly if you have sufficient privileges on your local machine to edit its host file:

  1. Open the Windows host file ("hosts") from \Windows\System32\drivers\etc in notepad
  2. In Windows 7/8 you might have to grant yourself full control permissions on the file through properties > edit permissions > Add > define 'full control' permissions
  3. Define alternative DNS names for the IP address you wish to connect to with RDP. Example:>

192.168.1.20 Test1.localnetwork

192.168.1.20 Test2.localnetwork

192.168.1.20 Test3.localnetwork

#Note: the ".localnetwork" suffix is not required; you can define any name here

  1. Save the host file
  2. Open the RDP client and enter 1 of your alternative DNS names. Note: port numbers should be entered after the DNS name, for example: Test1.localnetwork:80
  3. Save the RDP settings with different file names.
  4. You can easily define different user names and save their different credentials.
8

After a bit of digging I have found your problem. The more recent versions of remote desktop don't save the password information in the RDP file. This is a change, probably due to security concerns. I'm not sure where this information is stored, but I do know that it is user specific information. That change has the affect of limiting the number of saved credentials per host machine (the XP media box) to one.

If you want to have different users have different saved credentials, you'll need to create more user accounts on your client machines. When a person sits down at a machine, they will need to specify their user name to log into that machine, and then launch RDP to connect to the remote host. This separation will allow you to have separate saved RDP credential stores.

Doltknuckle
  • 6,131
5

A cheap solution if you only want two connections from your machine to a remote machine is two setup one connection using the target machines name and the second one using the target machines IP address.

This fools Windows-7 ( and others ) into believing that the connection is to two different machines and it then doesn't confuse the credentials.

David Purdie
  • 51
  • 1
  • 1
3

The problem can be solved by using the product Royal TS, an RDP client program that offers more features than the standard Windows Remote Desktop Client. (version 1.5 is still freeware).

This product does use the Windows Remote Desktop ActiveX, same as RDP, but embedded in its own windows. These windows can be organized in tabs, so you can enjoy multi-tab remote desktop.

Most important for you, you can define multiple logins, each with its own user name and password (unlike Microsoft's RDP which only remembers the last login). You can even access the same site concurrently through multiple windows with different/same logins for each window. The logins can be organized in a 2-level hierarchical tree.

image

Gareth
  • 19,080
harrymc
  • 498,455
2

Go to %SystemRoot%\system32\ folder on your current PC, copy mstsc.exe and mstscax.dll. Save these files in a folder where you know you can find them later.

Then get a Windows XP CD or go to %SystemRoot%\system32\ on an XP machine. Copy mstsc.exe and mstscax.dll from it; paste it into %SystemRoot%\system32\ folder on your current PC. Answer "Yes" to overwrite the current files. You now have the old version of RDP client and can save each users logon credentials.

After you paste in the old RDP client files above; Right click each RDP connection you have, Left click “Edit”, make the user/password changes, select the “Save my password” checkbox, click “Save as”, Name the RDP and save each one. This will embed each username and password into each RDP file itself.

If you like the functionality of the newer RDP client, once you have saved the credentials as above, copy and paste the newer version of the mstsc.exe and mstscax.dll files back into your %SystemRoot%\system32\ folder and your RDP client credentials will still be saved in their files.

However, if you want to add another new RDP connection to the same remote computer, with different credentials, you will have to do the above all over.

This works for people with XP SP3 as well.
Me personally, I just kept the old client.

slhck
  • 235,242
Scar0
  • 21
1

A possible workaround is to save the rdp connection for the second user on some other machine to which I connect via rdp. Not nice, but it saves me retyping the password again and again.

bernd_k
  • 1,261
1

Open the .rdp files in Notepad and add this line at the end:

username:s:domain\username

Save the .RDP files as different filenames. This works since saving the user from the GUI doesn't add the user to the .RDP file.

Canadian Luke
  • 24,640
0

Actually, windows saves the RDP connection in a file that is stored on your user profile. The last connection made from a machine is saved as "default.rdp". All you need to do is setup the connection, go to the general tab, and hit the "Save As..." button. This will give you the option to create a file that will store your session information. Make a shortcut on your desktop and you are good to go.

This behavior should only happen if you share a user account on the client machine. If you want different experiences, setup a second user on the win 7 machine and you won't see each others' last session.

Doltknuckle
  • 6,131
0

@Patrick, thanks for your answer on how to use different credentials to logon to the same server. This is still a relevant issue in Win 10. I took your ../etc/hosts file suggestion and added names to the same line, one hostname for each credential. Then I set up an .rdp file for each hostname with their own credential (hostname-user1.rdp, hostname-user2.rdp). Works like a charm.

C:\Windows\System32\drivers\etc\hosts file example:

"IP address" "hostname" "hostname-user1" "hostname-user2"

enter image description here

Rohit Gupta
  • 5,096