Grundlagen zur Architektur der Windows-Dienste

 

Letztes Änderungsdatum des Themas: 2005-05-23

Windows-Dienste, auch als Dienstanwendungen bezeichnet, sind Anwendungen, die auf Windows-Computern ausgeführt werden, unabhängig davon, ob Benutzer angemeldet sind. Ein Windows-Dienst beinhaltet eine ausführbare Datei, ein Verzeichnis zum Speichern von Anwendungskomponenten sowie Registrierungseinstellungen zur Definition der Dienstparameter. Mit dem Windows-Dienst wird eine programmatische Schnittstelle implementiert, über die der SCM den Dienst steuern kann. Ein Windows-Dienst kann beim Starten des Systems automatisch oder über ein Dienststeuerungsprogramm manuell gestartet werden. Ein Dienststeuerungsprogramm ist eine Anwendung, die einen Dienst mithilfe von SCM-Funktionen steuert. Das Tool Dienste und die Befehlszeilenprogramme net.exe und SC.exe sind beispielsweise Dienststeuerungsprogramme.

In der folgenden Abbildung ist die Architektur der Windows-Dienste dargestellt.

ca48e350-ed32-4789-988f-9f28dc0567b6

noteAnmerkung:
Der SCM-Prozess ist ein RPC-Serverdienst. Dienststeuerungsprogramme können lokal oder über das Netzwerk mithilfe von RPCs mit dem SCM-Prozess kommunizieren, um Dienste auf Remotecomputern zu steuern.

Funktionen des Dienststeuerungs-Managers

SCM, auch als Dienstcontroller bezeichnet, ist ein generischer Windows-Prozess, mit dem zahlreiche dienstbezogene Aufgaben ausgeführt werden. Diese Aufgaben werden in den folgenden Abschnitten ausführlich behandelt.

Verwalten einer Datenbank mit installierten Diensten

Der Dienststeuerungs-Manager verwaltet eine Datenbank mit allen installierten Diensten, einschließlich einer Liste aller Dienste und Gerätetreiber, die für den erfolgreichen Start von Windows geladen werden müssen. Bei der Installation zusätzlicher Dienste, z. B. von Exchange Server 2003-Diensten, auf dem Server werden in der Dienstedatenbank neue Einträge eingefügt. SCM verwaltet diese Datenbank unter folgendem Registrierungspfad:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Die Dienstedatenbank enthält einen Schlüssel für jeden installierten Dienst und Treiber. Der Name des Schlüssels entspricht dem Namen des Diensts, der bei der Installation des Diensts mit einem Dienstkonfigurationsprogramm angegeben wurde. MSExchangeIS ist beispielsweise der Name des Microsoft Exchange-Informationsspeicherdiensts, und MSExchangeSA bezeichnet den Microsoft Exchange-Systemaufsichtsdienst. Die maximale Länge eines Dienstnamens beträgt 256 Zeichen.

In der folgenden Abbildung sind mehrere Exchange-spezifische Diensteinträge in der Registrierung dargestellt.

2c8c4abe-979d-4757-a34b-57339cfc5eca

noteAnmerkung:
Die Namen, die bei Verwendung des Tools Dienste angezeigt werden, sind die Anzeigenamen der Windows-Dienste. MSExchangeSA wird beispielsweise als Microsoft Exchange-Systemaufsicht angezeigt. Der Anzeigename ist im REG_SZ-Wert DisplayName definiert und befindet sich unter: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>.

Sperren und Freigeben der Dienstedatenbank

Die Dienstedatenbank muss bei der SCM-Initialisierung vom SCM gesperrt werden, damit der Zugriff auf die Konfigurationsinformationen serialisiert werden kann. Der SCM sperrt die Dienstedatenbank beispielsweise vor dem Starten eines Diensts, sodass die Dienstkonfiguration während des Starts des Diensts nicht geändert werden kann. Nach dem Starten des Diensts wird die Sperre vom SCM wieder aufgehoben. Dienstkonfigurationsprogramme müssen ebenfalls mit dem SCM kommunizieren, um vor der Neukonfiguration eines Diensts eine Sperre und anschließend die Aufhebung der Sperre anzufordern. Mit dem Befehlszeilenprogramm SC.exe können Sie über den Befehl sc QueryLock in Erfahrung bringen, ob die Dienstedatenbank gesperrt ist.

