IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Bloquage de la console de gestion RDS suite suppression de serveur

Le , par benjamin.f

0PARTAGES

Bonjour,

Un petit billet rapide afin de regrouper des informations qui m'ont été utiles récemment et qui peuvent l'être à d'autres concernant RDS sur Windows Server 2012 R2.

Je vous passe l'histoire, mais suite au mauvais décommissionnement d'un serveur RDS inclus dans une ferme j'ai perdu la connexion à la console de gestion sur mon broker.

Le message est :
Les serveurs suivants de déploiement ne figure pas dans le pool de serveurs
1. [FQDN du serveur]
.Ajoutez les au pool de serveurs
Bref, si vous souhaitez supprimer un serveur RDS inclus dans une ferme RDS, faites le bien!
Supprimez le rôle avant ou utilisez Powershell tel que présenté ci-après;

Donc, les premiers articles sur lesquels je suis tombé renvoyaient sur la méthode Microsoft, via "POWERSHELL" suivante;
https://support.microsoft.com/fr-fr/...ou-remove-a-se

Pour faire simple, ont liste les serveur RDS de la ferme avec la commande
Code : Sélectionner tout
get-RDServer

Puis on supprime le serveur souhaité avec la commande
Code : Sélectionner tout
Remove-RDServer -Server nom-fqdb-du-serveur -Role <Role-Name> -Force
Sauf que que ... si vous avez supprimé la VM du serveur et que celui-ci n'est pas joignable, vous n'obtiendrez qu'une autre erreur de la part de Powershell...
Bref, à ce stade je n'ai toujours pas avancé ...

Si l'histoire n'était pas plus compliquée, une simple restauration de la VM aurait permis de retrouver la main et de faire la suppression dans l'ordre.

Mais ce n'est pas le cas... Je me retrouve à essayer de scier la branche sur laquelle je suis assis ... alors qu'elle est déjà coupée

C'est là qu'une autre solution m'est apparue des abîmes de mes recherches ( en dépassant les 5 premières pages quoi ..) via mon moteur de recherche favoris en US (celui que nous utilisons quasiment tous pour les soucis techniques, sinon j'utilise https://www.lilo.org/ qui est basé dessus mais FR et plein de bonnes actions )

La solution : Supprimer directement le ou les serveurs dans la base SQL windows embarquée utilisée par le Broker.

Pour se connecter au moteur SQL embarqué rien de plus simple:

Télécharger et installer SQL Server Management Studio express (par exemple ici https://www.microsoft.com/fr-fr/down...s.aspx?id=8961) sur le serveur broker.
Attention - il faudra utiliser la session d'administrateur local !

C'est le dernier moment ou l'ont peut encore penser à réaliser un snapshot du serveur avant d'y faire une potentielle bêtise

Se connecter au serveur avec la ligne suivante;
Code : Sélectionner tout
\\.\pipe\MICROSOFT\##WID\tsql\query
Ce qui donne :


Se connecter sur la base RDCms et faire clic droit pour lancer une requête de recherche du top 1000 pour la table RDCms.RDS.Server, afin de récupérer la liste des serveurs du pool et leurs ID.


Je met le code directement si besoin :
Code : Sélectionner tout
1
2
3
4
5
6
/****** Script de la commande SelectTopNRows à partir de SSMS  ******/
SELECT TOP (1000) [Id]
      ,[Name]
      ,[OsVersion]
      ,[ClusterName]
  FROM [RDCms].[rds].[Server]

Reste à supprimer le ou les récalcitrants avec la commande ci-après en renseignant l'ID correspondant au serveur récupéré dans le tableau affiché par la commande précédente;

Code : Sélectionner tout
delete from rds.Server where ID = ‘[IDduServerAsupp]’;
ET voila ! ou pas ...

En effet, le serveur peut avoir des références qui empêche la suppression.
Pas de panique! Il suffit de refaire la même chose sur la table de référence indiquée dans le message d'erreur et de la supprimer avant le serveur.

Dans mon cas, cela se trouvait dans la table RoleRdsh.
vous trouverez ci-après les lignes utilisées pour trouver et supprimer la référence qui m’empêchait de supprimer le serveur de la table "RDS.Server";

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
/****** Script de la commande SelectTopNRows à partir de SSMS  ******/
SELECT TOP (10) [Id]
      ,[RdcbConfigId]
      ,[PoolId]
  FROM [RDCms].[rds].[RoleRdsh]

/******  Suppression des lignes null pour les serveurs à supprimer *****/
  delete from rds.RoleRdsh where ServerId=[IDduServerAsupp]
! Attention ce n'est pas le même ID et pas la même table !

Vous pouvez recommencer la première manœuvre, la référence ne doit plus empêcher la suppression du serveur inexistant.
Mais surtout, l'accès à la console de gestion RDS sur le broker est revenue !

Une erreur dans cette actualité ? Signalez-nous-la !