Freigeben über


Vorgehensweise: Angeben des Sicherheitskontexts für Dienste

Hinweis

Dieser Artikel gilt nicht für gehostete Dienste in .NET. Die neuesten Inhalte zu Windows-Diensten mit Microsoft.Extensions.Hosting.BackgroundService und der Vorlage "Worker Service" finden Sie unter:

Standardmäßig werden Dienste in einem anderen Sicherheitskontext als der des angemeldeten Benutzers ausgeführt. Dienste werden im Kontext des standardmäßigen Systemkontos ausgeführt, genannt LocalSystem, was ihnen andere Zugriffsrechte auf Systemressourcen als Benutzerkonten verleiht. Sie können dieses Verhalten ändern, um ein anderes Benutzerkonto anzugeben, unter dem Ihr Dienst ausgeführt werden soll.

Sie legen den Sicherheitskontext fest, indem Sie die Account Eigenschaft für den Prozess bearbeiten, in dem der Dienst ausgeführt wird. Mit dieser Eigenschaft können Sie den Dienst auf einen von vier Kontotypen festlegen:

  • User, was bewirkt, dass das System einen gültigen Benutzernamen und ein gültiges Kennwort einfordert, wenn der Dienst installiert ist und im Kontext eines Kontos ausgeführt wird, das von einem einzelnen Benutzer im Netzwerk angegeben wird;

  • LocalService, das im Kontext eines Kontos ausgeführt wird, das als nicht privilegierter Benutzer auf dem lokalen Computer fungiert und anonyme Anmeldeinformationen für jeden Remoteserver darstellt;

  • LocalSystem, das im Kontext eines Kontos ausgeführt wird, das umfangreiche lokale Berechtigungen bereitstellt, und stellt die Anmeldeinformationen des Computers jedem Remoteserver vor;

  • NetworkService, das im Kontext eines Kontos ausgeführt wird, das als nicht privilegierter Benutzer auf dem lokalen Computer fungiert, und stellt die Anmeldeinformationen des Computers jedem Remoteserver vor.

Weitere Informationen finden Sie unter der ServiceAccount-Enumeration.

So geben Sie den Sicherheitskontext für einen Dienst an

  1. Fügen Sie nach dem Erstellen Ihres Diensts die erforderlichen Installationsprogramme hinzu. Weitere Informationen finden Sie unter Anleitung: Hinzufügen von Installern zu Ihrer Dienstanwendung.

  2. Greifen Sie im Designer auf die ProjectInstaller Klasse zu, und klicken Sie auf das Dienstprozessinstallationsprogramm für den Dienst, mit dem Sie arbeiten.

    Hinweis

    Für jede Dienstanwendung gibt es mindestens zwei Installationskomponenten in der ProjectInstaller Klasse – eine, die die Prozesse für alle Dienste im Projekt installiert, und ein Installationsprogramm für jeden Dienst, den die Anwendung enthält. In diesem Fall möchten Sie auswählen ServiceProcessInstaller.

  3. Legen Sie im Eigenschaftenfenster den Account entsprechenden Wert fest.

Siehe auch