noteAnmerkung:
Beachten Sie beim Verwalten von Diensten mit einer sehr langen Startzeit, dass der Starttyp oder andere Konfigurationseinstellungen während des Dienststarts nicht neu konfiguriert werden können, da die Dienstedatenbank vom SCM gesperrt wird. Konfigurationsänderungen können nur vor oder nach dem Starten eines Diensts vorgenommen werden.

Aufführen der installierten Dienste

Der SCM-Prozess liest jeden Registrierungsschlüssel in der Dienstedatenbank, um für jeden Dienst einen Dienstdatensatz zu erstellen. Der Dienstdatensatz enthält den Dienstnamen, den Starttyp, den Dienststatus (z. B. den aktuellen Status des Diensts und zulässige Steuerungscodes) sowie einen Zeiger auf die Liste der Abhängigkeiten. Mithilfe der Dienstdatensätze ermittelt der SCM anhand des aktuellen Status und der Abhängigkeiten der Dienste die jeweils gültigen Vorgänge für die Dienste. Der Systemaufsichtsdienst kann beispielsweise nicht mit dem Tool Dienste beendet werden, wenn ein anderer von der Systemaufsicht abhängiger Dienst ausgeführt wird, z. B. der Microsoft Exchange-Informationsspeicherdienst.

Starten, Beenden, Anhalten oder Fortsetzen von Diensten

Für die Ausführung von allgemeinen Aufgaben, z. B. Starten oder Beenden eines Diensts, kommuniziert der SCM mit den von ihm gesteuerten Diensten. Windows-Dienste können vom SCM automatisch beim Systemstart oder manuell bei Anforderung durch ein Dienststeuerungsprogramm gestartet werden. Wenn ein automatisch zu startender Dienst jedoch von einem manuell zu startenden Dienst abhängt, wird auch der manuell zu startende Dienst automatisch gestartet. Mit dem Starttyp kann auch festgelegt werden, dass ein Dienst deaktiviert ist. In diesem Fall kann er nicht gestartet werden. Sie können einen automatisch oder manuell zu startenden Dienst nicht starten, wenn der entsprechende Dienst von einem deaktivierten Dienst abhängt. Diese Abhängigkeit darf nicht außer Acht gelassen werden, insbesondere nicht, wenn Sie Dienste deaktivieren möchten (z. B. auf einem Front-End-Server, auf dem Exchange Server ausgeführt wird). Wesentliche Dienste dürfen nicht deaktiviert werden. Andernfalls wird das Betriebssystem möglicherweise nicht gestartet, da durch deaktivierte Dienste der Start aller anderen von diesen abhängigen Dienste verhindert wird. Melden Sie sich nicht unter Windows an, wenn nach dem Deaktivieren eines Diensts Fehler beim Start auftreten. Starten Sie stattdessen das System mit der letzten als funktionierend bekannten Konfiguration neu, damit die letzten Änderungen an der Dienstekonfiguration verworfen werden. Die letzte als funktionierend bekannte Konfiguration wird unter Windows im Registrierungsschlüssel HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 gespeichert. Dieser Schlüssel wird bei jeder erfolgreichen Anmeldung am Betriebssystem aktualisiert. Wenn Sie sich unter Windows mit einer falschen Konfiguration anmelden, werden die falschen Einstellungen in der letzten als funktionierend bekannten Konfiguration gespeichert.

Mit dem Programm SC.exe über den Befehl sc <Dienstname> qc können Sie die Abhängigkeiten und den Starttyp von Exchange-Diensten auf schnelle Weise überprüfen. Mit der folgenden Ausgabe wird beispielsweise die Standardkonfiguration der Systemaufsicht angegeben (Befehlszeile: sc qc MSExchangeSA):

SERVICE_NAME: MSExchangeSA

TYPE : 10 WIN32_OWN_PROCESS

ERROR_CONTROL : 1 NORMAL

BINARY_PATH_NAME : "C:\Program Files\Exchsrvr\bin\mad.exe"

LOAD_ORDER_GROUP :

TAG : 0

