none
Dienst als Nichtadministrator remote neu starten RRS feed

  • Frage

  • Hallo zusammen,

    wie kann ich einem Domänenuser das Recht geben, einen 3rd Party Dienst auf einem Server von seinem PC aus neu zu starten?

    Früher gab es dafür mal ein Tool svcutil.exe was aber nur bis Server 2003 funktioniert hat.

    Danke für die Hilfe!

    Dienstag, 18. Februar 2020 09:10

Antworten

  • Und weiß auch jemand wie das geht?

    Nur Tools vorzuschlagen hilft mir leider nicht weiter.

    Danke

    Ja, aber das hier step-by-step zu beschreiben sprengt den Rahmen.

    In groben Schritten:

    • Rollen-Definitionsdatei erzeugen, die nur die Cmdlets Get-Service, Stop-Service, Start-Service und Restart-Service sowie nur den Parameter Name und dafür nur den Wert <Name des Dienstes> zulässt
    • Aus dieser Datei einen JEA-Endpoint (Remoting-Konfiguration) registrieren und die Ausführung als virtuelles Admin-Konto einstellen
    • Den fraglichen User auf diesen JEA-Endpoint berechtigen.
    • Willkommen in der Welt der delegierten Administration!

    Alternative:

    • einen Scheduled Task erzeugen, der mit SYSTEM den Dienst neu startet
    • den User dazu befähigen, diesen Task auszulösen. Die Rechte, die man dafür braucht, dass er das remote tun kann, ist aber recht fummelig.

    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 19. Februar 2020 08:58
  • Und weiß auch jemand wie das geht?

    Nur Tools vorzuschlagen hilft mir leider nicht weiter.

    Danke

    https://docs.microsoft.com/de-de/powershell/scripting/learn/remoting/jea/overview?view=powershell-7

    das ist aber nicht mal eben in 3 Sätzen erklärt... da muss man schon etwas mehr lesen... 

    Ansonsten geht das auch direkt über sc.exe, wenn der user zunächst über "

    subinacl.exe /service NAMEDESDIENSTES /GRANT=USERWELCHERDASRECHTBEKOMMENSOLL=STO

    die entsprechenden Rechte bekommen hat.

    "

    Mittwoch, 19. Februar 2020 09:08
  • Bitteschön:

    Invoke-Command -ComputerName appserver -ConfigurationName eucsrv -ScriptBlock {Restart-Service eucsrv}


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert InfoCN Donnerstag, 5. März 2020 13:26
    Donnerstag, 5. März 2020 12:56

Alle Antworten

  • sc.exe oder mit powershell
    Dienstag, 18. Februar 2020 18:35
  • Moin,

    die "moderne" Antwort wäre PowerShell JEA.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Dienstag, 18. Februar 2020 20:03
  • Und weiß auch jemand wie das geht?

    Nur Tools vorzuschlagen hilft mir leider nicht weiter.

    Danke

    Mittwoch, 19. Februar 2020 08:04
  • Und weiß auch jemand wie das geht?

    Nur Tools vorzuschlagen hilft mir leider nicht weiter.

    Danke

    Ja, aber das hier step-by-step zu beschreiben sprengt den Rahmen.

    In groben Schritten:

    • Rollen-Definitionsdatei erzeugen, die nur die Cmdlets Get-Service, Stop-Service, Start-Service und Restart-Service sowie nur den Parameter Name und dafür nur den Wert <Name des Dienstes> zulässt
    • Aus dieser Datei einen JEA-Endpoint (Remoting-Konfiguration) registrieren und die Ausführung als virtuelles Admin-Konto einstellen
    • Den fraglichen User auf diesen JEA-Endpoint berechtigen.
    • Willkommen in der Welt der delegierten Administration!

    Alternative:

    • einen Scheduled Task erzeugen, der mit SYSTEM den Dienst neu startet
    • den User dazu befähigen, diesen Task auszulösen. Die Rechte, die man dafür braucht, dass er das remote tun kann, ist aber recht fummelig.

    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 19. Februar 2020 08:58
  • Und weiß auch jemand wie das geht?

    Nur Tools vorzuschlagen hilft mir leider nicht weiter.

    Danke

    https://docs.microsoft.com/de-de/powershell/scripting/learn/remoting/jea/overview?view=powershell-7

    das ist aber nicht mal eben in 3 Sätzen erklärt... da muss man schon etwas mehr lesen... 

    Ansonsten geht das auch direkt über sc.exe, wenn der user zunächst über "

    subinacl.exe /service NAMEDESDIENSTES /GRANT=USERWELCHERDASRECHTBEKOMMENSOLL=STO

    die entsprechenden Rechte bekommen hat.

    "

    Mittwoch, 19. Februar 2020 09:08
  • mit subinacl und sc funktioniert es nur wenn der user das direkt auf dem Server ausführt, nicht remote. kommt nicht in frage.

    werde mich wohl mal in JEA einlesen müssen, es sei denn jemand weiß wie man das remote mit sc.exe zum laufen bekommt.

    Mittwoch, 19. Februar 2020 10:30
  • wenn du dem user über subinacl die rechte auf diesen Dienst setzt kannst du mit 

    sc \\remotePC stop "Service_name"

    den auch remote starten/stoppen

    Donnerstag, 20. Februar 2020 07:23
  • eben nicht. das funktioniert nur wenn der user Administrator ist.
    Dienstag, 3. März 2020 09:21
  • habe es gerade nochmal getestet, selbst wenn der user an seinem Client Administrator ist und den befehl als admin ausführt geht es nicht:

    [SC] OpenService FEHLER 5:

    Zugriff verweigert

    dem user habe ich vorher auf dem server 2019 mit subinacl volle rechte (F) auf den dienst gegeben.

    es funktioniert nur, wenn der user auf dem zielserver Administrator ist.
    • Bearbeitet InfoCN Dienstag, 3. März 2020 09:32
    Dienstag, 3. März 2020 09:29
  • über JEA habe ich es hinbekommen.

    PowerShell als user starten, mit den folgenden beiden befehlen kann ich den dienst dann remote als nicht-admin neu starten:

    enter-pssession -computername appserver -configurationname eucsrv
    restart-service eucsrv

    ich bekomme es aber irgendwie nicht hin, das als one-liner auszuführen. hat da jemand eine idee für mich?


    • Bearbeitet InfoCN Donnerstag, 5. März 2020 12:01
    Donnerstag, 5. März 2020 12:01
  • Bitteschön:

    Invoke-Command -ComputerName appserver -ConfigurationName eucsrv -ScriptBlock {Restart-Service eucsrv}


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert InfoCN Donnerstag, 5. März 2020 13:26
    Donnerstag, 5. März 2020 12:56
  • Herzlichen Dank!
    Donnerstag, 5. März 2020 13:26