Qual permissão de usuário um serviço precisa para iniciar / parar outros serviços?
Eu escrevi um serviço que deve iniciar / parar outros serviços. Este é o código que estou usando:
ServiceController sc = new ServiceController("servicename");
if(sc.Status != ServiceControllerStatus.Running)
{
sc.Start();
}
Esta é a pilha de chamadas da exceção. (Desculpe, mas a mensagem está localizada em alemão, mas isso não é relevante para a compreensão do meu problema)
System.InvalidOperationException: Der Dienst SCardSvr kann nicht auf dem
Computador. geöffnet werden. ---> System.ComponentModel.Win32Exception: Zugriff verweigert
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.ServiceProcess.ServiceController.GetServiceHandle (Int32 desejadoAccess)
bei System.ServiceProcess.ServiceController.Start (String [] args)
bei System.ServiceProcess.ServiceController.Start ()
Atualmente, estou executando o serviço em 'Networkservice'. Eu acho que essa conta não é suficiente para os direitos de usuário necessários.
Vou criar um novo usuário com a permissão mínima necessária para iniciar / interromper serviços arbitrários.
De que permissões essa nova conta de usuário precisa?