Napisałem usługę, która powinna uruchamiać/zatrzymywać inne usługi. Jest to kod używam:Które uprawnienia użytkownika wymaga usługa do uruchamiania/zatrzymywania innych usług?
ServiceController sc = new ServiceController("servicename");
if(sc.Status != ServiceControllerStatus.Running)
{
sc.Start();
}
To callstack wyjątku. (Niestety, ale wiadomość jest zlokalizowana w języku niemieckim, ale to nie jest istotne dla zrozumienia mojego problemu)
System.InvalidOperationException: Der Dienst SCardSvr kann nicht auf dem
komputerowe. geöffnet werden. ---> System.ComponentModel.Win32Exception: Zugriff verweigert
--- Ende der internal Ausnahmestapelüberwachung ---
bei System.ServiceProcess.ServiceController.GetServiceHandle (Int32 desiredAccess)
bei System.ServiceProcess.ServiceController. Uruchom (String [] args)
bei System.ServiceProcess.ServiceController.Start()
Obecnie używam usługi w ramach 'sieciowa'. Domyślam się, że to konto nie wystarcza niezbędnych praw użytkownika.
Mam zamiar stworzyć nowego użytkownika, który ma najbardziej minimalne pozwolenie wymagane do rozpoczęcia/zatrzymania arbitralnych usług.
Jakie uprawnienia wymaga ten nowy użytkownik?
Kto głosował, aby to zamknąć? Chcesz komentarz? Myślę, że to pytanie jest bardziej odpowiednie na Stackoverflow niż na Serverfault, ponieważ pytania te są wyświetlane z widoku programisty, a nie z administratora. – citronas
Głosuj, aby zamknąć, jak należy na Superuser. To nie jest pytanie programistyczne. Twoim celem jest stworzenie nowego użytkownika z uprawnieniami do uruchamiania/zatrzymywania usług. Niezależnie od tego, czy programujesz programowo, ustalanie, jakiego użytkownika należy dokonać, to pytanie Windows, a nie pytanie C#. – Brian