So deinstallieren Sie den RD-Sitzungshost aus der Einrichtung der Remotedesktopdienste

Das Entfernen eines RSDH-Hosts aus Ihrer Remotedesktopdienste-Konfiguration (RDS) kann manchmal knifflig sein, insbesondere wenn er offline ist oder nicht reagiert. Sie können zwar die GUI im Server-Manager verwenden, aber oft sind PowerShell oder sogar direkte Datenbankanpassungen die Lösung. Häufig treten Fehler wie „Konnte nicht entfernt werden“ auf, wenn versucht wird, einen Offline-Server über den Server-Manager zu löschen, oder schlimmer noch, die Fehlermeldung „Objektreferenz nicht auf eine Objektinstanz festgelegt“.Das liegt daran, dass Windows nicht erkennt, ob der Server nicht mehr erreichbar ist oder die Datenbankmetadaten nicht ordnungsgemäß bereinigt wurden. Eine saubere Entfernung erfordert daher oft einige zusätzliche Schritte in SQL Server oder WID, was kompliziert klingt, aber mit etwas Sorgfalt machbar ist. Kurz gesagt: Wenn der Server nicht mehr erreichbar ist oder nicht reagiert, reicht ein einfacher Klick auf „Entfernen“ nicht aus, und Sie erhalten Warnungen und Fehlermeldungen. Die Lösung? Sie müssen direkt in die RDCB-Datenbank eingreifen und die verbliebenen Informationen löschen. Der gesamte Prozess umfasst das Verbinden mit der Datenbank, das Auffinden der Einträge für Ihren RDSH und deren manuelle Löschung. Windows muss es einem natürlich unnötig kompliziert machen, nicht wahr? Wichtig ist, dass Sie die Datenbank unbedingt sichern, bevor Sie Änderungen vornehmen, sonst riskieren Sie, Ihre gesamte Farmkonfiguration zu beschädigen. Nachdem Sie die Datenbank bereinigt haben, starten Sie den Server-Manager neu und überprüfen Sie die Datenbank mit Befehlen wie ` Get-RDServer`. So können Sie feststellen, ob der Host tatsächlich nicht mehr erreichbar ist. Bei der Datenbankverbindung gilt: Wenn es sich um eine WID handelt, stellen Sie die Verbindung zu `\\.\pipe\MICROSOFT##WID\tsql\query` her; bei SQL Server stellen Sie die Verbindung zum entsprechenden Netzwerklistener her. Beachten Sie, dass das Bearbeiten der SQL-Datenbank von Microsoft nicht offiziell unterstützt wird, aber eine gängige Methode ist, um hartnäckige, offline befindliche Hosts zu entfernen. Es ist nicht ganz ungefährlich, daher sollten Sie unbedingt Backups erstellen und sich mit SQL-Abfragen auskennen.Überprüfen Sie außerdem Tabellen wie `rds. Server`, `rds. RoleRdsh` usw.und löschen Sie die entsprechenden Server-IDs, um die verwaisten Hosts zu entfernen. Danach sollte der Server nicht mehr in der Farm vorhanden sein, und Sie können mit Ihrer gewohnten RDS-Verwaltung oder Migration fortfahren. Manchmal hilft ein Neustart nach der Bereinigung. Warum das funktioniert, ist unklar, aber in manchen Konfigurationen ist es hilfreich. Hier eine kurze Zusammenfassung der Vorgehensweise:

  • Sichern Sie Ihre RDCB-SQL-Datenbank. Denn natürlich muss Windows es einem unnötig schwer machen.
  • Stellen Sie eine Verbindung zur Datenbank her (WID oder SQL Server).
  • Suchen Sie Einträge in `rds. Server` und `rds. RoleRdsh`.
  • Entfernen Sie die entsprechenden Servereinträge mit T-SQL-Befehlen wiedelete from rds. RoleRdsh where ServerID='X'; delete from rds. Server where Id='X';
  • Starten Sie den Server-Manager neu und überprüfen Sie die Servereinstellungen mit ` Get-RDServer`.

So entfernen Sie einen Offline-RDS-Host aus einer Bereitstellung

Methode 1: Verwenden von SQL Management Studio und Löschen von Servermetadaten

Dies ist die zuverlässigste Methode, wenn der Host ausgefallen ist und nicht regulär entfernt werden kann. Durch das direkte Löschen der Serverdaten aus der RDCB-Datenbank werden alle Verweise entfernt und zukünftige Fehler oder Warnungen über fehlende Hosts vermieden. Diese Vorgehensweise kommt zum Einsatz, wenn der Server offline oder ausgefallen ist und in der Konsole als Fehler oder Warnung angezeigt wird.

  • Stellen Sie zunächst eine Verbindung zur RDCB-Datenbank her. Verwenden Sie für eine WID-Instanz \\.\pipe\MICROSOFT##WID\tsql\query.
  • Wenn Sie einen SQL Server verwenden, stellen Sie eine Verbindung zu Ihrer SQL Server-Instanz her, die die RDCB-Datenbank hostet, wahrscheinlich über SQL Management Studio.
  • Bevor Sie fortfahren, sichern Sie bitte die RDCB-Datenbank. Dies ist von entscheidender Bedeutung, da es sich um eine irreversible Änderung handelt.
  • Ermitteln Sie die Host-ID in der Tabelle ` rds. Server` und löschen Sie anschließend die entsprechenden Datensätze aus ` rds. RoleRdsh` und ` rds. Server`. Beispiel-T-SQL:
    use RDCms; delete from rds. RoleRdsh where ServerID='3'; delete from rds. Server where Id='3';
  • Schließen Sie die Datenbank und starten Sie anschließend den Server-Manager neu, um die Serverliste zu aktualisieren. Der nicht mehr vorhandene Host sollte nun verschwunden sein und es werden keine Warnungen mehr angezeigt.

Methode 2: PowerShell zum Auflisten und Bestätigen der Entfernung

Sobald die Datenbankbereinigung abgeschlossen ist, können Sie den Befehl Get-RDServerin PowerShell ausführen. Dieser listet alle aktuellen Server Ihrer Bereitstellung auf. Wenn alles erfolgreich verlaufen ist, sollte der Offline-Server nicht mehr angezeigt werden. Dies dient eher der Überprüfung als der Fehlerbehebung, ist aber hilfreich, um sicherzustellen, dass alles korrekt gelöscht wurde.

  • Öffnen Sie PowerShell als Administrator.
  • Führen Sie den Befehl aus Get-RDServerund suchen Sie nach dem Hostnamen. Falls dieser noch angezeigt wird, ist möglicherweise ein Fehler aufgetreten – eventuell ist eine Aktualisierung erforderlich oder die Datenbank wurde nicht ordnungsgemäß bereinigt.

Der wichtigste Trick besteht darin, die Metadaten direkt zu löschen. Das ist zwar etwas umständlich, aber manchmal die einzige Möglichkeit, wenn der Server sich über die grafische Benutzeroberfläche nicht ordnungsgemäß abmelden lässt. Vergessen Sie nicht, Backups zu erstellen. Denn im Gegensatz zur grafischen Benutzeroberfläche kann man in SQL leicht alles durcheinanderbringen, wenn man die falschen Einträge löscht.

Hoffentlich verdeutlicht dies, was bei hartnäckigen Offline-Hosts zu tun ist. Es ist zwar ein kleiner Umweg von der direkten GUI-Verwaltung, aber es funktioniert – zumindest meistens.