ServiceAccount-Enumeration
Legt den Sicherheitskontext eines Dienstes fest, der seinen Anmeldetyp definiert.
Namespace: System.ServiceProcess
Assembly: System.ServiceProcess (in system.serviceprocess.dll)
Syntax
'Declaration
Public Enumeration ServiceAccount
'Usage
Dim instance As ServiceAccount
public enum ServiceAccount
public enum class ServiceAccount
public enum ServiceAccount
public enum ServiceAccount
Member
Membername | Beschreibung | |
---|---|---|
LocalService | Ein Konto, das sich wie ein Benutzer ohne besondere Berechtigungen auf dem lokalen Computer verhält und für Remoteserver anonyme Anmeldeinformationen verwendet. | |
LocalSystem | Ein vom Dienststeuerungs-Manager verwendetes Konto, das umfangreiche Berechtigungen auf dem lokalen Computer besitzt und als der Computer im Netzwerk agiert. | |
NetworkService | Ein Konto, das umfangreiche lokale Berechtigungen bereitstellt und für jeden Remoteserver die Anmeldeinformationen des Computers verwendet. | |
User | Ein Konto, das von einem bestimmten Benutzer im Netzwerk definiert wird. Das Angeben von User für das ServiceProcessInstaller.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. |
Hinweise
Verwenden Sie beim Initialisieren eines ServiceProcessInstaller die ServiceAccount-Klasse, um den Sicherheitskontext des zu installierenden Dienstes festzulegen. Der Sicherheitskontext gibt die Berechtigungen eines Dienstes im System sowie das Verhalten des Dienstes im Netzwerk an (z. B., ob der Dienst bei Remotecomputern die Anmeldeinformationen des Computers oder anonyme Anmeldeinformationen verwendet). Die ServiceAccount-Klasse stellt eine Reihe von Berechtigungen bereit, sodass Sie genau die Berechtigungen festlegen können, die für einen bestimmten Dienst benötigt werden.
Der LocalSystem-Wert definiert ein Konto mit sehr weit reichenden Berechtigungen, für die meisten Dienste ist eine solch hohe Berechtigungsebene jedoch nicht erforderlich. Die Member der LocalService-Enumeration und der NetworkService-Enumeration bieten eine Ebene mit weniger weit reichenden Berechtigungen für den Sicherheitskontext.
Hinweis
Die Werte LocalService und NetworkService stehen nur in den Windows XP- und Windows Server 2003-Produktfamilien zur Verfügung.
Beispiel
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
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
System.ServiceProcess-Namespace
ServiceProcessInstaller
ServiceInstallerDialog