Was bestimmt, welche Dienste svchost.exe hostet?

454
user694733

Beim Anzeigen von Prozessen unter Process Explorer gibt es services.exe, die mehrere Unterprozesse svchost.exe enthält . Jeder dieser Hosts enthält einen oder mehrere Dienste. Die Auswahl der Services in einem einzigen Prozess scheint jedoch völlig zufällig.

Wie wählt der Prozess aus, welche Dienste er hostet? Kann dies irgendwie betroffen sein?

In services.msc kann ich dafür keine Steuerelemente finden .

Ich möchte einige Dienste in ihre eigenen Prozesse zwingen, getrennt von anderen.

0

2 Antworten auf die Frage

2
David Marshall

There is a database in the Registry to control how services are loaded. This is the Service Control Manager database.

The Service Control Manager runs services.exe. Services are defined in the Registry under HKLM\SYSTEM\CurrentControlSet\Services. The Type value of the service's entry specifies if it is loaded in its own process or in a process that hosts multiple services.

When the SCM decides to start a service, it calls ScStartService. ScStartService determines the name of the file that runs the service's process by reading the ImagePath value from the service's Registry key. The ImagePath value also contains the name of the group. It then examines the Type value. A value of 0x20 indicates a shared process.

To answer your question about how to make a service run in its own process, use the sc config command.

Example: sc config wuauserv type= own The space after = is required.

Technet

Source

1
Mokubai

Sie finden keine Steuerelemente in services.msc, aber jeder Dienst wird unter einem bestimmten Benutzer- / Dienstkonto gestartet, das je nach den Anforderungen des Diensts über bestimmte Rechte verfügt.

In der Spalte "Anmelden als" im Dienststeuerfeld wird angezeigt, welches Dienstkonto für bestimmte Dienste verwendet wird. Sie werden feststellen, dass jeder svchost.exeim Task-Manager anscheinend von einem anderen Benutzerkonto stammt.

Es sind diese Konten, die bestimmen, welche svchost.exeDienste jeweils gehostet werden.


Technisch gibt es Steuerelemente zum Ändern des svchost.exeHosting eines bestimmten Dienstes, da Sie den Benutzer, den sich der Dienst anmeldet, auf der Registerkarte "Anmelden" der Diensteigenschaften ändern können. Ich würde jedoch nicht raten, sie zu ändern, da die Dienste möglicherweise in der falschen Reihenfolge starten oder ohne die erforderlichen Rechte.

Aha. Vorausgesetzt, ich gehe das Risiko ein, müsste ich einen komplett neuen Dienstbenutzer anlegen. Das ist aber wahrscheinlich eine andere SU-Frage wert. user694733 vor 7 Jahren 0
Ja. Ich habe gesehen, dass einige Programme genau das tun, und wenn sie mit Dateisystemberechtigungen kombiniert werden, kann ein Dienst erstellt werden, der effektiv einen Ordnerbereich erhält, in dem nur dieser Dienst funktionieren kann. Ich bin damit einverstanden, dass die Erstellung von Diensten wie eine neue Frage klingt, aber ich vermute auch, dass wir bereits eine Frage haben, die dies ausführt. Mokubai vor 7 Jahren 0