Mit Windows Server 2012 wurde auf Terminalservern der Remote Desktop Services Manager oder auch Terminal Services Manager, den viele Benutzer unter Server 2008 noch genutzt haben, von Microsoft abgelöst.
Seitdem erfolgt die Verwaltung von RDS-Sammlungen / RDS-Collections mit über den regulären Server Manager:

In vielen Umgebungen werden kleinere administrative Tätigkeiten, wie das Trennen oder Abmelden von Benutzer, sowie der Spiegelung von Sitzungen auch von ausgewählten „normalen“ Benutzern getätigt.
Bisher ließ sich dafür der Remote Desktop Services Manager auch auf einem RDS-Host direkt einem Benutzer zur Verfügung stellen – das ist nun mit dem Server-Manager in einer beschränkten Umgebung nicht mehr ohne weiteres möglich. Hier gibt es aber Alternativen.
Eine Kenntnis von aministrativen Anmeldedaten und die Verwaltung auf dem RD-Gateway über den Servermanager stellt wiederum ein höheres Sicherheitsrisiko und weniger Komfort dar. Zusätzlich sind die Ladezeiten bei geschlossenem Servermanager u.U. recht lang und es sind keine Mehrfachaktionen mit mehreren Benutzersitzungen möglich.
Auch aus administrativer Sicht – wenn z.B. noch angemeldete Benutzer schnell über einen bevorstehenden Neustart oder Wartungsarbeiten informiert werden sollen – ist der Servermanager häufig ein umständlicher Weg. Automatisierungen oder alternative Lösungen via PowerShell sind zwar möglich aber auch nicht komfortabel.
Lösungsmöglichkeit
Auch auf Terminalservern / RDS-Hosts mit Windows Server 2012-2019 lassen sich noch ohne vollständige lokale Administratorrechte, gezielt Berechtigungen für die Verwaltung von RD-Sessions setzen.
Via WMI kann dazu auf jedem Host/Terminalserver eine entsprechende Active Directory Gruppe hinterlegt werden (hier im Beispiel „ADGROUP\RDSFarm-Support“):
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName="RDP-Tcp") CALL AddAccount "ADGROUP\RDSFarm-Support",2
Die Einstellungen greifen bei nächster Anmeldung der zu verwaltenden Benutzersitzung.
Damit ist die Grundlage mit den Berechtigungen gegeben, jedoch fehlt noch eine praktische Verwaltungsoberfläche.
Für diesen Verwendungszweck habe ich eine komfortable grafische Oberfläche in einem Tool entwickelt:
RDSMan
Der RDSMan lässt sich auf jedem PC oder auch auf einem Server oder RDS-Host/Terminalserver selbst ausführen und listet augenblicklich die derzeit aktiven Benutzer auf den angegebenen Servern (oder PCs) auf und stellt somit eine gute Alternative für diverse Anwendungen dar.
Das ermöglicht eine einfache Verwaltung von Remotedesktopsitzungen / Remotedesktopsessions in kleineren und mittleren Umgebungen. Gängige Aktionen, auch Merhfachauswahlen, sind möglich:


Unterhalb der Benutzerliste können auf Wunsch Statistiken zu aktiven/inaktiven und getrennten Sitzungen pro Server angezeigt werden. Eine einfache Übersicht für einen schnellen Überblick der aktuellen Auslastung und Verteilung der Remotedesktopbenutzer.
Pro Sitzung werden neben Benutzername, Servername, Sitzungszustand, Anmelde- und Trennungszeit auch Werte für Inaktivität und Details zum verbundenen Client angezeigt.
Die Details helfen dabei alte oder inaktive Sitzungen schnell zu identifizieren.

Das Kontextmenü ermöglicht es sowohl einzelne als auch mehrere Benutzer verteilt über alle Server auszuwählen und alle gängigen Aktionen anzustoßen.
Auch und insbesondere Mehrfachauswahl ist hier im gegensatz zum Server-Manager möglich.
Neben der klassichen Nachrichten-Funktion kann zudem eine schnelle Umfrage mit Ja/Nein/Abbrechen unter den markierten Benutzern gestartet werden.
Das Statusfenster gibt dabei parallel stets an, ob alle Aktionen ausgeführt worden sind und mit welchem Ergebnis.
Vor allem bei Mehrfachauswahl ist es hilfreich zu sehen, ob z.B. die Nachricht jeden Benutzer auch erreicht hat.


