我写了一个应该启动/停止其他服务的服务。 这是我正在使用的代码:
ServiceController sc = new ServiceController("servicename");
if(sc.Status != ServiceControllerStatus.Running)
{
sc.Start();
}
这是异常的callstack。 (对不起,但邮件是用德语本地化的,但这与理解我的问题无关)
System.InvalidOperationException: Der Dienst SCardSvr kann nicht auf dem
电脑。 geöffnetwerden。 ---> System.ComponentModel.Win32Exception: Zugriff verweigert
--- Enn der internenAusnahmestapelüberwachung---
bei System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
bei System.ServiceProcess.ServiceController.Start(String [] 参数)
bei System.ServiceProcess.ServiceController.Start()
目前我正在'Networkservice'下运行该服务。我想这个帐户不足以满足必要的用户权限 我将创建一个新用户,它是启动/停止任意服务所需的最小权限 这个新的useraccount需要什么权限?
答案 0 :(得分:1)
是否需要能够启动和停止任意服务或特定集合?
对于更精细的控制,您可以针对特定服务设置权限。见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