天天看點

ServiceAccount 枚舉

指定服務的安全上下文,安全上下文定義其登入類型。

命名空間:  System.ServiceProcess

程式集:  System.ServiceProcess(在 System.ServiceProcess.dll 中)

成員名稱 說明
LocalService 充當本地計算機上非特權使用者的帳戶,該帳戶将匿名憑據提供給所有遠端伺服器。
LocalSystem 服務控制管理者使用的帳戶,它具有本地計算機上的許多權限并作為網絡上的計算機。
NetworkService 提供廣泛的本地特權的帳戶,該帳戶将計算機的憑據提供給所有遠端伺服器。
User 由網絡上特定的使用者定義的帳戶。 如果為 ServiceProcessInstaller.Account 成員指定 User,則會使系統在安裝服務時提示輸入有效的使用者名和密碼,除非您為ServiceProcessInstaller 執行個體的 Username 和 Password 這兩個屬性設定值。

備注

當初始化 ServiceProcessInstaller 以指定要安裝的服務的安全上下文時,請使用 ServiceAccount 枚舉。 安全上下文訓示服務在系統上的特權并訓示服務在網絡上如何操作(例如,服務是否将計算機的憑據或匿名憑據提供給遠端伺服器)。 該ServiceAccount 枚舉提供一系列特權,以便您可以為任何特定的服務指定正好需要的特權。

LocalSystem 值定義具有高度特權的帳戶,但大多數服務不需要這種提高的特權級别。 LocalService 和 NetworkService枚舉成員為安全上下文提供較低的特權級别。

ServiceAccount 枚舉

示例

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]");
    }
}      

繼續閱讀