Especifica el contexto de seguridad de un servicio, que define su tipo de inicio de sesión.
Espacio de nombres: System.ServiceProcess
Ensamblado: System.ServiceProcess (en system.serviceprocess.dll)

Sintaxis
Visual Basic (Declaración)
Public Enumeration ServiceAccount
Dim instance As ServiceAccount
public enum ServiceAccount
public enum class ServiceAccount
public enum ServiceAccount
public enum ServiceAccount

Miembros
| | Nombre de miembro | Descripción |
|---|
| LocalService | Cuenta que actúa como usuario sin privilegios en el equipo local y presenta credenciales anónimas a cualquier servidor remoto. |
| LocalSystem | 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. |
| NetworkService | Cuenta que proporciona amplios privilegios locales y presenta las credenciales del equipo a cualquier servidor remoto. |
| User | Cuenta definida por un usuario específico en la red. Si se especifica User para el miembro ServiceProcessInstaller.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. |

Comentarios
Utilice la clase ServiceAccount cuando inicialice un objeto ServiceProcessInstaller para especificar el contexto de seguridad del servicio que va a instalar. El contexto de seguridad indica los privilegios que tiene un servicio 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). La clase ServiceAccount proporciona una serie de privilegios de manera que se puedan especificar con exactitud los privilegios necesarios para un servicio determinado.
El valor de LocalSystem define una cuenta con muchos privilegios, pero la mayoría de los servicios no requiere un nivel de privilegios tan elevado. Los miembros de enumeración LocalService y NetworkService proporcionan un nivel de privilegios más bajo para el contexto de seguridad.
Nota |
|---|
| Los valores LocalService y NetworkService sólo están disponibles en Windows XP y en la familia de Windows Server 2003. |

Ejemplo
Imports System
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
End Class
using System;
using System.Collections;
using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;
[RunInstallerAttribute(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);
}
}
#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;
[RunInstallerAttribute(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 );
}
};
import System.*;
import System.Collections.*;
import System.Configuration.Install.*;
import System.ServiceProcess.*;
import System.ComponentModel.*;
/** @attribute RunInstallerAttribute(true)
*/
public class MyProjectInstaller extends 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.set_Account(ServiceAccount.LocalSystem);
// The services are started manually.
serviceInstaller1.set_StartType(ServiceStartMode.Manual);
serviceInstaller2.set_StartType(ServiceStartMode.Manual);
// ServiceName must equal those on ServiceBase derived classes.
serviceInstaller1.set_ServiceName("Hello-World Service 1");
serviceInstaller2.set_ServiceName("Hello-World Service 2");
// Add installers to collection. Order is not important.
get_Installers().Add(serviceInstaller1);
get_Installers().Add(serviceInstaller2);
get_Installers().Add(processInstaller);
} //MyProjectInstaller
} //MyProjectInstaller

Plataformas
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

Información de versión
.NET Framework
Compatible con: 2.0, 1.1, 1.0

Vea también