İçeriğe geç
Yeni yazı çıkınca e-posta · 4.812 abone 244 rehber · 102 ipucu · 82 komut RSS GitHub LinkedIn İletişim
Ara Ctrl K Bültene katıl
Tüm arşiv · 244 rehber →
Tüm araçlar · 75 üreteç →
Uzak Erişim · windows

Uzak masaüstüne bağlanamıyorum

Aynı hata mesajının arkasında sekiz farklı sebep var: servis kapalı, port değişmiş, güvenlik duvarı kuralı pasif, sertifika süresi dolmuş, kullanıcı yetkisiz ya da oturum sınırına takılmış. Zinciri sırayla yürüyün.

28 Ağustos 2026 · yaklaşık 6 dakika
Bu belirtileri yaşıyorsanız doğru yerdesiniz
  • Uzak masaüstü bağlanamıyor, hata mesajı bir şey söylemiyor
  • Dün çalışıyordu, bugün bağlanmıyor
  • Bazı kullanıcılar bağlanabiliyor, bazıları bağlanamıyor
  • Bağlanıyor ama hemen düşüyor
  • Sertifika uyarısı çıkıyor
30 saniyelik çözüm
Test-NetConnection SUNUCU -Port 3389
Hazır araç

rdp-baglanti-teshis.ps1

Ad çözümleme, servis durumu, gerçek dinleme portu, NLA ayarı, güvenlik duvarı kuralları, dinleyici sertifikası, kullanıcı yetkisi, oturum sınırları ve son bağlantı olaylarını sırayla denetler; zincirin ilk kırıldığı yeri gösterir. Hiçbir ayarı değiştirmez.

İndir

Uzak masaüstü istemcisinin verdiği hata mesajları neredeyse hiçbir şey söylemez. “Bağlanamıyor” cümlesinin arkasında birbirinden bağımsız sekiz durum vardır ve her birinin çözümü farklıdır.

Sıra önemlidir: alt katmandaki bir sorun, üstteki her kontrolü anlamsız kılar.

1. Ad gerçekten doğru makineye mi çözülüyor

En sık atlanan ve en çok zaman kaybettiren adım budur.

Resolve-DnsName SUNUCU -Type A

Birden çok adres dönüyorsa, eskiden kaldırılmış bir makinenin kaydı hâlâ duruyor olabilir. İstemci sırayla dener ve yanlış adrese takılır.

2. Uzak masaüstü açık mı, hangi portu dinliyor

Port varsayılan sanılır; oysa değiştirilmiş olabilir ve kimse hatırlamaz.

$ts  = 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server'
(Get-ItemProperty $ts).fDenyTSConnections                       # 1 ise kapalı
(Get-ItemProperty "$ts\WinStations\RDP-Tcp").PortNumber         # gerçek port
(Get-ItemProperty "$ts\WinStations\RDP-Tcp").UserAuthentication # 1 ise NLA açık

fDenyTSConnections değeri 1 ise uzak masaüstü sistem düzeyinde kapalıdır — ve bu ayar bir grup ilkesiyle gelmiş olabilir. Makinede elle açsanız da bir sonraki ilke uygulamasında geri kapanır.

3. Port dışarıdan erişilebiliyor mu

Test-NetConnection SUNUCU -Port 3389

PingSucceeded doğru ama TcpTestSucceeded yanlışsa makine ayaktadır, sorun port düzeyindedir: güvenlik duvarı, servis ya da yönlendirme.

4. Güvenlik duvarı kuralı etkin mi

Kural vardır ama profili yanlıştır — en sık görülen hâli budur. Makine “Genel” ağ profiline düşmüşse, yalnızca “Etki alanı” profilinde etkin olan kural devreye girmez.

Get-NetFirewallRule -Group '@FirewallAPI.dll,-28752' |
  Where-Object Direction -eq 'Inbound' |
  Select-Object DisplayName, Enabled, Profile, Action

Bir ağ kartı eklendikten ya da VPN kurulduktan sonra profil sessizce değişebilir.

5. Sertifika süresi dolmuş olabilir

Kendinden imzalı dinleyici sertifikası dolduğunda bazı istemciler bağlantıyı doğrudan reddeder. Belirti “dün çalışıyordu” olur.

Betiğin beşinci adımı bunu dışarıdan bakarak ölçer — kayıt defterindeki değere değil, sunucunun gerçekten sunduğu sertifikaya bakar.

6. Kullanıcının yetkisi var mı

Yönetici bağlanabiliyor, kullanıcı bağlanamıyorsa cevap buradadır.

Get-LocalGroupMember -Group 'Remote Desktop Users'

Yerel grupta görünmüyorsa bir etki alanı grubu üzerinden yetkili olabilir. Ayrıca grup ilkesindeki “Uzak Masaüstü Hizmetleri ile oturum açmayı reddet” hakkı, grup üyeliğini ezer ve kimse oraya bakmaz.

7. Oturum sınırına takılmış olabilir

İstemci işletim sistemlerinde aynı anda tek oturum açılabilir. Sunucuda ise terk edilmiş oturumlar bağlantı sayısını doldurabilir.

quser /server:SUNUCU

Disc durumundakiler kopmuş ama hâlâ bellek tutan oturumlardır. Zaman aşımı tanımlı değilse süresiz birikirler; ayrımı uzak oturum kopmaları rehberinde.

8. Günlükler ne diyor

Son adım, tahmin etmeyi bırakıp kayda bakmaktır.

Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' -MaxEvents 50
Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4625 } -MaxEvents 50

Çok sayıda 4625 kaydı iki şey anlatır: ya eski bir kimlik bilgisi bir yerde takılı kalmıştır, ya da dışarıdan deneme trafiği alıyorsunuzdur. İkincisi bir yapılandırma sorunu değil, portun internete açık olduğunun işaretidir; kapatma yolları RDP’yi internete açmadan yayınlamak rehberinde.

Doğrulama adımı

Betiği çalıştırıp özet bölümünü okuyun. Bulgu listesi boşsa zincir sunucu tarafında sağlamdır ve sorun istemcide ya da ağ yolundadır — o durumda aynı makineye başka bir ağdan bağlanmayı deneyin.

Bir düzeltme yaptıysanız, betiği ikinci kez çalıştırıp ilgili bulgunun kaybolduğunu görün. Kaybolmadıysa değişiklik uygulanmamıştır; grup ilkesiyle geri yazılıyor olabilir.

Bu çözüm işinize yaramadıysa ya da eksik bir adım varsa yazın — güncelliyorum.