2010-10-01 9 views
5

Ich habe einen Dienst geschrieben, der andere Dienste starten/stoppen sollte. Dies ist der Code Ich verwende:Welche Benutzerberechtigung benötigt ein Dienst zum Starten/Stoppen anderer Dienste?

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

Dies ist die Aufrufliste der Ausnahme. (Sorry, aber die Botschaft ist in Deutsch lokalisiert, aber das ist nicht relevant für das Verständnis meines Problems)

System.InvalidOperationException: Der Dienst SCardSvr kann nicht auf dem 

-Computer. Sie werden geöffnet. ---> System.ComponentModel.Win32Exception: Zugriff verweigert
--- Ende der Internen Ausnahmestapelüberwachung ---
bei System.ServiceProcess.ServiceController.GetServiceHandle (Int32 DesiredAccess)
bei System.ServiceProcess.ServiceController. Start (String [] args )
bei System.ServiceProcess.ServiceController.Start()

Zeit den Dienst unter 'Networkservice' ich laufe. Ich schätze, dass dieses Konto nicht die notwendigen Benutzerrechte ausfüllt.
Ich werde einen neuen Benutzer erstellen, der die minimalste Berechtigung benötigt, um beliebige Dienste zu starten/zu stoppen.
Welche Berechtigungen benötigt dieser neue Benutzeraccount?

+0

Wer hat gewählt, um das zu schließen? Bitte beachten Sie, dass diese Frage für Stackoverflow besser geeignet ist als für Serverfault, da diese Fragen aus der Sicht eines Programmierers und nicht von einem Administrator angezeigt werden. – citronas

+0

Wählen Sie, um zu schließen, wie auf Superuser gehört. Dies ist keine Programmierfrage. Ihr Ziel ist es, einen neuen Benutzer mit der Berechtigung zum Starten/Stoppen von Diensten zu erstellen. Unabhängig davon, ob Sie diesen Benutzer programmgesteuert erstellen, ist es eine Windows-Frage, keine C# -Frage, zu bestimmen, welche Konfiguration der Benutzer benötigt. – Brian

Antwort

1

Muss es möglich sein, beliebige Dienste oder einen bestimmten Satz zu starten und zu stoppen?

Für feinere Kontrolle können Sie Berechtigungen für einen bestimmten Dienst festlegen. Siehe http://msmvps.com/blogs/erikr/archive/2007/09/26/set-permissions-on-a-specific-service-windows.aspx?CommentPosted=true#commentmessage

Mitglieder der Gruppe "Hauptbenutzer" haben einige Funktionen zum Starten und Stoppen von Diensten. Siehe http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_security_default_settings.mspx?mfr=true

Verwandte Themen