Solution

To make it short, just switch to another port instead of 3389.

Background

So finally, I could not stand with the TeamViewer as I keep worrying about the security issue. The Windows remote desktop service seems to be a perfect choice, except that I just couldn't get the client work on my Mac or iPad. The 0x204 error is a nightmare. 0x204

As always, poor users have met this error again and again, and complex solution has been published to solve this issue. Look at this: https://www.thewindowsclub.com/fix-remote-desktop-connection-issues

Technically, I spent a whole morning to try every kind of solution in this article, but I failed again and again. That was depressing. Howerver, I managed to learn something from my past failure, and so is the solution below.

Solution details

If you are also in the following situation --

  1. The remote desktop client complains 0x204;
  2. Ping windows server IP returns success;
  3. Windows told you that the 3389 port is open, you could always check that by running the following command in powershell:
    cmd /c 'netstat -ano | find "3389"'
  4. If you netstat the server IP on client machine, 3389 could not found.

Then, you can try to use the following procedure to resolve the problem:

  1. In the windows server, run regedit to open the registry editor;
  2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp;
  3. Change the value of PortNum to another one, such as "6929"; PortNum
  4. Run the command gpupdate /force in powershell to update the registry;
  5. Run services.msc, and restart the remote desktop service;
  6. Switch to your client, connect to the server with <ip>:<port>. Bingo!

Thoughts

nmap and telnet are always friends for network troubleshooting. A machine's opening ports can only be told to you by another machine. And finally, DONOT waste time on some complicated solution if you are not sure whether your problem matches the solution.