代码之家  ›  专栏  ›  技术社区  ›  citronas

服务启动/停止其他服务需要哪些用户权限?

  •  5
  • citronas  · 技术社区  · 15 年前

    我写了一个应该启动/停止其他服务的服务。 这是我使用的代码:

    ServiceController sc = new ServiceController("servicename");
    if(sc.Status != ServiceControllerStatus.Running)
    {
        sc.Start();
    }
    

    这是异常的调用堆栈。(很抱歉,但邮件的本地化语言是德语,但这与理解我的问题无关)

    System.InvalidOperationException: Der Dienst SCardSvr kann nicht auf dem
    

    计算机。通用电气¶ffnet-werden。---> System.ComponentModel.win32异常: 祖格里夫·韦韦韦格特
    ——恩德·德·内森·奥斯纳赫梅斯塔佩尔---
    bei系统.serviceprocess.servicecontroller.getservicehandle(int32 希望访问)
    bei system.serviceprocess.servicecontroller.start(字符串[] ARGS)
    bei系统.serviceprocess.servicecontroller.start()

    目前我正在“networkservice”下运行该服务。我想那个帐户不足以提供必要的用户权限。
    我将创建一个新用户,它是启动/停止任意serivces所需的最小权限。
    这个新用户帐户需要什么权限?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Rob Walker    15 年前

    它是否需要能够启动和停止任意服务,或者特定的服务集?

    对于更细粒度的控件,可以对特定服务设置权限。见 http://msmvps.com/blogs/erikr/archive/2007/09/26/set-permissions-on-a-specific-service-windows.aspx?CommentPosted=true#commentmessage

    “超级用户”组的成员可以启动和停止服务。见 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_security_default_settings.mspx?mfr=true

    推荐文章