DISPLAY_NAME : Microsoft Exchange System Attendant

SERVICE_START_NAME : LocalSystem

Klicken Sie zum Festlegen des Starttyps im Tool Dienste auf die Registerkarte Allgemein und anschließend auf Starttyp. Über das Tool Dienste können Sie auch die Systemaufsicht starten, oder verwenden Sie SC.exe mit der Befehlszeile sc start MSExchangeSA. Darüber hinaus können Sie Dienste mit dem Befehl net start starten, z. B. net start MSExchangeSA. Die meisten Administratoren ziehen die Verwendung des Tools Dienste vor.

Ob Sie nun das Tool Dienste, SC.exe, den Befehl net start oder ein anderes Dienststeuerungsprogramm verwenden, der SCM führt die unten stehenden aufeinander folgenden Schritte zum Starten eines Diensts aus:

  1. Abrufen der in der Dienstedatenbank gespeicherten Kontoinformationen
    Der Benutzername und das Kennwort für das Dienstkonto werden bei der Installation des Diensts angegeben. Der SCM speichert den Benutzernamen in einem REG_SZ-Registrierungswert mit dem Namen ObjectName im Registrierungsschlüssel des einzelnen Diensts (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Dienstname>). Das Kennwort befindet sich in einem sicheren Bereich von Local Security Authority (LSA – lokale Sicherheitsautorität). Im Tool Dienste auf der Registerkarte Anmelden können Sie Änderungen am Dienstkonto vornehmen.

    noteAnmerkung:
    Exchange Server 2003-Dienste verwenden in der Standardeinstellung das Konto LocalSystem. Das Konto LocalSystem ist ein vordefiniertes lokales Konto mit umfassenden Berechtigungen für den lokalen Computer. Dieses Konto ist nur für Systemprozesse verfügbar und verfügt über kein Kennwort.
  2. Anmelden am Dienstkonto
    Alle aktiven Prozesse, auch Dienstanwendungen, müssen über eine Identität unter Windows verfügen. Beim Starten eines Diensts verwendet der SCM die aus der Dienstedatenbank abgerufenen Kontoinformationen und meldet sich unter Windows an. Auf dem lokalen Computer muss das vom SCM zum Anmelden verwendete Konto über das besondere Benutzerrecht Als Dienst anmelden verfügen.

    noteAnmerkung:
    Das Konto LocalSystem verfügt implizit über das Benutzerrecht Als Dienst anmelden, da dieses Konto auf alle lokalen Ressourcen zugreifen kann.
  3. Erstellen des Diensts mit dem Status „gesperrt“
    Der SCM startet neue Dienste mit dem Status „gesperrt“, da ein Dienst erst verwendet werden kann, nachdem die erforderlichen Sicherheitsinformationen vom SCM dem neuen Prozess hinzugefügt wurden.

  4. Zuweisen des Zugriffstokens zum Prozess
    Für jeden unter Windows ausgeführten Prozess ist ein Zugriffstoken, auch als Anmeldetoken bezeichnet, erforderlich. Das Zugriffstoken ist ein Objekt, mit dem der Sicherheitskontext des Diensts beschrieben wird. Zu den Informationen im Token zählen die Identität und die Berechtigungen des Dienstkontos, über das der Dienst mit dem Betriebssystem interagiert.

  5. Ermöglichen der Ausführung des Prozesses
    Nach dem Abschluss der Anmeldung und der Zuweisung des Zugriffstokens lässt der SCM die Ausführung des Diensts und seiner Funktionen zu.

