RDP-Port unter Windows ohne Server-Neustart ändern

Veröffentlicht am Aktualisiert am 3 Min. Lesezeit

Mit einem kurzen PowerShell-Skript ändern Sie den RDP-Port unter Windows, legen die passende Firewall-Regel an und starten den Remote-Desktop-Dienst neu, ganz ohne Server-Neustart.

In dieser Anleitung zeigen wir Ihnen, wie Sie über PowerShell den Remote-Desktop-Port (RDP) unter Windows ändern, zum Beispiel auf einem Windows Server, wie Sie die Windows-Firewall passend anpassen und den Remote-Desktop-Dienst neu starten. Ein Neustart des gesamten Servers ist dafür nicht nötig.

Warum sollten Sie den RDP-Port ändern?

Der Standardport für Remote Desktop ist TCP 3389, und genau diesen Port scannen automatisierte Bots rund um die Uhr. Jeder Windows-Server, der mit offenem Port 3389 im Internet steht, sammelt binnen Stunden hunderte fehlgeschlagene Anmeldeversuche ein. Das belastet nicht nur das System, es führt bei aktiver Sperrrichtlinie auch dazu, dass Ihr eigenes Konto gesperrt wird.

Ein geänderter Port nimmt Ihren Server aus diesen Massenscans heraus. Er ersetzt jedoch keine der übrigen Schutzmaßnahmen: ein starkes Passwort, aktivierte Network Level Authentication (NLA) und eine Firewall-Regel, die RDP auf Ihre eigene IP-Adresse begrenzt, bleiben genauso wichtig.

Voraussetzungen

  • Ein Windows-System mit aktiviertem Remote Desktop, zum Beispiel Windows Server 2022 oder Windows Server 2025
  • Administrator-Rechte auf diesem System
  • Einen freien Port oberhalb von 1024, im Beispiel verwenden wir 33445
  • Zugriff auf die KVM-Konsole in Ihrem Kundenbereich als Rückweg, falls die Verbindung nach der Änderung nicht sofort klappt

PowerShell als Administrator öffnen

Öffnen Sie zunächst die Windows PowerShell als Administrator. Klicken Sie dazu im Startmenü mit der rechten Maustaste auf "Windows PowerShell" und wählen Sie "Als Administrator ausführen". Ohne erhöhte Rechte darf das Skript weder die Registry noch die Firewall verändern.

Das PowerShell-Skript zum Ändern des RDP-Ports

Fügen Sie das folgende Skript in die PowerShell ein. Die Portnummer in der ersten Zeile passen Sie vorher an Ihren Wunschport an:

# Port 33445 is just an example port. You can use any free ports you want.

$newPort = 33445
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'
Set-ItemProperty -Path $regPath -Name 'PortNumber' -Value $newPort
if (-not (Get-NetFirewallRule -DisplayName "RDP Port $newPort" -ErrorAction SilentlyContinue)) {
    New-NetFirewallRule `
      -DisplayName "RDP Port $newPort" `
      -Direction Inbound `
      -Protocol TCP `
      -LocalPort $newPort `
      -Action Allow
}
Restart-Service -Name TermService -Force
Write-Host "The RDP port has been changed."

Was das Skript im Einzelnen macht

  1. Es legt die neue Portnummer in der Variablen $newPort fest.
  2. Es setzt den Registry-Wert PortNumber unter HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp auf diesen Wert.
  3. Es legt eine passende Regel in der Windows-Firewall an, die eingehende TCP-Verbindungen auf dem neuen Port erlaubt. Existiert die Regel bereits, wird sie nicht erneut erstellt.
  4. Es startet den Remote-Desktop-Dienst (TermService) neu, damit die Änderung sofort greift.

Nach der Änderung wieder verbinden

Durch den Neustart des Dienstes werden alle laufenden RDP-Verbindungen sofort getrennt. Das ist normal. Für die neue Verbindung geben Sie im RDP-Client nicht mehr nur die Server-Adresse an, sondern die Kombination aus Adresse und Port:

<IP-Adresse>:<Neuer-Port>

Für unser Beispiel sieht das so aus:

192.168.1.100:33445

Aktuellen RDP-Port überprüfen

Welcher Port aktuell hinterlegt ist, lesen Sie jederzeit direkt aus der Registry aus:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber

Was Sie danach noch erledigen sollten

  • Vorgelagerte Firewall anpassen: Wenn vor Ihrem Server noch eine externe Firewall steht, muss der neue Port auch dort freigegeben sein. Sonst erreichen Sie den Server trotz korrekter Windows-Regel nicht.
  • Alte Regel für Port 3389 prüfen: Die vorhandene Regel "Remotedesktop" bleibt bestehen. Deaktivieren Sie sie, wenn Port 3389 nicht mehr erreichbar sein soll.
  • Zugriff einschränken: Am wirksamsten ist es, RDP in der Firewall auf Ihre eigene IP-Adresse zu begrenzen. Dann laufen sämtliche automatisierten Angriffe ins Leere.
  • Bereits gesperrtes Konto? Wenn Ihr Benutzerkonto durch die vorangegangenen Angriffsversuche bereits gesperrt wurde, hilft Ihnen unsere Anleitung RDP-Fehler "Konto gesperrt" beheben weiter.

Häufige Fragen

Muss ich den Server nach dem Ändern des RDP-Ports neu starten?
Nein. Es genügt, den Dienst TermService neu zu starten, und genau das erledigt das Skript automatisch. Alle offenen RDP-Sitzungen werden dabei allerdings getrennt.
Welchen Port sollte ich für RDP wählen?
Wählen Sie einen freien Port oberhalb von 1024, zum Beispiel 33445. Vermeiden Sie Ports, die bereits von anderen Diensten belegt sind, und notieren Sie sich die Nummer, denn Sie brauchen sie bei jeder Verbindung.
Wie verbinde ich mich nach der Änderung?
Geben Sie im RDP-Client die Serveradresse zusammen mit dem neuen Port an, also im Format IP-Adresse:Port. Für unser Beispiel wäre das 192.168.1.100:33445.
Schützt ein anderer RDP-Port wirklich vor Angriffen?
Ein geänderter Port nimmt Ihren Server aus den Massenscans heraus, die auf Port 3389 zielen, und senkt die Zahl der Anmeldeversuche deutlich. Ein Ersatz für ein starkes Passwort, Network Level Authentication und eine IP-Beschränkung in der Firewall ist er aber nicht.
Ich erreiche den Server nach der Änderung nicht mehr, was kann ich tun?
Meist fehlt die Freigabe für den neuen Port in einer vorgelagerten Firewall. Verbinden Sie sich über die KVM-Konsole in Ihrem Kundenbereich auf den Server und prüfen Sie dort die Firewall-Regel sowie den in der Registry hinterlegten Portwert.

Windows Server Windows RDP RDP-Port Remote Desktop PowerShell Firewall Server-Sicherheit