Discussion:
benutzerrechte dienst neu starten mit sc.exe
(zu alt für eine Antwort)
Marc Derndorff
2007-06-12 08:19:23 UTC
Permalink
Hallo, liebe NG!

Ich möchte einem normalen Benutzer das Recht geben, einen bestimmten Dienst
auf einem Server (Windows Server 2003) neu zu starten, ohne dass er sich auf
dem Server anmelden muss. Auf dem Client läuft WinXP SP2. Mein bisheriger
Ansatz: Ich habe eine Batch-Datei geschrieben, die mit Hilfe von sc.exe den
Dienst zunächst beendet und dann wieder startet. Wenn ich diese Batch-Datei
(als Domänen-Admin) auf meinem PC aufrufe, dann funktioniert sie. Wenn sie
jedoch der Benutzer auf seinem PC aufruft, dann kommt: "OpenSCManager"
Failed - Zugriff verweigert. Gebe ich dem Benutzer vorübergehend
Domänen-Admin-Rechte, dann geht es. Das will ich natürlich nicht. Welche
Rechte kann ich wie anpassen (z.B. über Gruppenrichtlinien oder sonstwo),
damit ein Benutzer / eine Gruppe von Benutzern diese Aktion ausführen darf?

Vielen Dank im voraus

Gruß

Marc
Winfried Sonntag [MVP]
2007-06-12 22:13:40 UTC
Permalink
Post by Marc Derndorff
Ich möchte einem normalen Benutzer das Recht geben, einen bestimmten Dienst
auf einem Server (Windows Server 2003) neu zu starten, ohne dass er sich auf
dem Server anmelden muss. Auf dem Client läuft WinXP SP2. Mein bisheriger
Norbert hat auf der Seite von Mark einen Artikel dazu geschrieben.
Schau mal ob er dir hilft:
http://www.grurili.de/HowTo/SCManager_Service_Control_Manager.htm

Servus
Winfried
--
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
Win2000-FAQ: http://w2k-faq.ebend.de
GPO's: www.gruppenrichtlinien.de
W2K Up2date: http://home.arcor.de/jterlinden/index.htm
Marc Derndorff
2007-06-13 10:57:07 UTC
Permalink
Hallo, Winfried!

Danke für den Tipp! Wenn ich das richtig verstehen, dann muss man

1. dem Benutzer per GP Rechte zum Starten/Stoppen von Diensten geben

Welche GP genau dieses Recht steuert, wird aber nicht geagt. Ist es
Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Lokale
Richtlinien/Zuweisen von Benutzerrechten/Als Dienst anmelden?

2. dem Benutzer Rechte auf genau einen Dienst geben über
Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Systemdienste

Wie der Name schon sagt, funktioniert das aber wohl nur mit Windows-eigenen
Diensten. Der Dienst, um den es bei mir geht, ist aber der Dienst einer
installierten Anwendung. Die taucht bei mir in der GP gar nicht zur Auswahl
auf. Ob und wie man da Rechte vergibt, bleibt für mich unklar.

3. per Skript die Berechtigungen erweitern

Hört sich für mich kompliziert an. Müsste das Skript anpassen. Verwende aber
nicht so gern Skripte, die ich nicht verstehe.

Das Problem ist, dass die Rechtevergabe an jeder der Schritte 1-3 scheitern
kann. Wenn es dann nicht geht, wo suche ich den Fehler?

Ich glaube, dass dieser Weg zu komplex ist für meine Verhältnisse. Geht es
nicht einfacher?

Gruß

Marc
Post by Winfried Sonntag [MVP]
Post by Marc Derndorff
Ich möchte einem normalen Benutzer das Recht geben, einen bestimmten Dienst
auf einem Server (Windows Server 2003) neu zu starten, ohne dass er sich auf
dem Server anmelden muss. Auf dem Client läuft WinXP SP2. Mein bisheriger
Norbert hat auf der Seite von Mark einen Artikel dazu geschrieben.
http://www.grurili.de/HowTo/SCManager_Service_Control_Manager.htm
Servus
Winfried
--
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
Win2000-FAQ: http://w2k-faq.ebend.de
GPO's: www.gruppenrichtlinien.de
W2K Up2date: http://home.arcor.de/jterlinden/index.htm
Winfried Sonntag [MVP]
2007-06-13 19:14:17 UTC
Permalink
Post by Marc Derndorff
Danke für den Tipp! Wenn ich das richtig verstehen, dann muss man
1. dem Benutzer per GP Rechte zum Starten/Stoppen von Diensten geben
Yepp.
Post by Marc Derndorff
Welche GP genau dieses Recht steuert, wird aber nicht geagt. Ist es
Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Lokale
Richtlinien/Zuweisen von Benutzerrechten/Als Dienst anmelden?
AFAIK nein. Hier wirds beschrieben:
http://www.grurili.de/HowTo/Zentrale_Vergabe_lokaler_Berechtigungen.htm
Post by Marc Derndorff
2. dem Benutzer Rechte auf genau einen Dienst geben über
Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Systemdienste
Wie der Name schon sagt, funktioniert das aber wohl nur mit Windows-eigenen
Diensten. Der Dienst, um den es bei mir geht, ist aber der Dienst einer
installierten Anwendung. Die taucht bei mir in der GP gar nicht zur Auswahl
auf. Ob und wie man da Rechte vergibt, bleibt für mich unklar.
Sorry, da kann ich dir leider nicht mehr weiterhelfen. Du könntest es
mal mit einem Systemdienst versuchen und die Änderungen direkt an der
betroffenen Maschine aufzeichnen.
Post by Marc Derndorff
Ich glaube, dass dieser Weg zu komplex ist für meine Verhältnisse. Geht es
nicht einfacher?
Keine Ahnung, vielleicht schaltet sich Norbert ja nochmal in diesen
Thread ein. Der könnte vielleicht Licht ins Dunkel bringen.