Folgende Schritte werden vom SCM beim Beenden eines Diensts ausgeführt:

  1. Empfang einer Anforderung zum Beenden eines Diensts durch den SCM
    Ein Dienststeuerungsprogramm kann einen Dienst beenden, indem es mit einer Dienststeuerungsfunktion eine SERVICE_CONTROL_STOP-Anforderung über den SCM an den Dienst sendet.
  2. Überprüfen der Dienstabhängigkeiten durch den SCM
    Wenn der SCM feststellt, dass andere Dienste ausgeführt werden, die von dem in der Anforderung zum Beenden angegebenen Dienst abhängen, wird vom SCM ein Fehlercode an das Dienststeuerungsprogramm zurückgegeben. Vor dem Auslösen des Beendigungsvorgangs muss das Dienststeuerungsprogramm alle vom angegebenen Dienst abhängigen Dienste aufführen und beenden. Im Tool Dienste wird beispielsweise das Dialogfeld Andere Dienste beenden angezeigt, in dem Sie gefragt werden, ob alle abhängigen Dienste ebenfalls beendet werden sollen. In SC.exe wird dagegen ein Fehlercode und eine Meldung angezeigt, dass der Dienst nicht beendet werden kann, da andere aktive Dienste von ihm abhängen.
  3. Weiterleiten der Beendigungsanforderung an den Dienst durch den SCM
    Wenn keine abhängigen aktiven Dienste vorliegen, wird die Anforderung zum Beenden des Diensts vom SCM an den entsprechenden Dienst weitergeleitet. Die dem Dienst zugewiesenen Ressourcen werden freigegeben, und der Dienst wird beendet.

Verwalten der Statusinformationen für Dienste, die ausgeführt werden

Während der Ausführung eines Diensts werden Statusbenachrichtigungen an den SCM-Prozess gesendet. Die Statusinformationen werden vom SCM für jeden Dienst im entsprechenden Dienstdatensatz verwaltet. Der SCM überprüft kontinuierlich diese Informationen, sodass nicht fälschlicherweise Steuerungsanforderungen gesendet werden, die nicht mit dem aktuellen Status des Empfängerdiensts übereinstimmen.

Die Statusinformationen des Diensts enthalten die folgenden Angaben:

  • Diensttyp   Ein Dienst kann ein Dateisystemtreiber, ein Gerätetreiber oder ein Windows-Dienst sein und über einen eigenständigen Prozess oder über einen mit anderen Diensten gemeinsam verwendeten Prozess ausgeführt werden. Der Systemaufsichtsdienst ist beispielsweise ein Dienst, der über einen eigenständigen Prozess ausgeführt wird. Beim SMTP-Dienst handelt es sich dagegen um einen Dienst, der in einem Prozess gemeinsam mit anderen Diensten ausgeführt wird, die in den Internetinformationsdiensten (IIS) integriert sind.
  • Aktueller Status   Ein Dienst kann sich in einem der folgenden Status befinden: „Wird gestartet“, „Wird ausgeführt“, „Angehalten“, „Wird beendet“ oder „Wird nicht ausgeführt“.
  • Zulässige Steuerungscodes   Hierbei handelt es sich um die Steuerungscodes, die für den Dienst zulässig sind und je nach aktuellem Status im zugehörigen Handler verarbeitet werden können.
  • Windows-Beendigungscode   Der Dienst zeigt mit diesem Code Fehler an, die beim Starten oder Beenden des Diensts auftreten. Für die Rückgabe eines dienstspezifischen Fehlercodes muss der Wert im Dienst auf ERROR_SERVICE_SPECIFIC_ERROR festgelegt werden. So wird angegeben, dass im Beendigungscode des Diensts weitere Informationen angezeigt werden. Der Wert ist auf NO_ERROR gesetzt, wenn der Dienst ordnungsgemäß ausgeführt oder beendet wird.
  • Dienstbeendigungscode   Der Dienst zeigt mit diesem Code Fehler an, die beim Starten oder Beenden des Diensts auftreten. Der Wert wird nur angezeigt, wenn der Windows-Beendigungscode auf ERROR_SERVICE_SPECIFIC_ERROR festgelegt ist.
  • Wait Hint   Dieser Code wird zum Protokollieren der für einen ausstehenden Vorgang zum Starten, Beenden, Anhalten oder Fortsetzen des Diensts geschätzten Zeit in Millisekunden verwendet.
  • Prüfpunkt   Mit diesem Wert wird der Fortschritt eines Diensts bei längeren Vorgängen zum Starten, Beenden, Anhalten oder Fortsetzen des Diensts in regelmäßigen Abständen angezeigt. Dieser Wert wird im Tool Dienste beispielsweise verwendet, um den Fortschritt von Start- oder Beendigungsvorgängen für einen Dienst zu verfolgen.

Tipp

Mit dem Befehl sc query state= all type= service können Sie den aktuellen Status aller Windows-Dienste anzeigen.

