Letzte Änderung: 18.10.98 von B. Tritsch
Das RDP-Protokoll zur Kommunikation zwischen dem WTS und Windows-Clients entspricht dem internationalen T.120-Standard für Konferenzumgebungen über mehrere Kanäle. Dabei wird der Bildschirm als Rastergraphik (Bitmap) vom Server zum Client oder zum Terminal übertragen. Der Client übermittelt auf der anderen Seite die Tastatur- und Mausinteraktionen zum Server. RDP kann dabei nur über TCP/IP-Netzwerke ausgeführt werden.
Jede Benutzersitzung besitzt ihrem eigenen Adreßraum im System. Dieser wird genutzt, um die benötigten Kernel-Komponenten (Win32k.sys) und Systemtreiber für jeden Benutzer zu virtualisieren. Hierzu wurde für den Windows Terminal Server das NT-System so modifiziert, daß mehrere Instanzen von angepaßten Kernel-Komponenten gestartet werden können. Alle Prozesse müssen weiterhin mit einer Benutzersitzung gekoppelt werden, wobei auch die Verwaltung des virtuellen Speichers betroffen ist. Die zentralen Systemressourcen (Speicher, CPU, Kernel-Objekte) werden entsprechend den einzelnen Benutzern zugeordnet.
Insbesonder der Objekt-Manager wurde für den WTS so modifiziert, daß er mehrere Namensräume unterstützen kann. Zwar existieren noch die globalen Namensräume (Named Pipes), es mußte jedoch ein spezieller Namensraum für die Benutzersitzung hinzugefügt werden. Auf diesen kann von allen Prozessen zugegriffen werden, die zu dem selben Benutzer gehören. Nur so können mehrfach gestartete Applikationen als verschiedene Objekte betrachtet werden, die auch verschiedenen Benutzern zuzuordnen sind.
Als Clients kommen eine Reihe von Geräten in Frage, die hauptsächlich Monitor, Maus und Tastatur zur Verfügung stellen müssen. Zudem besteht die Anforderung, daß sie über das Netzwerk auf der Basis des RDP-Protokolls kommunizieren können. Weitere Intelligenz wird auf der Client-Seite nicht benötigt, wodurch die Auswahl an entsprechenden Geräten recht groß wird.
Der Ressourcenbedarf für die verschiedenen RDP-Clients läßt sich aus der untenstehenden Tabelle ablesen:
Betriebssystem |
Größe der Exe-Datei |
Speicherbedarf |
Datengröße |
Cache |
| Windows für Workgroups 3.11 | Ca. 70 KBytes | Ca. 300 KBytes | < 100 KBytes | Ca. 1,5 MBytes |
| Windows NT, Windows 95, Windows 98 | < 200 KBytes | Ca. 300 KBytes | < 100 KBytes | Ca. 1,5 MBytes |
Viele Windows-Applikationen sind jedoch nicht auf den Einsatz in Multiuser-Umgebungen angepaßt. Die mitunter nicht strikte Trennung von benutzer- und systemspezifischen Einträgen in der Registry und in temporären Dateien lassen den Einsatz von vielen Standardanwendungen in einer Multiuser-Umgebung erst nach erheblicher manueller bzw. skriptgesteuerter Modifikation bestimmter Registry-Werte oder Umgebungsvariablen zu. In Zukunft wird Microsoft jedoch die Vergabe seines Windows-Logos an die Einhaltung der Vorgaben für "WTS-freundliche" Programme koppeln.
WTS basiert wie schon sein Vorgänger Citrix WinFrame auf dem Betriebssystem Microsoft Windows NT Server. Es enhält Erweiterungen, die eine vollständige "Remote Computing Platform" einschließlich verteilter Windows-Unterstützung und Multiuser-Funktionalitäten zur Verfügung stellen.
Die meisten Funktionalitäten von Windows NT als Basis sind von den WTS-Erweiterungen nicht betroffen. Nur die spezifischen Multiuser-Aspekte benötigen eigene NT-Systemerweiterungen und zugehörige Administrations-Werkzeuge.
Der größte sichtbare Unterschied zwischen WTS und einem "normalen" Windows NT zeigt sich in der Anzahl der Verwaltungsprogramme. Hier bietet WTS eine ganze Palette neuer Werkzeuge für die Administration der speziellen Eigenschaften.

