RDS Başlatılamıyor: “Error 2” Hatası ve ServiceDll Çözümü
Uzak Masaüstü Hizmetleri (Remote Desktop Services – RDS), özellikle kurumsal ortamlarda kullanıcıların merkezi sunuculara güvenli şekilde bağlanmasını sağlayan kritik bir Windows bileşenidir. Ancak bazı durumlarda RDS servisi başlatılmaya çalışıldığında “Error 2: Sistem belirtilen dosyayı bulamıyor” hatasıyla karşılaşılabilir. Bu hata, yüzeyde basit görünse de aslında sistemin temel yapı taşlarından birinin eksikliğine işaret eder. Gelin bu sorunun kök nedenini ve çözüm yollarını detaylıca inceleyelim.
“Error 2” hatası genellikle fiziksel bir dosya eksikliğinden değil, Windows Registry üzerinde bozulmuş veya silinmiş bir yapılandırmadan kaynaklanır. Özellikle RDS’in çalışması için gerekli olan termsrv.dll dosyasının yolu, ServiceDll anahtarında tanımlanmalıdır. Bu kayıt eksik olduğunda Windows, servisi başlatırken hangi kütüphaneyi yükleyeceğini bilemez ve “dosya bulunamadı” hatası üretir.
Başlıca nedenler:
- Eksik Registry Kaydı:
ServiceDllanahtarının silinmesi veya bozulması. - Rol Kurulum Hataları: RDS rolü yüklenirken yaşanan kesintiler veya hatalı güncellemeler.
- Antivirüs/EDR Müdahaleleri: Güvenlik yazılımlarının yanlışlıkla kritik kayıtları karantinaya alması veya silmesi.
Çözüm: ServiceDll Kaydının Onarılması
Sorunu çözmek için eksik olan registry kaydını yeniden oluşturmak gerekir. Bunun için iki yöntem kullanılabilir:
1. PowerShell Yöntemi
PowerShell üzerinden aşağıdaki komut çalıştırılarak eksik ServiceDll kaydı doğru biçimde yeniden tanımlanır:
# RDS servis parametrelerinin bulunduğu yolu tanımlayalım
$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters"
# Eksik olan ServiceDll kaydını 'ExpandString' tipinde ve doğru değerle oluşturalım
New-ItemProperty -Path $registryPath -Name "ServiceDll" -Value "%systemRoot%\System32\termsrv.dll" -PropertyType ExpandString -Force
Bu komut, RDS’in çalışması için gerekli olan DLL dosyasının yolunu tekrar sisteme tanıtır.
2. Manuel Onarım (Registry Editor)
Grafik arayüz üzerinden işlem yapmak isteyenler için:
regedit.exeuygulamasını açın.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\Parametersyoluna gidin.- Sağ tıklayıp Yeni > Genişletilebilir Dize Değeri (Expandable String Value) oluşturun.
- İsim olarak
ServiceDll, değer olarak%SystemRoot%\System32\termsrv.dllgirin
Kayıt defterindeki onarımı yaptıktan sonra servisin stabil çalışması için şu üç adımı mutlaka uygulayın:
- Servisi Başlatın: PowerShell üzerinden
Start-Service TermServicekomutuyla servisin “Running” durumuna geçtiğini teyit edin. - Grace Period Temizliği: Eğer lisans dağıtımıyla ilgili sorun devam ediyorsa,
RCM\GracePeriodaltındaki deneme süresi sayacını temizlemek gerekebilir. - Yeniden Başlatma: Değişikliklerin tüm sistem katmanlarında geçerli olması için sunucuyu uygun bir zamanda restart edin.
“Error 2” hatası, aslında RDS mimarisindeki bir “adres bulamama” sorunudur. Doğru Registry yapılandırmasıyla bu engel aşıldığında, lisans sunucunuz tekrar aktif olacak ve kullanıcılarınızın erişimi normale dönecektir.
Bu bilgilerin faydalı olması dileğiyle…










Eline sağlık.
Teşekkür Ederim.