Fensterstation und Desktoperstellung
Das System erstellt automatisch die interaktive Fensterstation. Wenn sich ein interaktiver Benutzer anmeldet, ordnet das System die interaktive Fensterstation der Benutzeranmeldungssitzung zu. Das System erstellt auch den Standardeingabedesktop für die interaktive Fensterstation (Winsta0\default). Prozesse, die vom angemeldeten Benutzer gestartet werden, werden dem Winsta0\default-Desktop zugeordnet.
Ein Prozess kann die CreateWindowStation-Funktion verwenden, um eine neue Fensterstation zu erstellen, und die Funktion CreateDesktop oder CreateDesktopEx , um einen neuen Desktop zu erstellen. Die Anzahl der Desktops, die erstellt werden können, wird durch die Größe des Systemdesktopheaps begrenzt. Weitere Informationen finden Sie unter CreateDesktop.
Wenn ein nicht interaktiver Prozess, z. B. eine Dienstanwendung, versucht, eine Verbindung mit einer Fensterstation herzustellen, und keine Fensterstation für die Prozessanmeldungssitzung vorhanden ist, versucht das System, eine Fensterstation und einen Desktop für die Sitzung zu erstellen. Der Name der erstellten Fensterstation basiert auf dem Anmeldesitzungsbezeichner, und der Desktop hat den Namen default, wie hier beschrieben:
- Wenn ein Dienst im Sicherheitskontext des LocalSystem-Kontos ausgeführt wird, aber nicht das attribut SERVICE_INTERACTIVE_PROCESS enthält, verwendet er die folgende Fensterstation und den folgenden Desktop: Service-0x0-3e7$\default. Diese Fensterstation ist nicht interaktiv, sodass der Dienst keine Benutzeroberfläche anzeigen kann. Darüber hinaus können vom Dienst erstellte Prozesse keine Benutzeroberfläche anzeigen.
- Wenn der Dienst im Sicherheitskontext eines Benutzerkontos ausgeführt wird, basiert der Name der Fensterstation auf der Benutzer-SID Service-0xZ1-Z2$, wobei Z1 der hohe Teil der Anmelde-SID und Z2 der niedrige Teil der Anmelde-SID ist. Da eine SID für die Anmeldesitzung eindeutig ist, erhalten zwei Dienste, die im gleichen Sicherheitskontext ausgeführt werden, eindeutige Fensterstationen. Diese Fensterstationen sind nicht interaktiv.
Die daCL (Discretionary Access Control List) für die Fensterstation und den Desktop enthält die folgenden Zugriffsrechte für das Benutzerkonto des Diensts:
Window Station:
- WINSTA\_ACCESSCLIPBOARD WINSTA\_ACCESSGLOBALATOMS WINSTA\_CREATEDESKTOP WINSTA\_EXITWINDOWS WINSTA\_READATTRIBUTES STANDARD\_RIGHTS\_REQUIRED
Desktop:
- DESKTOP\_CREATEMENU DESKTOP\_CREATEWINDOW DESKTOP\_ENUMERATE DESKTOP\_HOOKCONTROL DESKTOP\_READOBJECTS DESKTOP\_WRITEOBJECTS STANDARD\_RIGHTS\_REQUIRED