In den Programmeinstellungen lassen sich beliebige Hosts via Name, FQDN oder IP-Adresse angeben. Diese werden bei jedem Abruf entsprechend berücksichtigt.
Die Hostdetails/-statistiken im unteren Bereich können ausgeblendet werden und jede einzelne Funktion kann einzeln aktiviert oder deaktiviert werden.
Je nach Benutzer können die Einstellungen innerhalb der Anwendung auch gesperrt oder vollständig ausgeblendet werden.
Umfragen
Als praktische Zusatzfunktion neben dem klassischen senden von Nachrichten an Sitzungen, können auch kleine Umfragen erstellt werden.

Die Antworten/Rückmeldungen einer Umfrage können in einem seperaten Fenster im Anschluss gesammelt und ausgewertet werden:
Testversion anfragen
Konfiguration
Alle Einstellungen werden in einer config.ini Datei gespeichert und können folglich auch manuell bearbeitet werden.
Derzeit sind die folgenden Einstellungen möglich:
[RDSMan]
RDSHosts=RDSH1,RDSH2,RDSH3
AllowMessage=1
AllowQuestion=1
AllowShadow=1
AllowDisconnect=1
AllowLogoff=1
ShadowConsentPrompt=0
HideHostList=0
ShowSettings=1
AllowSettingsChange=1
ShowStatusWindow=1
ShowTotalCount=1HideInactiveUsers=1
AutoUpdateInterval=60
UserShowOnly=DOMAIN\User1,DOMAIN\User2,DOMAIN\User4
UserHideAlways=DOMAIN\Admin1,DOMAIN\Admin2,DOMAIN\Admin3
Startparameter
RDSMan kann bei Start per Verknüpfung bzw. per CMD auch eine alternative Konfigurationsdatei nutzen. Dafür ist der Parameter „-c“ gefolgt vom Pfad der Konfigurationsdatei anzugeben, Beispiel:
RDSMan.exe -c "\\file01\RDSMan\config3.ini"
Das ermöglicht es auch ganz flexibel für z.B. verschiedenen Benutzergruppen unterschiedliche Einstellungen oder Hosts bereitzustellen.
Standard ohne Angabe eines Parameters erwartet die „config.ini“ im selben Verzeichnis, wie die RDSMan.exe selbst.
Voraussetzungen
Für das Spiegeln von Sitzungen (Ansicht/Steuerung) müssen die enstprechenden Gruppenrichtlininen auf den RDS-Hosts gesetzt sein.
Wichtig ist hier die Richtlinie „Regeln für Remotesteuerung von Remotedesktopdienste-Benutzersitzungen festlegen“: Benutzerkonfiguration → Administrative Vorlagen → Windows-Komponenten → Remotedesktopdienste → Remotedesktopsitzungs-Host → Verbindungen
RDSman ist bisher in Umgebungen mit bis zu 10 RDSHosts und 200 aktiven Benutzern getestet.
Als Betriebssysteme funktionieren:
- Windows 7 / 8 / 10
- Windows Server 2008 R2
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
Ein installiertes .NET-Framework 4.7 wird vorausgesetzt.
Nach Benutzerrückmeldungen ebenfalls kompatibel, jedoch nicht von mir selbst getestet:
- Citrix Virtual Apps (1912 CU2 auf WS2016)
Changelog
Version 3.7.0.0
- Gesamtsummen in der Titelzeile der Hostliste anzeigen (per config.ini / ShowTotalCount=1)
Version 3.6.0.0
- Option ausschließlich aktive User anzeigen, keine getrennten Sitzungen (per config.ini / HideInactiveUsers=1)
- Experimentell: Automatische Aktualisierung der Ansicht/Sitzungen (per config.ini / AutoUpdateInterval=60)
Version 3.5.0.0
- Black- und Whitelist Möglichkeit von Benutzern die nicht oder ausschließlich angezeigt werden sollen (per config.ini / UserShowOnly, UserHideAlways)
- Erhöhung der maximalen Optionslänge auf 20480 Zeichen
Version 3.4.0.0
- Konfigurationsdatei per Startparameter änderbar
- Bugfixes
Version 3.3.0.0
- Anzeigen und Beenden von Prozessen einzelner Benutzersitzungen
Version 3.1.0.0
- Erweiterung der maximalen Zeichenlänge für Host-Angabe (256->2048)
Version 3.0.0.0
- Ergänzung der Umfragefunktion
Download
Für Download und Anfrage einer Testversion bitte das obige Formular verwenden.