ServiceAccount Výčet

Definice

Určuje kontext zabezpečení služby, který definuje jeho typ přihlášení.

public enum class ServiceAccount
public enum ServiceAccount
type ServiceAccount = 
Public Enum ServiceAccount
Dědičnost
ServiceAccount

Pole

Name Hodnota Description
LocalService 0

Účet, který funguje jako neprivilegovaný uživatel v místním počítači a prezentuje anonymní přihlašovací údaje pro jakýkoli vzdálený server.

NetworkService 1

Účet, který poskytuje rozsáhlá místní oprávnění, a prezentuje přihlašovací údaje počítače libovolnému vzdálenému serveru.

LocalSystem 2

Účet používaný správcem řízení služeb, který má rozsáhlá oprávnění na místním počítači a funguje jako počítač v síti.

User 3

Účet definovaný konkrétním uživatelem v síti. Když User zadáte člena Account , systém při instalaci služby vyzve k zadání platného uživatelského jména a hesla, pokud nenastavíte hodnoty pro instanci Username i Password vlastnosti ServiceProcessInstaller .

Příklady

Následující příklad kódu ukazuje použití výčtu ServiceAccount k instalaci nových programů pomocí kontextu zabezpečení systémového účtu.

#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

Poznámky

Výčet ServiceAccount použijte při inicializaci k ServiceProcessInstaller určení kontextu zabezpečení služby, kterou instalujete. Kontext zabezpečení označuje oprávnění, která má služba v systému, a způsob, jakým služby fungují v síti (například jestli služba prezentuje přihlašovací údaje počítače nebo anonymní přihlašovací údaje vzdáleným serverům). Výčet ServiceAccount poskytuje rozsah oprávnění, abyste mohli přesně určit oprávnění, která potřebujete pro každou konkrétní službu.

Hodnota LocalSystem definuje vysoce privilegovaný účet, ale většina služeb nevyžaduje takovou úroveň zvýšených oprávnění. LocalService Členové NetworkService výčtu poskytují nižší úroveň oprávnění pro kontext zabezpečení.

Note

Hodnoty LocalService a NetworkService jsou dostupné jenom na Windows XP a Windows Server 2003.

Platí pro

Viz také