Diese Antwort umfasst das Stoppen des Prozesses für den Benutzer. Sie können außerdem Schritte ausführen, um den Dienst wie gewünscht mit dem runas
Befehl auszuführen (vorausgesetzt, das Konto "Nicht-Admin" ist berechtigt, Powershell / CMD auszuführen).
Wenn Sie einen lokalen PC verwenden (z. B. sind Sie kein Mitglied einer Domäne), können Sie einen "Task-Zeitplan" für die Anmeldung implementieren und als einen anderen Benutzer ausführen, was hier erklärt werden kann . Wenn Sie angeben, dass dies als ein anderer Benutzer mit höchsten Berechtigungen ausgeführt werden soll, sollten Sie den Dienst beim Start bearbeiten können.
Wenn dies zu schwierig ist (oder der Benutzer, der sich am PC anmeldet, ein Administrator ist), können Sie ein PowerShell-Skript zur Ausführung als Administrator erhöhen:
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { $arguments = "& '" + $myinvocation.mycommand.definition + "'" Start-Process powershell -Verb runAs -ArgumentList $arguments Break }
Hinweis : Ich weiß, Sie sagten, dass der Benutzer kein Administrator ist, aber dies könnte anderen helfen, weshalb ich es hinzugefügt habe.
Wenn wir wirklich faul sind, können wir den runas
Befehl innerhalb des PowerShell / Batch-Skripts verwenden, das wir implementieren möchten. Die Anmeldeinformationen müssen jedoch in einem sicheren Prozess gespeichert werden (z. B. nicht in Klartext).
Lokaler Gruppenrichtlinien-Editor
Fügen Sie einfach ein Skript zum Starten und Herunterfahren des Computers hinzu, um den Dienst aufzurufen und zu beenden:
runas
um diegpedit.msc
Datei auszuführen- Computerkonfiguration, Windows-Einstellungen, Skripts (Starten / Herunterfahren)
Hinzufügen eines vordefinierten Skripts zum Ausführen der Datei:
runas.exe /user:localhost\Admnistrator net start synergy