Sunucu IP adresi değiştirildikten sonra RDS istemcisi RD Oturumu Ana Bilgisayarı sunucusuna bağlanamıyor

Bu makalede, Uzak Masaüstü Hizmetleri (RDS) istemcisinin Uzak Masaüstü (RD) Oturum Ana Bilgisayarı sunucusuna bağlanamama sorununa yönelik bir çözüm sağlanır.

Şunlar için geçerlidir: Windows Server 2012 R2
Özgün KB numarası: 2844958

Önemli

Bu makale, kayıt defterinin nasıl değiştirileceği hakkında bilgiler içerir. Değiştirmeden önce kayıt defterini yedeklemeyi unutmayın. Bir sorun olduğunda kayıt defterinin nasıl geri yükleneceğini bildiğinizden emin olun. Kayıt defterini yedekleme, geri yükleme ve değiştirme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756 Windows'da kayıt defterini yedekleme ve geri yükleme

Belirtiler

Aşağıdaki senaryo göz önünde bulundurularak:

  • Windows Server 2012'de standart bir RDS dağıtımı ayarlarsınız. Dağıtım RD Oturumu Ana Bilgisayarı sunucuları, RD Bağlantı Aracısı sunucusu ve RD Web Erişimi sunucusu içerir.
  • RD Web Erişimi web sitesi aracılığıyla RDS istemcileri tarafından erişilebilen bir oturum koleksiyonu oluşturursunuz.
  • Oturum koleksiyonundaki tüm RD Oturumu Ana Bilgisayarı sunucularının IP adresleri değiştirilir.

Bu senaryoda, RDS istemcileri oturum koleksiyonuna bağlanamaz ve bağlantı sırasında aşağıdaki hata iletisini alırsınız:

Kimlik bilgileriniz çalışmadı.

Neden

Bu sorun, aşağıdaki alt anahtardaki eski bir kayıt defteri girdisi nedeniyle oluşur:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings

Kayıt defteri girdisi, SessionDirectoryRedirectionIP RDS dağıtımı oluşturulduğunda atanmış bir RD Oturumu Ana Bilgisayarı sunucusunun IP adresini depolar. RD Oturumu Ana Bilgisayarı sunucusunun IP adresi değiştirildiği halde, RD Bağlantı Aracısı ayarındaki IP adresi güncelleştirilmez. Bu nedenle RDS istemcileri oturum koleksiyonuna bağlanamaz.

Çözüm

Uyarı

Kayıt Defteri Düzenleyicisi'ni veya başka bir yöntemi kullanarak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu sorunlar, işletim sistemini yeniden yüklemenizi gerektirebilir. Microsoft, bu sorunların çözülebileceğini garanti edemez. Kayıt defterini değiştirmek kendi sorumluluğunuzdadır.

Bu sorunu çözmek için, aşağıdaki kayıt defteri alt anahtarının kayıt defteri girdisini oturum koleksiyonundaki her RD Oturumu Ana Bilgisayarı sunucusundan silin SessionDirectoryRedirectionIP :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings

Alternatif olarak, aşağıdaki PowerShell betiğini çalıştırabilirsiniz. Bu betik, dağıtımdaki her RD Oturumu Ana Bilgisayarı sunucusundan kayıt defteri girdisini siler.

Import-Module RemoteDesktop

# Delete the Registry Key for all machine name specified in $RemoteMachine
Function DeleteRegistryKey($RemoteMachine)
{
 $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $RemoteMachine)

# connect to the needed key :  
 $regKey= $reg.OpenSubKey("System\\CurrentControlSet\\Control\\Terminal Server\\ClusterSettings", $true )

# and delete the SessionDirectoryRedirectionIP subkey, if it exists
 foreach ($key in $regKey.GetValueNames())
 { 
 if ($key -eq "SessionDirectoryRedirectionIP")
 {
 $regKey.DeleteValue($key)  
 Write-Host "Machine : "$RemoteMachine
 }
 }
}

# Get the list of collections on the machine
$RdSessionCollections = Get-RDSessionCollection  

if ($RdSessioncollections -eq $null)
{
 Write-Host "No RDSH Session Collections"
 return
}

foreach ($SessionCollection in $RdSessionCollections)
{
 Write-Host "Collection Name : " $SessionCollection.CollectionName

# get list of RDSH Servers in the collection
 $RdSessionHosts = Get-SessionHost -CollectionName $SessionCollection.CollectionName
 foreach ($SessionHost in $RdSessionHosts)
 {
 Write-Host "SessionHost : "$SessionHost.SessionHost

# Delete the regkey on this server
 DeleteRegistryKey($SessionHost.SessionHost)
 }
}