ServiceAccount ServiceAccount ServiceAccount ServiceAccount Enum

Definizione

Specifica un contesto di sicurezza di un servizio, con cui viene definito il tipo di accesso.Specifies a service's security context, which defines its logon type.

public enum class ServiceAccount
public enum ServiceAccount
type ServiceAccount = 
Public Enum ServiceAccount
Ereditarietà
ServiceAccountServiceAccountServiceAccountServiceAccount

Campi

LocalService LocalService LocalService LocalService 0

Account con cui si agisce come utente senza privilegi sul computer locale e si presentano credenziali anonime a qualsiasi server remoto.An account that acts as a non-privileged user on the local computer, and presents anonymous credentials to any remote server.

LocalSystem LocalSystem LocalSystem LocalSystem 2

Account, utilizzato dalla Gestione controllo servizi, che dispone di privilegi estesi al computer locale e funziona come computer in rete.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 NetworkService NetworkService NetworkService 1

Account con cui vengono forniti privilegi locali estesi e presentate le credenziali del computer a qualsiasi server remoto.An account that provides extensive local privileges, and presents the computer's credentials to any remote server.

User User User User 3

Account definito da un utente specifico sulla rete.An account defined by a specific user on the network. Se si specifica User per il membro Account, quando il servizio viene installato, il sistema richiede una password e un nome utente validi, a meno che non vengano impostati i valori per entrambe le proprietà Username e Password dell'istanza ServiceProcessInstaller.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.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato ServiceAccount come utilizzare l'enumerazione per installare nuovi programmi utilizzando il contesto di sicurezza dell'account di sistema.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

Commenti

Utilizzare l' ServiceAccount enumerazione quando si Inizializza un ServiceProcessInstaller oggetto per specificare il contesto di sicurezza del servizio che si sta installando.Use the ServiceAccount enumeration when you initialize a ServiceProcessInstaller to specify the security context of the service you are installing. Il contesto di sicurezza indica i privilegi di un servizio nel sistema e il modo in cui i servizi agiscono sulla rete (ad esempio, se il servizio presenta le credenziali del computer o le credenziali anonime a server remoti).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). L' ServiceAccount enumerazione fornisce un intervallo di privilegi in modo che sia possibile specificare esattamente i privilegi necessari per un particolare servizio.The ServiceAccount enumeration provides a range of privileges so that you can specify exactly the privileges you need for any particular service.

Il LocalSystem valore definisce un account con privilegi elevati, ma la maggior parte dei servizi non richiede un livello di privilegio elevato.The LocalSystem value defines a highly privileged account, but most services do not require such an elevated privilege level. I LocalService membri NetworkService dell'enumerazione e forniscono un livello di privilegio inferiore per il contesto di sicurezza.The LocalService and NetworkService enumeration members provide a lower privilege level for the security context.

Nota

I valori LocalService e NetworkService sono disponibili solo per la famiglia Windows XP e Windows Server 2003.The values LocalService and NetworkService are available only on Windows XP and Windows Server 2003 family.

Si applica a

Vedi anche