Zmiana portu RDP w Windows bez restartu serwera
Krótkim skryptem PowerShell zmienisz port RDP w Windows, założysz pasującą regułę firewalla i zrestartujesz usługę pulpitu zdalnego, całkiem bez restartu serwera.
W tym poradniku pokazujemy, jak przez PowerShell zmienić port pulpitu zdalnego (RDP) w systemie Windows, na przykład na Windows Server, jak dopasować do tego firewall Windows i zrestartować usługę pulpitu zdalnego. Restart całego serwera nie jest do tego potrzebny.
Dlaczego warto zmienić port RDP?
Domyślny port pulpitu zdalnego to TCP 3389 i dokładnie ten port zautomatyzowane boty skanują przez całą dobę. Każdy serwer Windows, który stoi w internecie z otwartym portem 3389, w ciągu kilku godzin zbiera setki nieudanych prób logowania. To nie tylko obciąża system: przy aktywnej zasadzie blokady konta prowadzi też do zablokowania twojego własnego konta.
Inny port wyłącza twój serwer z tych masowych skanów. Nie zastępuje jednak żadnego z pozostałych zabezpieczeń: mocne hasło, włączone Network Level Authentication (NLA) oraz reguła firewalla ograniczająca RDP do twojego własnego adresu IP pozostają tak samo ważne.
Wymagania
- System Windows z włączonym pulpitem zdalnym, na przykład Windows Server 2022 albo Windows Server 2025
- Uprawnienia administratora w tym systemie
- Wolny port powyżej 1024, w przykładzie używamy 33445
- Dostęp do konsoli KVM w panelu klienta jako droga powrotna, gdyby połączenie po zmianie nie zadziałało od razu
Uruchomienie PowerShella jako administrator
Najpierw uruchom Windows PowerShell jako administrator. W menu Start kliknij prawym przyciskiem myszy pozycję „Windows PowerShell” i wybierz „Uruchom jako administrator”. Bez podwyższonych uprawnień skrypt nie może zmienić ani rejestru, ani firewalla.
Skrypt PowerShell do zmiany portu RDP
Wklej poniższy skrypt do PowerShella. Numer portu w pierwszym wierszu dopasuj wcześniej do portu, którego chcesz używać:
# Port 33445 to tylko przykładowy port. Możesz użyć dowolnego wolnego portu.
$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 "Port RDP został zmieniony."
Co dokładnie robi ten skrypt
- Zapisuje nowy numer portu w zmiennej
$newPort. - Ustawia wartość rejestru
PortNumberw kluczuHKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcpna tę wartość. - Zakłada w firewallu Windows pasującą regułę, która przepuszcza przychodzące połączenia TCP na nowym porcie. Jeśli reguła już istnieje, nie zostanie utworzona po raz drugi.
- Restartuje usługę pulpitu zdalnego (
TermService), żeby zmiana zadziałała od razu.
Ponowne połączenie po zmianie
Restart usługi natychmiast zrywa wszystkie trwające połączenia RDP. To normalne. Przy nowym połączeniu w kliencie RDP nie podajesz już samego adresu serwera, tylko kombinację adresu i portu:
<Adres-IP>:<Nowy-port>
W naszym przykładzie wygląda to tak:
192.168.1.100:33445
Sprawdzenie aktualnego portu RDP
Aktualnie zapisany port odczytasz w każdej chwili bezpośrednio z rejestru:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Co warto zrobić zaraz potem
- Dopasuj firewall przed serwerem: Jeśli przed twoim serwerem stoi jeszcze zewnętrzny firewall, nowy port musi być odblokowany również tam. W przeciwnym razie nie połączysz się z serwerem mimo poprawnej reguły w Windows.
- Sprawdź starą regułę dla portu 3389: Istniejąca reguła „Pulpit zdalny” pozostaje na miejscu. Wyłącz ją, jeśli port 3389 nie ma być już osiągalny.
- Ogranicz dostęp: Najskuteczniej działa ograniczenie RDP w firewallu do twojego własnego adresu IP. Wszystkie zautomatyzowane ataki trafiają wtedy w próżnię.
- Konto już zablokowane? Jeśli twoje konto użytkownika zostało już zablokowane przez wcześniejsze próby ataku, pomoże ci nasz poradnik Naprawa błędu RDP „Konto zablokowane”.
Najczęstsze pytania
Czy po zmianie portu RDP muszę zrestartować serwer?
Który port wybrać dla RDP?
Jak połączyć się po zmianie?
Czy inny port RDP naprawdę chroni przed atakami?
Po zmianie nie mogę już połączyć się z serwerem, co mogę zrobić?
2026 KernelHost GmbH. Wszelkie prawa zastrzeżone. Ten poradnik jest chroniony prawem autorskim. Publikowanie go w innych serwisach, w całości, we fragmentach lub w zmienionej formie, wymaga naszej pisemnej zgody. Cytaty z podaniem źródła i z linkiem są jak najbardziej mile widziane.

