How do I change the RDP listening port?
This Microsoft Support aticle gives the answer. Just change the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
Although this article does not call out Windows 7 specifically, it does work and is actually referenced by this RDP FAQ for Windows 7(see the last question).
I just use my firewall to redirect the port into my NAT instead of changing it on the internal windows system.
Use the microsoft Fixit from this page to do it automatically:
http://support.microsoft.com/kb/306759
As heavyd said in his answer you just need to update the registry.
However, what is better than listening on one alternate port? How about listening to an alternate port and the original port at the same time!
netsh interface portproxy add v4tov4 listenaddress=192.168.1.200 listenport=3389 connectaddress=192.168.1.200; connectport=12345
This will set up a forwarding rule for your machine that will redrect all incoming requests to the standard port 3389
to your new port (12345
in my example). Just be sure to change the two IP addresses to the IP address the machine you are running this on.
(I had to use this trick when I had a few servers that where NATed behind a single IP but I could not remap the ports like djangofan did during the NATing process, this let me use the alternate port on the public IP when connecting remotely or using the standard port or alternate port with the internal IP when I was on the LAN.)