서버 IP 주소가 변경된 후 RDS 클라이언트가 RD 세션 호스트 서버에 연결할 수 없음
이 문서에서는 RDS(원격 데스크톱 서비스) 클라이언트가 RD(원격 데스크톱) 세션 호스트 서버에 연결할 수 없는 문제에 대한 솔루션을 제공합니다.
적용 대상: Windows Server 2012 R2
원래 KB 번호: 2844958
중요
이 문서는 레지스트리 수정 방법에 대한 정보를 담고 있습니다. 레지스트리를 수정하기 전에 해당 레지스트리를 백업하는 것이 좋습니다. 문제가 발생하는 경우 레지스트리를 복원하는 방법을 알고 있어야 합니다. 레지스트리를 백업, 복원 및 수정하는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.
322756 Windows에서 레지스트리를 백업 및 복원하는 방법
증상
다음 시나리오를 고려합니다.
- Windows Server 2012 RDS의 표준 배포를 설정합니다. 배포에는 RD 세션 호스트 서버, RD 연결 브로커 서버 및 RD 웹 액세스 서버가 포함됩니다.
- RDS 클라이언트가 RD 웹 액세스 웹 사이트를 통해 액세스할 수 있는 세션 컬렉션을 만듭니다.
- 세션 컬렉션에 있는 모든 RD 세션 호스트 서버의 IP 주소가 변경됩니다.
이 시나리오에서는 RDS 클라이언트가 세션 컬렉션에 연결할 수 없으며 연결 중에 다음 오류 메시지가 표시됩니다.
자격 증명이 작동하지 않았습니다.
원인
이 문제는 다음 하위 키의 사용되지 않는 레지스트리 항목으로 인해 발생합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings
레지스트리 항목은 SessionDirectoryRedirectionIP
RDS 배포를 만들 때 할당된 RD 세션 호스트 서버의 IP 주소를 저장합니다. RD 세션 호스트 서버의 IP 주소가 변경되었지만 RD 연결 브로커 설정의 IP 주소는 업데이트되지 않습니다. 따라서 RDS 클라이언트는 세션 컬렉션에 연결할 수 없습니다.
해결 방법
경고
레지스트리 편집기 또는 다른 방법을 사용하여 레지스트리를 잘못 수정하는 경우 심각한 문제가 발생할 수 있습니다. 이러한 문제를 해결하려면 운영 체제를 다시 설치해야 할 수 있습니다. Microsoft에서는 이 문제의 해결을 보장하지 않습니다. 레지스트리를 수정하는 데 따르는 위험은 사용자가 부담해야 합니다.
이 문제를 resolve 세션 컬렉션의 각 RD 세션 호스트 서버에서 다음 레지스트리 하위 키의 레지스트리 항목을 삭제 SessionDirectoryRedirectionIP
합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings
또는 다음 PowerShell 스크립트를 실행할 수 있습니다. 이 스크립트는 배포의 모든 RD 세션 호스트 서버에서 레지스트리 항목을 삭제합니다.
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)
}
}
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기