Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit une solution à un problème où le client Des services Bureau à distance (RDS) ne peut pas se connecter au serveur hôte de session Bureau à distance (RD).
Numéro de base de connaissances d’origine : 2844958
Important
Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, pensez à le sauvegarder et assurez-vous que vous savez le restaurer en cas de problème. Pour plus d’informations sur la sauvegarde, la restauration et la modification du Registre, cliquez sur le numéro d’article suivant pour afficher l’article dans la Base de connaissances Microsoft :
322756 Comment sauvegarder et restaurer le Registre dans Windows
Symptômes
Compte tenu du scénario suivant :
- Vous configurez un déploiement standard des services Bureau à distance dans Windows Server 2012. Le déploiement contient des serveurs hôtes de session Bureau à distance, un serveur Broker de connexion Bureau à distance et un serveur d’accès web Bureau à distance.
- Vous créez une collection de sessions accessible par les clients RDS via le site web d’accès web Bureau à distance.
- Les adresses IP de tous les serveurs hôtes de session Bureau à distance dans la collection de sessions sont modifiées.
Dans ce scénario, les clients RDS ne peuvent pas se connecter à la collection de sessions et vous recevez le message d’erreur suivant lors de la connexion :
Vos informations d'identification n'ont pas fonctionné.
Cause
Ce problème se produit en raison d’une entrée de Registre obsolète dans la sous-clé suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings
L’entrée SessionDirectoryRedirectionIP
de Registre stocke l’adresse IP d’un serveur hôte de session Bureau à distance qui a été affecté lors de la création du déploiement RDS. Bien que l’adresse IP du serveur hôte de session Bureau à distance soit modifiée, l’adresse IP dans le paramètre Broker de connexion Bureau à distance n’est pas mise à jour. Les clients RDS ne peuvent donc pas se connecter à la collection de sessions.
Résolution
Avertissement
De graves problèmes peuvent se produire si vous vous trompez en modifiant le Registre à l’aide de l’Éditeur du Registre ou toute autre méthode. Vous risquez même de devoir réinstaller le système d’exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous modifiez le Registre à vos propres risques.
Pour résoudre ce problème, supprimez l’entrée SessionDirectoryRedirectionIP
de Registre de la sous-clé de Registre suivante de chaque serveur hôte de session Bureau à distance dans la collection de sessions :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ClusterSettings
Vous pouvez également exécuter le script PowerShell suivant. Ce script supprime l’entrée de Registre de chaque serveur hôte de session Bureau à distance dans le déploiement.
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)
}
}