ServiceAccount Enumeration

Definition

Legt den Sicherheitskontext eines Dienstes fest, der seinen Anmeldetyp definiert.Specifies a service's security context, which defines its logon type.

public enum class ServiceAccount
public enum ServiceAccount
type ServiceAccount = 
Public Enum ServiceAccount
Vererbung
ServiceAccount

Felder

LocalService 0

Ein Konto, das sich wie ein Benutzer ohne besondere Berechtigungen auf dem lokalen Computer verhält und für Remoteserver anonyme Anmeldeinformationen verwendet.An account that acts as a non-privileged user on the local computer, and presents anonymous credentials to any remote server.

LocalSystem 2

Ein vom Dienststeuerungs-Manager verwendetes Konto, das umfangreiche Berechtigungen auf dem lokalen Computer besitzt und als der Computer im Netzwerk agiert.An account, used by the service control manager, that has extensive privileges on the local computer and acts as the computer on the network.

NetworkService 1

Ein Konto, das umfangreiche lokale Berechtigungen bereitstellt und für jeden Remoteserver die Anmeldeinformationen des Computers verwendet.An account that provides extensive local privileges, and presents the computer's credentials to any remote server.

User 3

Ein Konto, das von einem bestimmten Benutzer im Netzwerk definiert wird.An account defined by a specific user on the network. Das Angeben von User für das Account-Member führt dazu, dass das System zur Eingabe eines gültigen Benutzernamens und Kennworts auffordert, wenn der Dienst installiert wird, sofern Sie nicht für die Username-Eigenschaft und die Password-Eigenschaft der ServiceProcessInstaller-Instanz einen Wert festlegen.Specifying User for the Account member causes the system to prompt for a valid user name and password when the service is installed, unless you set values for both the Username and Password properties of your ServiceProcessInstaller instance.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit ServiceAccount der-Enumeration neue Programme mithilfe des Sicherheits Kontexts des System Kontos installiert werden.The following code example demonstrates how to use the ServiceAccount enumeration to install new programs by using the system account's security context.

#using <System.dll>
#using <System.ServiceProcess.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Configuration::Install;
using namespace System::ServiceProcess;
using namespace System::ComponentModel;

[RunInstaller(true)]
public ref class MyProjectInstaller : public Installer
{
private:
    ServiceInstaller^ serviceInstaller1;
    ServiceInstaller^ serviceInstaller2;
    ServiceProcessInstaller^ processInstaller;

public:
    MyProjectInstaller()
    {
        // Instantiate installers for process and services.
        processInstaller = gcnew ServiceProcessInstaller;
        serviceInstaller1 = gcnew ServiceInstaller;
        serviceInstaller2 = gcnew ServiceInstaller;

        // The services run under the system account.
        processInstaller->Account = ServiceAccount::LocalSystem;

        // The services are started manually.
        serviceInstaller1->StartType = ServiceStartMode::Manual;
        serviceInstaller2->StartType = ServiceStartMode::Manual;

        // ServiceName must equal those on ServiceBase derived classes.
        serviceInstaller1->ServiceName = "Hello-World Service 1";
        serviceInstaller2->ServiceName = "Hello-World Service 2";

        // Add installers to collection. Order is not important.
        Installers->Add( serviceInstaller1 );
        Installers->Add( serviceInstaller2 );
        Installers->Add( processInstaller );
    }

    static void Main()
    {
        Console::WriteLine("Usage: InstallUtil.exe [<service>.exe]");
    }
};

int main()
{
    MyProjectInstaller::Main();
}
using System;
using System.Collections;
using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;

[RunInstaller(true)]
public class MyProjectInstaller : Installer
{
    private ServiceInstaller serviceInstaller1;
    private ServiceInstaller serviceInstaller2;
    private ServiceProcessInstaller processInstaller;

