ServiceAccount Enum

Definitie

Hiermee geeft u de beveiligingscontext van een service op, waarmee het aanmeldingstype wordt gedefinieerd.

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

Velden

Name Waarde Description
LocalService 0

Een account dat fungeert als een niet-bevoegde gebruiker op de lokale computer en anonieme referenties presenteert aan elke externe server.

NetworkService 1

Een account dat uitgebreide lokale bevoegdheden biedt en de referenties van de computer presenteert aan elke externe server.

LocalSystem 2

Een account, dat wordt gebruikt door de servicebeheermanager, met uitgebreide bevoegdheden op de lokale computer en fungeert als de computer op het netwerk.

User 3

Een account dat is gedefinieerd door een specifieke gebruiker in het netwerk. User Als u opgeeft voor het Account lid, wordt het systeem gevraagd om een geldige gebruikersnaam en wachtwoord wanneer de service is geïnstalleerd, tenzij u waarden instelt voor zowel de als Password de Username eigenschappen van uw ServiceProcessInstaller exemplaar.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de ServiceAccount opsomming gebruikt om nieuwe programma's te installeren met behulp van de beveiligingscontext van het systeemaccount.

#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

Opmerkingen

Gebruik de ServiceAccount opsomming wanneer u een ServiceProcessInstaller initialiseert om de beveiligingscontext op te geven van de service die u installeert. De beveiligingscontext geeft de bevoegdheden aan die een service op het systeem heeft en hoe de services op het netwerk reageren (bijvoorbeeld of de service de referenties van de computer of anonieme referenties aan externe servers presenteert). De ServiceAccount opsomming biedt een reeks bevoegdheden, zodat u precies de bevoegdheden kunt opgeven die u nodig hebt voor een bepaalde service.

De LocalSystem waarde definieert een account met hoge bevoegdheden, maar voor de meeste services is een dergelijk niveau met verhoogde bevoegdheden niet vereist. De LocalService leden en NetworkService opsomming bieden een lager bevoegdheidsniveau voor de beveiligingscontext.

Note

De waarden LocalService en NetworkService zijn alleen beschikbaar voor Windows XP en Windows Server 2003-familie.

Van toepassing op

Zie ook