Windows Server Remote Desktop Port ändern mit PowerShell
# PowerShell Skript zum Ändern des RDP-Ports und Anpassen der Firewall
# Neuer RDP-Port (Standard ändert zu einem benutzerdefinierten Wert)
$newRdpPort = 12345 # Ersetzen Sie 12345 durch Ihren gewünschten Port
# Registry-Pfad für RDP
$regPath = "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
$regValue = "PortNumber"
# Überprüfen, ob der neue Port gültig ist (1-65535)
if ($newRdpPort -lt 1 -or $newRdpPort -gt 65535) {
Write-Host "Der angegebene Port ist ungültig. Bitte einen Wert zwischen 1 und 65535 eingeben." -ForegroundColor Red
exit 1
}
# Ändern des Ports in der Registry
try {
Set-ItemProperty -Path $regPath -Name $regValue -Value $newRdpPort
Write-Host "Der RDP-Port wurde in der Registry auf $newRdpPort geändert." -ForegroundColor Green
} catch {
Write-Host "Fehler beim Ändern des RDP-Ports in der Registry: $_" -ForegroundColor Red
exit 1
}
# Firewall-Regeln anpassen
# Neue Regel für den neuen Port hinzufügen
try {
New-NetFirewallRule -DisplayName "RDP - Neuer Port $newRdpPort" -Direction Inbound -Protocol TCP -LocalPort $newRdpPort -Action Allow
Write-Host "Firewall-Regel für den neuen RDP-Port $newRdpPort hinzugefügt." -ForegroundColor Green
} catch {
Write-Host "Fehler beim Hinzufügen der Firewall-Regel: $_" -ForegroundColor Red
exit 1
}
# Alte Regel für den Standardport (3389) entfernen
try {
Remove-NetFirewallRule -DisplayName "RDP - Neuer Port 3389" -ErrorAction SilentlyContinue
Write-Host "Firewall-Regel für den alten Standard-RDP-Port 3389 entfernt." -ForegroundColor Green
} catch {
Write-Host "Fehler beim Entfernen der alten Firewall-Regel: $_" -ForegroundColor Yellow
}
# RDP-Dienst neu starten
try {
Restart-Service -Name TermService -Force
Write-Host "Der RDP-Dienst wurde neu gestartet." -ForegroundColor Green
} catch {
Write-Host "Fehler beim Neustart des RDP-Dienstes: $_" -ForegroundColor Red
exit 1
}
Write-Host "Der RDP-Port wurde erfolgreich geändert. Bitte stellen Sie sicher, dass der neue Port für Remoteverbindungen verwendet wird." -ForegroundColor Cyan
Sie müssen die PowerShell-Ausführungsrichtlinie von „Eingeschränkt“ auf „RemoteSigned“ oder „Uneingeschränkt“ (Set-ExecutionPolicy Unrestricted
) festlegen, damit lokale PowerShell-Skripts ausgeführt werden können.
Weitere Informationen zur PowerShell-Ausführungsrichtlinie erhalten Sie, indem Sie an der PowerShell-Eingabeaufforderung oder eingeben.help about_signing
help Set-ExecutionPolicy