Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
2  
Just wanted to say that this new behavior (only allowing the possibility of saving one set of credentials per login per target machine) is incredibly obnoxious. Leave it to MS to gimp their OS whenever and wherever possible, and call it 'progress' ;( –  Mordachai Jul 20 '10 at 20:58
    
agree, it is quite retarded. i'm sure they thought they had some great reason for this, but in the end it totally ruins perfectly reasonable use cases and workflows. –  w-- Jul 26 '10 at 18:47

9 Answers 9

up vote 4 down vote accepted

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.

share|improve this answer
    
Thanks for digging. This sounds like a pretty definitive answer on the topic. –  w-- Jul 3 '10 at 0:00

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.

share|improve this answer
    
thanks for tip. using a DNS alias is the workaround i'm already using to get around the issue. it works, it's just annoying. –  w-- Jul 2 '10 at 23:59
1  
Just a tip: if you only need two logins, then connecting using the FQDN vs. the hostname alone is enough for Windows to store a separate credential. (i.e. rdp://server vs. rdp://server.example.com) –  NReilingh Mar 3 at 2:50

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.

share|improve this answer
    
+1 Super simple, as long as it's a static address. Thank you! –  Jon of All Trades Jul 20 '12 at 14:39
    
Thx for answering. I'm using this solution also. –  w-- Sep 13 '12 at 18:35
    
Nice! Can be extended to any number of credentials if you add bogus entries to the hosts file, such as "user4.myserver.example.com", or to the server's DNS records directly. –  romkyns May 13 '13 at 8:40

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

share|improve this answer
    
thanks for tip. –  w-- Jul 3 '10 at 0:01
    
A couple of things to watch out for. The version 1.5 on-line help is no longer available, but you can manage without. Also, it seems to not work with NLA so you have to uncheck "Allow connections only from computers running Remote Desktop with Network Level Authentication" on the target host. If you don't do this you will get a 2825 error. –  Glenn Lawrence Jul 25 at 4:10

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.

share|improve this answer
    
nice. creative. never thought of doing it this way. –  w-- Apr 11 '12 at 1:58

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.

share|improve this answer

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.

share|improve this answer
    
It seems that you have to select "Always ask for credentials" for this to work, which means you have to enter the password each time. –  Glenn Lawrence Jul 25 at 3:53

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.

share|improve this answer
    
hi, thanks for the reply. yes the point is i have one account on the client win 7 machine. i find it stupid that i can't have two seperate connection shortcuts that connect using different credentials. In case it wasn't clear, i've already attempted what you describe but the result is that it will only save the connection info, not the credentials. As you mention, it only remembers the "last" credentials used to connect to that machine. is there no way to accomplish my original goal? –  w-- Jun 15 '10 at 7:35
    
You are correct, older versions of RDP did save this information to files, but not anymore. See my other answer, you'll need to have two accounts on your RDP client machines. –  Doltknuckle Jun 15 '10 at 18:15

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.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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