Windows Usern oder Gruppen das Recht geben, einzelne Dienste zu starten und zu stoppen

In der Regel können nur Administratoren Windows Dienste verwalten. Was aber, wenn man z.B. einem Entwickler das Recht geben möchte einen selbstentwickelten Dienst neustarten zu können, ohne diesen direkt zum Admin machen zu müssen. Ganz einfach: mit dem Tool subinacl.exe.

Das Tool ist auf älteren Windows Server Versionen 2000 und 2003 vorhanden, auf neueren Versionen 2008 und 2008 R2 muss es erst von Microsoft heruntergeladen werden. Hat man es installiert, kann man mit dieser Syntax einen User entsprechend berechtigen:

subinacl.exe /service SERVICENAME /grant=DOMAIN\GROUPORUSER=TOP

TOP steht für:

T = start service
O = stop service
P = pause/continue service

Für SERVICENAME gibt man dann den Namen des Dienstes ein. Den kann man genau herausfinden, indem man im Server Manager den Dienst doppelklickt und oben den Namen abliest.

Für DOMAIN\GROUPORUSER kann man dann den Nutzer eintragen. Wenn es ein lokaler Nutzer ist, müsste es eher COMPUTER\GROUPORUSER heißen. Wichtig zu wissen ist auf jeden Fall, dass man nicht nur einzelne Benutzer, sondern auch Gruppen berechtigen kann. So macht man sich die spätere Erweiterung dieser Rechte leichter.

Der Nutzer kann dann zwar immer noch nicht den Server-Manager aufrufen, aber über die Eingabeaufforderung kann er mit net start SERVICENAME und net stop SERVICENAME den Dienst starten und stoppen.

Kommentare

Die Aufgabe ist auch ohne Verwendung von externen Tools wie SubInACL lösbar, siehe https://hitco.at/blog/windows-dienste-mit-benutzer-rechten-starten-und-s...