    public MyProjectInstaller()
    {
        // Instantiate installers for process and services.
        processInstaller = new ServiceProcessInstaller();
        serviceInstaller1 = new ServiceInstaller();
        serviceInstaller2 = new ServiceInstaller();

        // The services run under the system account.
        processInstaller.Account = ServiceAccount.LocalSystem;

        // The services are started manually.
        serviceInstaller1.StartType = ServiceStartMode.Manual;
        serviceInstaller2.StartType = ServiceStartMode.Manual;

        // ServiceName must equal those on ServiceBase derived classes.
        serviceInstaller1.ServiceName = "Hello-World Service 1";
        serviceInstaller2.ServiceName = "Hello-World Service 2";

        // Add installers to collection. Order is not important.
        Installers.Add(serviceInstaller1);
        Installers.Add(serviceInstaller2);
        Installers.Add(processInstaller);
    }

    public static void Main()
    {
        Console.WriteLine("Usage: InstallUtil.exe [<service>.exe]");
    }
}

Imports System.Collections
Imports System.Configuration.Install
Imports System.ServiceProcess
Imports System.ComponentModel

<RunInstallerAttribute(True)> _
Public Class MyProjectInstaller
    Inherits Installer
    Private serviceInstaller1 As ServiceInstaller
    Private serviceInstaller2 As ServiceInstaller
    Private processInstaller As ServiceProcessInstaller    
    
    Public Sub New()
        ' Instantiate installers for process and services.
        processInstaller = New ServiceProcessInstaller()
        serviceInstaller1 = New ServiceInstaller()
        serviceInstaller2 = New ServiceInstaller()
        
        ' The services will run under the system account.
        processInstaller.Account = ServiceAccount.LocalSystem
        
        ' The services will be started manually.
        serviceInstaller1.StartType = ServiceStartMode.Manual
        serviceInstaller2.StartType = ServiceStartMode.Manual
        
        ' ServiceName must equal those on ServiceBase derived classes.            
        serviceInstaller1.ServiceName = "Hello-World Service 1"
        serviceInstaller2.ServiceName = "Hello-World Service 2"
        
        ' Add installers to collection. Order is not important.
        Installers.Add(serviceInstaller1)
        Installers.Add(serviceInstaller2)
        Installers.Add(processInstaller)
    End Sub

    Public Shared Sub Main()
        Console.WriteLine("Usage: InstallUtil.exe [<service>.exe]")
    End Sub
End Class

Hinweise

Verwenden Sie ServiceAccount die-Enumeration, wenn Sie ServiceProcessInstaller eine initialisieren, um den Sicherheitskontext des Diensts anzugeben, den Sie installieren.Use the ServiceAccount enumeration when you initialize a ServiceProcessInstaller to specify the security context of the service you are installing. Der Sicherheitskontext gibt die Berechtigungen an, die ein Dienst auf dem System hat, und wie die Dienste im Netzwerk agieren (z. b. ob der Dienst die Anmelde Informationen des Computers oder die anonymen Anmelde Informationen für Remote Server anzeigt).The security context indicates the privileges a service has on the system and how the services act on the network (for example, whether the service presents the computer's credentials or anonymous credentials to remote servers). Die ServiceAccount -Enumeration bietet eine Reihe von Berechtigungen, sodass Sie genau die Berechtigungen angeben können, die Sie für einen bestimmten Dienst benötigen.The ServiceAccount enumeration provides a range of privileges so that you can specify exactly the privileges you need for any particular service.

Der LocalSystem -Wert definiert ein Konto mit hohen Privilegien, aber die meisten Dienste erfordern nicht eine solche erhöhte Berechtigungsebene.The LocalSystem value defines a highly privileged account, but most services do not require such an elevated privilege level. Die LocalService Enumerationsmember und NetworkService stellen eine niedrigere Berechtigungsebene für den Sicherheitskontext bereit.The LocalService and NetworkService enumeration members provide a lower privilege level for the security context.

Hinweis

Die Werte LocalService und NetworkService sind nur für die Windows XP-und Windows Server 2003-Produktfamilie verfügbar.The values LocalService and NetworkService are available only on Windows XP and Windows Server 2003 family.

Gilt für:

Siehe auch