O cliente RDS não pode se conectar ao servidor host de sessão rd depois que o endereço IP do servidor é alterado

Este artigo fornece uma solução para um problema em que o cliente RDS (Serviços de Área de Trabalho Remota) não pode se conectar ao servidor host de sessão rd (Área de Trabalho Remota).

Aplica-se a: Windows Server 2012 R2
Número de KB original: 2844958

Importante

Este artigo contém informações sobre como modificar o Registro. Faça backup do Registro antes de modificá-lo. Você deve saber como restaurar o Registro caso ocorra algum problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o registro, clique no número do artigo a seguir para exibir o artigo na Base de Dados de Conhecimento da Microsoft:
322756 Como fazer o backup e a restauração do Registro no Windows

Sintomas

Considerando o seguinte cenário:

  • Você configurou uma implantação padrão do RDS no Windows Server 2012. A implantação contém servidores host de sessão RD, um servidor do Rd Connection Broker e um servidor de Acesso Web RD.
  • Você cria uma coleção de sessões que pode ser acessada por clientes RDS por meio do site do RD Web Access.
  • Os endereços IP de todos os servidores host de sessão RD na coleção de sessões são alterados.

Nesse cenário, os clientes RDS não podem se conectar à coleção de sessões e você recebe a seguinte mensagem de erro durante a conexão:

Suas credenciais não funcionaram.

Motivo

Esse problema ocorre devido a uma entrada obsoleta do Registro na seguinte subchave:

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

A SessionDirectoryRedirectionIP entrada do registro armazena o endereço IP de um servidor host de sessão RD atribuído quando a implantação do RDS foi criada. Embora o endereço IP do servidor host de sessão RD seja alterado, o endereço IP na configuração do Rd Connection Broker não é atualizado. Portanto, os clientes RDS não podem se conectar à coleção de sessões.

Resolução

Aviso

Poderão ocorrer sérios problemas se você modificar o Registro incorretamente com o Editor do Registro ou outro método. Talvez seja necessária a reinstalação do sistema operacional. A Microsoft não pode garantir que esses problemas possam ser resolvidos. Modifique o Registro a seu próprio risco.

Para resolve esse problema, exclua a SessionDirectoryRedirectionIP entrada do registro da seguinte subchave de registro de cada servidor host de sessão RD na coleção de sessão:

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

Ou você pode executar o seguinte script do PowerShell. Este script exclui a entrada do registro de cada servidor host de sessão RD na implantação.

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)
 }
}