ServiceAccount Enumeración

Definición

Especifica el contexto de seguridad de un servicio, que define su tipo de inicio de sesión.Specifies a service's security context, which defines its logon type.

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

Campos

LocalService 0

Cuenta que actúa como usuario sin privilegios en el equipo local y presenta credenciales anónimas a cualquier servidor remoto.An account that acts as a non-privileged user on the local computer, and presents anonymous credentials to any remote server.

LocalSystem 2

Una cuenta, utilizada por el administrador de control de servicio, que tiene amplios privilegios en el equipo local y funciona como un equipo de la red.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

Cuenta que proporciona amplios privilegios locales y presenta las credenciales del equipo a cualquier servidor remoto.An account that provides extensive local privileges, and presents the computer's credentials to any remote server.

User 3

Cuenta definida por un usuario específico en la red.An account defined by a specific user on the network. Si se especifica User para el miembro Account, el sistema pide un nombre de usuario y una contraseña al instalar el servicio, a menos que se establezcan valores para las propiedades Username y Password de la instancia de 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.

Ejemplos

En el ejemplo de código siguiente se muestra cómo ServiceAccount utilizar la enumeración para instalar nuevos programas mediante el contexto de seguridad de la cuenta del 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

Comentarios

Utilice la ServiceAccount enumeración al inicializar ServiceProcessInstaller un para especificar el contexto de seguridad del servicio que está instalando.Use the ServiceAccount enumeration when you initialize a ServiceProcessInstaller to specify the security context of the service you are installing. El contexto de seguridad indica los privilegios que un servicio tiene en el sistema y cómo actúan los servicios en la red (por ejemplo, si el servicio presenta las credenciales del equipo o credenciales anónimas a los servidores remotos).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). La ServiceAccount enumeración proporciona un intervalo de privilegios para que pueda especificar exactamente los privilegios que necesita para un servicio determinado.The ServiceAccount enumeration provides a range of privileges so that you can specify exactly the privileges you need for any particular service.

El LocalSystem valor define una cuenta con privilegios elevados, pero la mayoría de los servicios no requieren un nivel de privilegios elevado.The LocalSystem value defines a highly privileged account, but most services do not require such an elevated privilege level. Los LocalService miembros NetworkService de enumeración y proporcionan un nivel de privilegios inferior para el contexto de seguridad.The LocalService and NetworkService enumeration members provide a lower privilege level for the security context.

Nota

Los valores LocalService y NetworkService solo están disponibles en la familia Windows XP y Windows Server 2003.The values LocalService and NetworkService are available only on Windows XP and Windows Server 2003 family.

Se aplica a

Consulte también: