Blog

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ı: ServiceDll anahtarı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:

  1. regedit.exe uygulamasını açın.
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\Parameters yoluna gidin.
  3. Sağ tıklayıp Yeni > Genişletilebilir Dize Değeri (Expandable String Value) oluşturun.
  4. İsim olarak ServiceDll, değer olarak %SystemRoot%\System32\termsrv.dll girin

Kayıt defterindeki onarımı yaptıktan sonra servisin stabil çalışması için şu üç adımı mutlaka uygulayın:

  1. Servisi Başlatın: PowerShell üzerinden Start-Service TermService komutuyla servisin “Running” durumuna geçtiğini teyit edin.
  2. Grace Period Temizliği: Eğer lisans dağıtımıyla ilgili sorun devam ediyorsa, RCM\GracePeriod altındaki deneme süresi sayacını temizlemek gerekebilir.
  3. 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…

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu