m-walter
Goto Top

User ermöglichen einen Dienst auf entfernten Server zu starten und zu stoppen

In der Anleitung wird beschrieben wie man einem User oder einer Gruppe ermöglichen kann, einen bestimmten Dienst auf einem entfernten Server zu starten und zu stoppen. Ohne Adminrechte zu vergeben oder RDP-Zugriff zu ermöglichen.

Auf dem Server, die MMC öffnen und das Snap-In „Security Templates“ hinzufügen.

4f3808e892d973dc1e7ce5469bab62cd-1

Unter „compatws“ -> „System Services“ den entsprechenden Dienst wählen und Doppelklicken

6c42e09489734fe6072336cfb90a7003-2

Bei “Define this policy setting….” Ist der haken zu setzen nun noch den Staup-Mode einstellen.

Über den Button „Edit Security“ können jetzt die User oder Groups hinzugefügt werden und die entsprechenden Permissions gesetzt werden.

Die berechtigten User bzw. Groups müssen auf dem Server auch noch der lokalen Group „Poweruser“ hinzugefügt werden.

e0d54fa7c8644739d190aeb19e5a35b5-3

Nun mit OK bestätigen

Die Console muss nicht gespeichert werden also „No“ anklicken.

5884a7a1af25d493ede0d7dcdbef99aa-4

Die compatws.in muss gespeichert werden, da sonst alle Änderungen verloren gehen, also die folgende Meldung mit „Yes“ bestätigen

5c8edd74d4d8ed49f968fe11edcc9a5a-5

Damit ist der User oder die Group auf den Service berechtigt.


Um nun den Dienst per Remote zu starten und zu stoppen habe ich auf die PSService.exe zurückgegrifen Sie ist teil der PSTool-Sammlung und kann auf der Microsoft TechNet Home Page heruntergeladen werden.

Die PSService.exe muss auf dem PC, von dem aus der Dienst gesteuert werden soll, unter C:\WINDOWS\system32 abgelegt werden.

Nun kann der der Dienst von diesem PC aus gestartet und gestoppt werden, der Aufruf sieht wie folgt aus:

Starten
%systemroot%\system32\psservice \\Servername start "Servicename"

Stoppen
%systemroot%\system32\psservice \\Servername stop "Servicename"

Der angemeldete User muss natürlich berechtigt sein oder einer berechtigten Gruppe angehören. Statt dem Servernamen kann man natürlich auch die IP einsetzen.

Es ist auch möglich einen Usernamen mit Passwort im Script mitzugeben, die Synatax ist dann wie folgt:

%systemroot%\system32\psservice \\Servername -u Domain\User -p Password start "Servicename"

Um es dem Anwender etwas angenehmer zu machen, habe ich folgendes Script gebaut. Es prüft in welchem Zustand sich der Service befindet und bietet dann die Auswahl starten oder stoppen.
------- Steuer.bat ------------------------------------------------------------------------------------------ 

rem ******************************************************
rem ** Script startet und stopt den Enterprise Service per Remote       **
rem ** geschrieben von Matthias Walter - www.tec4net.com                ** 	
rem ******************************************************

cls
@echo off

set dienst=arcplan Enterprise Application Server

echo Aktueller Status des Dienstes auf Servername ist derzeit:
%systemroot%\system32\psservice \\Servername query "%dienst%" |find "STATE"  
pause

cls
if "%1"=="" goto eingabe  
set eingabewert=%1
goto ausgabe

:eingabe
echo Was wollen Sie tun?
set /p eingabewert=  1 = Dienst starten  2 = Dienst stoppen:
goto %eingabewert%
pause

:ausgabe
goto %eingabewert%

:1 
%systemroot%\system32\psservice \\Servername start "%dienst%"   
%systemroot%\system32\psservice \\Servername "%dienst%" |find "STATE"  
pause
goto ende

:2 
%systemroot%\system32\psservice \\Servername stop "%dienst%"  
%systemroot%\system32\psservice \\Servername query "%dienst%" |find "STATE"  
pause
goto ende

:ende
exit

Content-ID: 92095

Url: https://administrator.de/contentid/92095

Ausgedruckt am: 17.12.2024 um 02:12 Uhr

67369
67369 25.07.2008 um 13:25:23 Uhr
Goto Top
Wieso benötigt man dazu psservice? Geht das nicht auch mit sc.exe?
M-Walter
M-Walter 25.07.2008 um 16:02:05 Uhr
Goto Top
Hallo,

ich habe mich an dieser Stelle für die PSService.exe entschieden, da nur sie mir die Möglichkeit bietet auch einen Usernamen mit Passwort im Script zu hinterlegen.
Denkbar wäre z.B. eine Exe mit VB6 zu erzeugen, welche man einen Anwender zur Verfügung stellt. Der ausführende User muss dann nicht direkt auf den Dienst berechtigt sein da der im Script hinterlegte User ja berechtigt ist.

Da ich in der Anleitung aber beide Wege zeigen wollte, habe ich die PSService.exe genommen. Grundsätzlich können Dienste von Remote-Systemen auch mit der SC.exe gestartet werden.
67369
67369 25.07.2008 um 16:17:29 Uhr
Goto Top
Danke. face-wink Fülltext----------
alexander-g
alexander-g 26.11.2008 um 16:30:05 Uhr
Goto Top
Hallo M-Walter

Ich hatte einen extremen Euphoridenschub als ich dein Guide gelesen habe. So etwas suche ich schon seit längere Zeit.
Doch mir ist aufgefallen das es überhaupt nichts bringt, da du ja den User/die Gruppe in die local PowerUsers Gruppe packst. Diese können so oder so alle Services starten/stoppen. Darüberhiaus können diese noch etliches mehr, was überhaupt nicht in meinem Intersse liegt.

Kurz gesagt: Die ganzen Einstellungen haben gar keine Auswirkung da, der User/die Gruppe durch den PowerUser so oder so ALLE Services verwalten kann!

Ich hoffe du hast ein neuen Vorschlag wie ich das im Header gennante Ziel erreichen kann.


Liebe Grüsse

Alex
Balack
Balack 10.03.2010 um 11:54:55 Uhr
Goto Top
Hallo!

Die Erstellung des Templates war nur der erste Schritt.
Wenn man ein neues und kein bestehendes Template erstellt, wie in diesem Beitrag beschrieben, muss man es noch "aktivieren". Dazu speichere man das neue Template unter \Windows\Security\Templates.

Der entscheidende Schritt, der leider in der obigen Anleitung fehlt, ist nun die mmc mit dem Snapin "Security Configuration And Analysis" zu starten.
Dort legt man eine neue Datenbank an - am besten im Ordner \Windows\Security\Database.
In diese neue Datenbank importiert man das vorher erstellte Template.
Spätestens nach einem Neustart sollten die im Template eingestellten Einstellungen greifen.

Der Benutzer muss dann auch nicht mehr "Poweruser" oder "Hauptbenutzer" sein.

Ausprobiert habe ich das alles auf einem Windows 7 Professional.

Viel Erfolg!