Freigeben über


Server-Apps müssen ohne die Grafische Servershell ausgeführt werden können

Bahnsteig

Server – Windows Server 2012

Beschreibung

Die grafische Servershell, das Feature, das Windows Explorer und Internet Explorer enthält, wird standardmäßig auf "Server mit gui"-Installationen von Windows Server 2012 installiert. Das Feature "Grafische Servershell" kann deinstalliert werden, um den potenziellen Wartungs- und Leistungsbedarf zu verringern und dadurch die Anzahl der Neustarts zu begrenzen, die der Server möglicherweise verursacht, und gleichzeitig die Lokale Ausführung von Verwaltungstools auf dem Server zu ermöglichen.

Nachdem ein Administrator die Grafische Servershell deinstalliert hat, befindet sich der Server in der Konfiguration der minimalen Serverschnittstelle:

Konfiguration der grafischen Shell-Benutzeroberfläche des Servers

Administratoren können sich dann für die Minimale Serverschnittstellenkonfiguration (einschließlich einer Reihe lokaler Verwaltungstools) als Standard und nicht im Server mit einer GUI-Konfiguration entscheiden. Dies ermöglicht die lokale Überwachung und Verwaltung, wobei sowohl der Ressourceneinsatz als auch die Häufigkeit der Wartung reduziert werden.

Administratoren können die grafische Servershell später erneut installieren, wenn sie die Darin enthaltenen Funktionen benötigen. (Administratoren können auch von einer Server Core-Installation und "Build up" bis zur Minimal Server Interface-Konfiguration mithilfe der Features On Demand-Funktionalität starten.)

Server-Apps müssen in der Konfiguration der minimalen Serverschnittstelle ausgeführt werden können, um die verringerte Ressourcenauslastung und den Wartungsbedarf zu nutzen. Diese Funktion kann erreicht werden, indem der Administrator entscheiden kann, keine Teile der App zu installieren, die die Grafische Servershell benötigen, oder indem sie das Vorhandensein der grafischen Servershell erkennen und einige Aspekte der App deaktivieren.

Die minimale Serverschnittstelle verfügt über einen reduzierten Ressourcen- und Wartungsbedarf, da viele APIs und Binärdateien, die in der grafischen Servershell enthalten sind, in dieser Konfiguration nicht verfügbar sind. Gegebenenfalls sollten Server-Apps auch die Remoteverwaltung (vorzugsweise über Windows PowerShell Remoting) von einer anderen Windows Server- oder Windows-Clientinstallation zulassen. Dies ermöglicht eine bessere zentralisierte Verwaltung eines oder mehrerer Computer in der Konfiguration der minimalen Serverschnittstelle oder von Computern in einer noch geringeren Konfiguration wie Server Core.

Manifestation

Wenn eine App eine der APIs oder Binärdateien erfordert, die in der Konfiguration der minimalen Serverschnittstelle nicht verfügbar sind, wird sie möglicherweise nicht ordnungsgemäß auf dem Bildschirm angezeigt und/oder kann nicht verwendet werden.

Milderung

Server-App-Entwickler sollten diese Teile ihrer Apps identifizieren, für die eine der entfernten APIs oder Binärdateien erforderlich ist, und Informationen für den Serveradministrator enthalten, der die Teile der App identifiziert, die bei Verwendung der minimalen Serverschnittstelle nicht ordnungsgemäß ausgeführt werden. Wenn diese Teile der App optional installiert werden können oder für Produktfunktionen nicht unbedingt erforderlich sind, kann die App weiterhin installiert und unter der Minimal Server Interface-Konfiguration ausgeführt werden.

Wenn die App überhaupt nicht ohne die Grafische Servershell verwendet werden kann, sollte diese Einschränkung dokumentiert werden, und der Serveradministrator sollte angewiesen werden, die grafische Servershell zu installieren. (Wenn Sie eine Server Core-Installation hinzufügen, ist dies u. U. erforderlich, um Features bei Bedarf hinzuzufügen.) Darüber hinaus sollte die App beim Start überprüfen, ob alle erforderlichen Dateien verfügbar sind, da die Grafische Servershell jederzeit vor oder nach der Installation der App deinstalliert werden kann.

Lösung

Verlassen Sie sich auf den kleinsten möglichen Satz von Abhängigkeiten und modularisieren Sie Apps, sodass die Kern-App-Funktionalität funktionieren kann, ohne dass größere Benutzeroberflächenkomponenten installiert werden müssen. Entwickeln Sie Apps, die keine der entfernten APIs oder Binärdateien erfordern, und basieren Sie stattdessen auf der Funktionalität, die in der minimalen Serverschnittstelle oder auf Server Core enthalten ist. Dadurch werden Wartungsanforderungen reduziert und gleichzeitig die Leistung und Benutzerzufriedenheit verbessert.

Wenn Teile einer App vorhanden sind, die möglicherweise erhebliche Funktionen hinzufügen können, wenn die grafische Servershell verfügbar ist, können App-Entwickler:

  • Zulassen, dass diese zusätzlichen Features, die die Server-Grafische Shell verwenden, optional installiert werden, sodass sie von Installationen in einer Minimal Server Interface-Konfiguration weggelassen werden können
  • Erkennen des Vorhandenseins der grafischen Servershell und Anpassen des App-Verhaltens

App-Entwickler sollten außerdem sicherstellen, dass Server-Apps nach Möglichkeit und angemessen remote verwaltbar sind.

Erkennen minimaler Serverschnittstelle und Server Core

Windows Server installiert einen entsprechenden Registrierungswert für jede installierte Serverebene. Sie können abfragen, ob diese Schlüssel vorhanden sind, um festzustellen, ob die Features für die Server-Grafische Shell oder die minimale Serverschnittstelle installiert und aktiviert sind.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels:

  Server Core Minimale Serverschnittstelle Grafische Servershell
ServerCore=1 X X X
Server-GuiMgmt=1 X X
ServerGuiShell=1 X

 

Ein "X" in der obigen Tabelle bedeutet, dass der Registrierungsschlüssel vorhanden ist, wenn das entsprechende Feature installiert wird.

Beachten Sie, dass diese Serverebenen additiv sind; wenn die grafische Servershell installiert ist, ist dies die minimale Serverschnittstelle und Server Core. In diesem Fall sind beide Registrierungsschlüssel vorhanden.

Tests

Überprüfen Sie Den App-Code auf Anforderungen, die eine der entfernten APIs und Binärdateien verwenden. Nachdem Sie Instanzen dieser Dateien aus "Core Application"-Binärdateien entfernt haben, testen Sie Ihre App in einer Umgebung, in der die Servergrafikshell nicht enthalten ist. Tools wie der Prozessmonitor können dazu beitragen.

Wenn Sie die Verwendung dieser APIs und Binärdateien nicht vollständig beenden können, stellen Sie sicher, dass Ihre App ordnungsgemäß fehlschlägt, wenn sie auf minimaler Serverschnittstelle oder Server Core ausgeführt wird.

Betriebsmittel