Die neu hinzugekommenen Werkzeuge sind die folgenden:
Weiterhin wurden für den Windows Terminal Server Modifikationen am Task-Manager vorgenommen und spezielle zusätzliche Objekte zum System-Monitor hinzugefügt. Zudem besitzt der Benutzer-Manager Erweiterungen für die Konfiguration und die Benutzerprofile. Nicht zu vernachlässigen ist die daraus resultierende Vergrößerung der SAM-Datenbank um ca. 1 Kbyte pro Benutzer. Startet man den Benutzer-Manager für Domänen auf einem Computer mit installiertem WTS, so besitzt dieses Werkzeug zusätzliche Dialogfenster. Mit diesen können auch WTS-spezifische Einstellungen an den Benutzerkonten einer zugehörigen Domäne durchgeführt werden.
Die wichtigsten zusätzlichen Optionen für Benutzerkonten werden in der folgenden Liste aufgeführt.
Die Veränderungen des Systems betreffen jedoch nicht nur die graphischen Werkzeuge, sondern auch die zusätzlichen verfügbaren Befehle der Kommandozeilen.
Kommando |
Funktion |
| change logon | Deaktiviert die WTS-Anmeldung temporär |
| change port | Ändert das COM-Portmapping für DOS-Applikationen |
| change user | Ändert das Anpassen von .ini-Dateien für den aktuellen Benutzer |
| cnvrtuc | Verschiebt die Benutzerkonfiguration aus der Registry in die SAM-Datenbank |
| connect | Verbindet zu einer anderen bestehenden Terminal Server Session |
| cprofile | Entfernt benutzerspezifische Dateizuordnungen aus dem Benutzerprofil |
| dbgtrace | Ein- und Ausschalten der Debug-Überwachung |
| disconn | Trennt die Client-Verbindung zum WTS (Disconnect) |
| doskbd | Paßt die Tastaturabfrage für DOS-Applikationen an |
| flattemp | Ein- und Ausschalten von "flachen" Tmp-Verzeichnissen |
| kill | Beendet einen Prozeß |
| logoff | Beendet eine Client-Verbindung |
| migrate | Verschiebt ausgewählte Einstellungen einer .ini-Datei von Windows 3.1 |
| msg | Schickt eine Nachricht an einen oder mehrere Clients |
| peruser | Ein- und Ausschalten der Dateizuordnungen pro Benutzer |
| query object | Listet alle Objekte des Namensraums auf |
| query process | Zeigt Informationen über die Prozesse |
| query session | Zeigt Informationen über die Terminal Server Sessions |
| query termserver | Listet die Terminal Servers auf dem Netzwerk auf |
| query user | Zeigt Informationen über den angemeldeten Benutzer |
| register | Registriert Applikationen für die Ausführung in einem globalen Kontext des Systems |
| reset | Setzt die Einstellungen zurück |
| reset session | Setzt eine Session zurück |
| shadow | Spiegelt die Session eines Benutzers auf den Client eines anderen |
| shutdown | Beendet den Terminal Server |
| tsprof | Kopiert die Benutzerkonfiguration und ändert Profilpfade |
Eine weitere wichtige Änderung des Systems betrifft die Logik der Login-Skripts. Neben einem Skript, das jedem Benutzer individuell zugeordnet werden kann, führt der WTS immer ein gemeinsames lokales Login-Skript mit dem Namen UsrLogon.cmd aus. Es erlaubt Eintragungen, die nur den WTS betreffen, auf dem sich ein Benutzer gerade anmeldet. Auf diese Weise können spezielle Konfigurationen plattformspezifisch durchgeführt werden, obwohl die Benutzer Mitglied einer Domäne sein können.
Die Datei UsrLogin.cmd ist im Verzeichnis %SystemRoot% \System32 zu finden.