He escrito un servicio que debería iniciar/detener otros servicios. Este es el código que estoy usando:¿Qué permiso de usuario necesita un servicio para iniciar/detener otros servicios?
ServiceController sc = new ServiceController("servicename");
if(sc.Status != ServiceControllerStatus.Running)
{
sc.Start();
}
Esta es la pila de llamadas de la excepción. (Lo siento, pero el mensaje se localiza en alemán, pero eso no es relevante para la comprensión de mi problema)
System.InvalidOperationException: Der Dienst SCardSvr kann nicht auf dem
ordenador. geöffnet werden. ---> System.ComponentModel.Win32Exception: Zugriff verweigert
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.ServiceProcess.ServiceController.GetServiceHandle (Int32 DesiredAccess)
bei System.ServiceProcess.ServiceController. iniciar (String [] args)
bei System.ServiceProcess.ServiceController.Start()
Actualmente estoy ejecutando el servicio bajo 'NetWorkService'. Supongo que esa cuenta no es suficiente con los derechos de usuario necesarios.
Voy a crear un nuevo usuario que requiera la autorización más mínima para iniciar/detener los servicios arbitrarios.
¿Qué permisos necesita este nuevo useraccount?
Quién votó para cerrar esto? ¿Desea comentar? Creo que esta pregunta es más adecuada en Stackoverflow que en Serverfault porque esta pregunta se ve desde la vista de un programador y no desde la de un administrador. – citronas
Vote para cerrar como pertenece en Superusuario. Esta no es una pregunta de programación. Su objetivo es crear un nuevo usuario con permiso para iniciar/detener servicios. Independientemente de si está creando este usuario mediante programación, determinar qué configuración necesita el usuario es una pregunta de Windows, no una pregunta de C#. – Brian