Exchange-Dienste und das Konto „LocalSystem“

Exchange Server 2003-Dienste werden über das Konto LocalSystem ausgeführt. Dies bringt die folgenden Sicherheitsauswirkungen mit sich:

  • Keine erforderlichen zusätzlichen Konto- oder Kennwortänderungen   Das Konto LocalSystem (NT AUTHORITY\LocalSystem) ist immer vorhanden und verfügt über eine hexadezimale Zufallszahl als Kennwort. Das Kennwort wird alle sieben Tage automatisch geändert. Dadurch müssen Sie vor der Installation von Exchange Server 2003 in Active Directory kein Dienstekonto erstellen und das Dienstekennwort nicht in regelmäßigen Abständen ändern.

  • Vollzugriff auf alle lokalen Ressourcen   Da Exchange Server 2003-Dienste über einen Vollzugriff auf alle lokalen Ressourcen verfügen, haben diese Dienste in der Regel einen uneingeschränkten Zugriff auf die Registrierungsdatenbank, die IIS-Metabase und das Dateisystem. Dies trifft jedoch nicht zu, wenn der Zugriff für das spezielle Windows-Konto SYSTEM oder das Konto Everyone ausdrücklich gesperrt ist. Dies ist nicht zu empfehlen. Wenn Exchange 2003 auf einem Domänencontroller installiert ist, verfügen Exchange Server 2003-Dienste daher über einen Vollzugriff auf Active Directory, da der Domänencontroller über ein Verzeichnisreplikat und das Konto LocalSystem über Vollzugriff auf die lokalen Ressourcen verfügt.

    noteAnmerkung:
    In den meisten sicherheitsorientierten Organisationen wird Exchange Server 2003 nicht auf einem Domänencontroller installiert, da Exchange Server 2003 und Active Directory bei dieser Installation nicht einzeln verwaltet werden können.
  • Zugriff über „LocalSystem“ nur auf lokale Ressourcen   Wenn ein Dienst über das Konto LocalSystem ausgeführt wird, kann dieser nur auf lokale Ressourcen zugreifen, wenn für den Netzwerkzugriff kein anderes Konto verwendet wird. Aus diesem Grund wird bei Diensten, die über LocalSystem ausgeführt werden, das Konto NetworkService für den Netzwerkzugriff verwendet. Der Name des Kontos lautet NT AUTHORITY\NetworkService. Dieses Konto verfügt über kein Kennwort.
    Das Konto NetworkService entspricht dem Computerkonto des lokalen Computers in der Domäne. Bei einem Exchange-Dienst, der im Sicherheitskontext des Kontos LocalSystem ausgeführt wird, werden beim Zugriff auf Domänenressourcen im Netzwerk, z. B. auf Active Directory, die Anmeldeinformationen für das lokale Computerkonto verwendet. Folglich verfügt Exchange Server 2003 auf einem Mitgliedsserver über wesentlich weniger Berechtigungen als auf einem Domänencontroller, da Computerkonten in der Standardeinstellung sehr wenige Berechtigungen aufweisen und keiner Gruppe angehören. In der Standardkonfiguration für Computerkonten ist nur ein minimaler Zugriff auf Active Directory zulässig.
    Zur Behebung des Problems und zur Erteilung der erforderlichen Berechtigungen für das Computerkonto werden mit Exchange Server 2003 die folgenden beiden speziellen Sicherheitsgruppen in Active Directory erstellt:

    • Exchange Domain Servers   Die Gruppe Exchange Domain Servers ist eine globale Sicherheitsgruppe mit den Computerkonten aller Server in einer Domäne, auf denen Exchange Server ausgeführt wird.
    • Exchange Enterprise Servers   Die Gruppe Exchange Enterprise Servers ist eine lokale Sicherheitsgruppe mit allen globalen Exchange Domain Servers-Gruppen in der Gesamtstruktur. Über diese Sicherheitsgruppe wird allen Exchange-Computerkonten der Zugriff auf die erforderlichen Ressourcen in der lokalen Domäne gewährt.
    noteAnmerkung:
    Benennen Sie die Exchange Domain Server- oder Exchange Enterprise Server-Sicherheitsgruppen nicht um, und verschieben Sie sie nicht. Entfernen Sie aus diesen Gruppen auch keine Computerkonten von vorhandenen Exchange-Servern.

