ServiceAccount Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt den Sicherheitskontext eines Dienstes fest, der seinen Anmeldetyp definiert.
public enum class ServiceAccount
public enum ServiceAccount
type ServiceAccount =
Public Enum ServiceAccount
- Vererbung
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. |
LocalSystem | 2 | Ein vom Dienststeuerungs-Manager verwendetes Konto, das umfangreiche Berechtigungen auf dem lokalen Computer besitzt und als der Computer im Netzwerk agiert. |
NetworkService | 1 | Ein Konto, das umfangreiche lokale Berechtigungen bereitstellt und für jeden Remoteserver die Anmeldeinformationen des Computers verwendet. |
User | 3 | Ein Konto, das von einem bestimmten Benutzer im Netzwerk definiert wird. Das Angeben von |
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie die ServiceAccount Aufzählung verwenden, um neue Programme mithilfe des Sicherheitskontexts des Systemkontos zu installieren.
#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 die ServiceAccount Aufzählung, wenn Sie einen ServiceProcessInstaller Sicherheitskontext des von Ihnen installierten Diensts initialisieren. Der Sicherheitskontext gibt die Berechtigungen an, die ein Dienst auf dem System hat und wie die Dienste im Netzwerk handeln (z. B. ob der Dienst die Anmeldeinformationen oder anonymen Anmeldeinformationen des Computers auf Remoteservern darstellt). Die ServiceAccount Aufzählung bietet einen Bereich von Berechtigungen, damit Sie genau die Berechtigungen angeben können, die Sie für einen bestimmten Dienst benötigen.
Der Wert definiert ein hoch privilegiertes Konto, aber die LocalSystem
meisten Dienste erfordern keine solche erhöhten Berechtigungsstufen. Die LocalService
Elemente und NetworkService
Aufzählungselemente stellen eine niedrigere Berechtigungsstufe für den Sicherheitskontext bereit.
Hinweis
Die Werte LocalService
und NetworkService
sind nur für Windows XP und Windows Server 2003-Familie verfügbar.