Ceci est une ancienne révision du document !
Nettoyer la conf du Broker RDS manuellement
Lorsqu'une machine hôte de session RDS est sortie du domaine ou arrêtée définitivement sans avoir été supprimée correctement de la configuration du déploiement RDS ou de la collection de bureaux (en passant par le Gestionnaire de serveur ou via PowerShell), sa configuration persiste dans la base SQL/WID du broker, ce qui peut causer des problèmes et empêcher la configuration du cluster depuis le Gestionnaire de serveur.
De préférence, depuis le broker, penser à retirer l'hôte de session de la collection, puis du déploiement RDS, puis du pool de serveurs, depuis le Gestionnaire de serveur (en mode graphique), ou via les commandes PowerShell appropriées :
- Afficher les hôtes de sessions d'un déploiement :
Get-RDSessionHost
- Afficher les hôtes membres d'une collection :
Get-RDSessionCollectionConfiguration
- Sortir une machine d'une collection RDS :
Remove-RDSessionHost -SessionHost "rds01.domaine.local" -CollectionName "NomCollection" -Force
- Afficher les hôtes de session rattachés au broker :
Get-RDServer
- Détacher un serveur du déploiement RDS :
Remove-RDServer -Server "rds01.domaine.local" -Role RDS-RD-SERVER -Force
Si par mégarde, une machine manque et bloque la configuration du cluster RDS (sans pouvoir être rallumée), il est possible de nettoyer manuellement la base SQL/WID du broker, en s'y connectant localement grâce SQL Server Management Studio (SMSS) :
- Se connecter au serveur SQL interne avec le nom de serveur suivant (le chiffrement doit être facultatif) :
np:\\.\pipe\MICROSOFT##WID\tsql\query
ou encore :
\\.\pipe\MICROSOFT##WID\tsql\query
- Naviguer jusqu'à la base
RDCmspour voir les données - Identifier l'ID du serveur à supprimer via une reqûete SQL :
USE RDCms; SELECT * FROM rds.Server WHERE Name LIKE '%rds01%';
- Vérifier que l'hôte fait partie d'une collection :
SELECT * FROM rds.SessionCollectionToServer WHERE ServerID = 12;
* Puis le supprimer de la table :
DELETE FROM rds.SessionCollectionToServer WHERE ServerID = 12;
* Supprimer le rôle “hôte de session” associé à la machine :
DELETE FROM rds.RoleRdsh WHERE ServerID = 12;
- Supprimer le serveur du déploiement RDS :
DELETE FROM rds.Server WHERE Id = 12;
- Terminer en redémarrant le service du broker (n'impacte pas les connexions RDS en cours) :
Restart-Service Tssdis
- Vérifications :
Get-RDSessionHost Get-RDServer