Überprüfen der Dienstedatenbank

Beim Öffnen von HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services im Registrierungs-Editor (Regedit.exe) und Überprüfen der einzelnen Schlüssel für Exchange-Dienste können Sie feststellen, dass viele Dienste, deren Namen mit MSExchange beginnen, ähnliche Werte in den entsprechenden Dienstschlüsseln enthalten. Diese Werte sind in der folgenden Tabelle aufgeführt.

Allgemeine Registrierungswerte für Windows-Dienste

Wert Typ Beschreibung
DependOnGroup

REG_MULTI_SZ

Listet Ladegruppen auf, von denen Windows-Dienste abhängen. Die von einer Gruppe abhängigen Dienste können ausgeführt werden, wenn nach dem Versuch, alle Mitglieder einer Gruppe zu installieren, mindestens ein Gruppenmitglied ausgeführt wird.

DependOnService

REG_MULTI_SZ

Listet die Namen der Windows-Dienste auf, von denen der Dienst abhängt. Die Dienste müssen vor dem Start dieses Diensts vom SCM gestartet werden. Dieser Wert kann eine leere Zeichenfolge sein, wenn der Dienst über keine Abhängigkeiten verfügt.

Description

REG_SZ

Beschreibt den Dienst. Dabei handelt es sich lediglich um einen Kommentar zur Erläuterung der Funktion des Diensts.

DiagnosticsMessageFile

REG_SZ

Enthält den Namen der Ressourcen-DLL mit den Ereignisbeschreibungszeichenfolgen für die Ereignisse, die mit dem Dienst in das Anwendungsereignisprotokoll geschrieben werden. Ressourcen-DLLs befinden sich im Verzeichnis \Programme\Exchsrvr\Res.

DisplayName

REG_SZ

Enthält den Anzeigenamen zur Identifikation des Diensts. Diese Zeichenfolge hat eine maximale Länge von 256 Zeichen. Die Groß- und Kleinschreibung des Namens wird im SCM beibehalten. Für den Vergleich von Anzeigenamen wird die Groß- und Kleinschreibung jedoch nicht beachtet.

ErrorControl

REG_DWORD

Gibt den Schweregrad von Fehlern und die Art der Fehlerbehebung an, wenn der Start des Diensts fehlschlägt. Dieser Parameter legt eins der folgenden Verfahren fest:

  • Der Fehler wird vom Startprogramm protokolliert, der Startvorgang wird jedoch fortgesetzt.
  • Der Fehler wird vom Startprogramm protokolliert, und eine Meldung wird angezeigt, der Startvorgang wird jedoch fortgesetzt.
  • Der Fehler wird vom Startprogramm protokolliert. Wird die letzte als funktionierend bekannte Konfiguration gestartet, wird der Startvorgang fortgesetzt. Andernfalls wird das System mit der letzten als funktionierend bekannten Konfiguration neu gestartet.
  • Der Fehler wird nach Möglichkeit vom Startprogramm protokolliert. Wird die letzte als funktionierend bekannte Konfiguration gestartet, wird der Systemstart abgebrochen. Andernfalls wird das System mit der letzten als funktionierend bekannten Konfiguration neu gestartet.
FailureActions

REG_BINARY

Gibt den Vorgang an, der vom SCM beim Fehlschlagen eines Diensts durchgeführt werden soll. Ein Dienst gilt als fehlgeschlagen, wenn er beendet wird, ohne dass der entsprechende Status an den Dienstcontroller gesendet wird (wenn z. B. Fehler bei einem Dienst auftreten).

Group

REG_SZ

Gibt die Ladegruppe an, der der Dienst angehört. Beachten Sie, dass durch Festlegen dieses Werts möglicherweise die Einstellung des Werts DependOnService überschrieben wird.

ImagePath

REG_EXPAND_SZ

Enthält den vollqualifizierten Pfad für die Binärdatei des Diensts. Wenn der Pfad ein Leerzeichen enthält, muss er für die korrekte Interpretation in Anführungszeichen gesetzt werden. Beispiel: "d:\\Programme\\Exchsvr\\Bin\\mad.exe".