Servus
Winfried
--
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
Win2000-FAQ: http://w2k-faq.ebend.de
GPO's: www.gruppenrichtlinien.de
W2K Up2date: http://home.arcor.de/jterlinden/index.htm
Mark Heitbrink [MVP]
2007-06-15 20:19:21 UTC
Permalink
Hi,
Post by Marc Derndorff
Wie der Name schon sagt, funktioniert das aber wohl nur mit Windows-eigenen
Diensten. Der Dienst, um den es bei mir geht, ist aber der Dienst einer
installierten Anwendung. Die taucht bei mir in der GP gar nicht zur Auswahl
auf.
Macht überhaupt nichts.
Bearbeite die GPO per GPMC von dem System wo der Dienst installiert ist
(dann taucht er auch auf! ;-) oder MMC -> SnapIn Sicherheitsvorlagen
auf dem System aufrufen.
Den Dienst "irgendwie" anpassen, die INF Datei speichern, per Notepad
editieren und dann auf der GPO unter "Sicherheitseinstellungen" -> rechte
Maustaste -> Richtlinie importieren die INF Datei importieren.
Post by Marc Derndorff
3. per Skript die Berechtigungen erweitern
Hört sich für mich kompliziert an. Müsste das Skript anpassen. Verwende aber
nicht so gern Skripte, die ich nicht verstehe.
Dann nimm einfach ein Computer Startup Script das per
sc sdset SCMANAGER D:(A;;CCLCRPRC;;;S-1- .... die Berechtigungen setzt.
Das VB Script am Ende ist nur um "in Schönheit" zu sterben, denn das
Computer Startup Script wird jedesmal ausgeführt und nicht nur einmal,
wie das VB.

Geht aber auch in der Batch.
Befehl ausführen, Protokolldatei erstellen lassen und vor dem ausführen des
Befehl die Existenz der Protokolldatei abfragen.
Vorhanden? -> nicht ausführen
Nicht vorhanden -> ausführen.

Dafür reicht ein Zeile in der Batch, zB:
if /i not exist pfad\datei.txt sc sdset SCMANAGER D:(A;.. > pfad\datei.txt
Post by Marc Derndorff
Ich glaube, dass dieser Weg zu komplex ist für meine Verhältnisse. Geht es
nicht einfacher?
Ja. siehe mein Beispiel, wobei das Thema aber leider aufgrund der SDDL
Syntax Komplex ist, weil die komisch aussieht, sonst ist eigentlich
recht trivial :-)

Tschö
Mark
--
Mark Heitbrink - MVP Windows Server - Group Policy

Homepage: www.gruppenrichtlinien.de - deutsch
Blog: gpupdate.spaces.live.com - english
Marc Derndorff
2007-06-18 08:23:28 UTC
Permalink
Hallo, Mark!

Danke für die Hilfe bis hierher. Ist also gaaanz einfach? :-)
Post by Winfried Sonntag [MVP]
Post by Marc Derndorff
Welche GP genau dieses Recht steuert, wird aber nicht geagt. Ist es
Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Lokale
Richtlinien/Zuweisen von Benutzerrechten/Als Dienst anmelden?
http://www.grurili.de/HowTo/Zentrale_Vergabe_lokaler_Berechtigungen.htm
Entweder bin ich blind (nicht ausgeschlossen), oder ich sehe im genannten
Beitrag nicht, wie ich ein grundsätzliches Recht (Benutzerrecht) zum
Starten/Stoppen von Dienst vergeben soll. Muss ich das überhaupt? Bin immer
noch hilflos.

2. Sicherheitsvorlage anpassen
Post by Winfried Sonntag [MVP]
Bearbeite die GPO per GPMC von dem System wo der Dienst installiert ist
(dann taucht er auch auf! ;-) oder MMC -> SnapIn Sicherheitsvorlagen
auf dem System aufrufen.
Den Dienst "irgendwie" anpassen, die INF Datei speichern, per Notepad
editieren und dann auf der GPO unter "Sicherheitseinstellungen" -> rechte
Maustaste -> Richtlinie importieren die INF Datei importieren.
Hm. Habe die Sicherheitsvorlagen aufgerufen. Da sind zunächst mal 9
Vorlagen, die alle die gleichen Optionen haben. Der Dienst ist überall unter
Systemdienste aufgeführt. Welchen der Zweige soll ich jetzt anpassen (z.B.
DC security ...)? Wenn ich einen beliebigen heraussuche, anpasse und
speichere, dann erhalte ich eine Datei mit jeder Menge Einträge. Jetzt soll
ich sie "per Notepad" editieren!?! WAS soll ich daran editieren? Kann ich da
was kaputt machen, wenn ich so eine Vorlage nehme und dann einfach auf
meinen DC anwende? Überschreibt das nicht vorhandene Einstellungen?

3. Computer Startup-Skript
Post by Winfried Sonntag [MVP]
Geht aber auch in der Batch.
Befehl ausführen, Protokolldatei erstellen lassen und vor dem ausführen des
Befehl die Existenz der Protokolldatei abfragen.
Vorhanden? -> nicht ausführen
Nicht vorhanden -> ausführen.
Heißt das, das das Skript auf dem Server nur ein einziges Mal ausgeführt
werden soll? Denn beim zweiten Mal wäre ja schon die Protokoll-Datei
vorhanden. Wozu dann ein Computer Startup Skript? Es geht nur um einen
einzigen Server.

Ist für Dich bestimmt trivial. Ich stochere aber noch etwas im Trüben ...

Gruß

Marc

Loading...