Der Pfad kann darüber hinaus Programmargumente enthalten.

ObjectName

REG_SZ

Gibt den Namen des Kontos an, unter dem der Dienst ausgeführt werden soll. Wenn der Dienst das Konto LocalService verwendet, wird dieser Parameter auf NT AUTHORITY\LocalService eingestellt. Zudem kann ein Kontoname im Format „Domänenname\Benutzername“ angegeben werden.

Start

REG_DWORD

Gibt an, wann der Dienst gestartet werden soll. Der SCM kann einen Dienst automatisch beim Systemstart oder auf Anforderung eines Prozesses starten. Mit diesem Wert kann auch angegeben werden, dass ein Dienst nicht gestartet werden kann und dass beim Versuch, den Dienst zu starten, der Fehlercode ERROR_SERVICE_DISABLED ausgegeben wird.

Tag

REG_DWORD

Legt die Reihenfolge des Dienststarts in einer Ladegruppe fest. Tags werden nur bei Treiberdiensten überprüft.

Type

REG_DWORD

Gibt den Diensttyp an: Dateisystemtreiber, Gerätetreiber, Dienst mit eigenständigem Prozess oder Dienst, der einen Prozess gemeinsam mit mindestens einem anderen Dienst nutzt. MSExchangeSA ist beispielsweise ein Dienst, der über einen eigenständigen Prozess ausgeführt wird. EXIFS ist ein Beispiel für einen Exchange-spezifischen Dateisystemtreiber.

Darüber hinaus liegen möglicherweise die folgenden Unterschlüssel für Exchange-Dienste vor:

  • Diagnostics   Dieser Schlüssel enthält REG_DWORD-Parameter für mögliche Ereignisprotokollkategorien, die vom Dienst bereitgestellt werden. Der Name der Parameter unter diesem Schlüssel setzt sich aus der Ressourcen-ID und einer Zeichenfolge zusammen, z. B. 9 Clean Mailbox. Der jedem Parameter zugeordnete Wert entspricht dem Diagnoseprotokolliergrad für die betreffende Kategorie. In der Regel werden diese Werte über die Servereigenschaften im Exchange-System-Manager konfiguriert. Auf der Registerkarte Diagnoseprotokoll werden die verschiedenen Kategorien aufgeführt und die ausgewählten Werte den entsprechenden Parametern zugewiesen.
  • Enum   Dieser Schlüssel enthält Parameter, die der SCM zum Aufführen der Dienste in der Dienstedatenbank verwendet werden. Beispielsweise enthält der REG_SZ-Parameter 0 einen Wert, der auf die Unterschlüssel unter dem Registrierungsschlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root verweist. Dadurch können die Dienste im Windows-Konfigurations-Manager beim Systemstart als logische Geräte aufgeführt werden.
  • Parameters   Dieser Schlüssel enthält Registrierungsparameter für dienstspezifische Konfigurationsinformationen. Der Schlüssel Parameters kann weitere Unterschlüssel enthalten.
  • Performance   Dieser Schlüssel enthält Indikatoren für die Leistungsüberwachung. Mit dem REG_SZ-Parameter Library wird die DLL-Datei mit den Leistungsindikatoren angegeben. Für die Leistungsindikatoren sind weitere Schlüssel vorhanden. Der REG_SZ-Parameter PerfIniFile verweist beispielsweise auf die INI-Datei, in der die einzelnen Leistungsindikatoren definiert werden.
  • Security   Dieser Schlüssel enthält einen REG_BINARY-Parameter mit dem Namen Security mit einer Sicherheitsbeschreibung für den Dienst, die angibt, mit welchen Konten der Dienst gesteuert wird. Ein Administrator verfügt möglicherweise über Berechtigungen zum Starten und Beenden eines Diensts, über die ein Benutzer beispielsweise nicht verfügt.

Warnung

Die fehlerhafte Bearbeitung der Registrierung kann zu ernsthaften Problemen führen, die möglicherweise eine Neuinstallation des Betriebssystems erforderlich machen. Dadurch entstandene Probleme können unter Umständen nicht mehr behoben werden. Sichern Sie vor dem Ändern der Registrierung alle wichtigen Daten.