Aktivieren oder deaktivieren Sie den Windows-Dienst, je nachdem, welcher Benutzer sich anmeldet

Aktivieren oder deaktivieren Sie den Windows-Dienst, je nachdem, welcher Benutzer sich anmeldet

Ich möchte also einen Dienst je nach Benutzeranmeldung deaktivieren oder aktivieren, da es sich um einen Dienst handelt, der nur für einen bestimmten Benutzer aktiv sein muss und ansonsten unnötig Systemressourcen verschlingt.

Am einfachsten wäre es, pro Benutzer eine Batchdatei zu erstellen (es handelt sich um ein lokales System, also nicht zu viele Benutzer) und diese Batchdatei auszuführen, wenn sich ein Benutzer mit net stop/start oder sc config anmeldet. Das Problem bei diesem Ansatz besteht darin, dass diese Befehle erhöhte Berechtigungen erfordern und einer der Benutzer keine erhöhten Berechtigungen hat.

Gibt es eine andere Möglichkeit, dies zu tun, oder gibt es einen Workaround, um einer Batchdatei vorübergehend erhöhte Rechte zu erteilen?

Danke.

Antwort1

Sie können eine geplante Aufgabe verwenden, um das Problem der erhöhten Berechtigungen zu umgehen.

Für jeden Endbenutzer:

  1. Starten Sie den Taskplaner und erstellen Sie eine neue Aufgabe (wählen Sie rechts „Aufgabe erstellen“ aus)
  2. Legen Sie auf der Registerkarte Allgemein fest, dass die Aufgabe in Ihrem eigenen (Administrator-)Konto ausgeführt wird, unabhängig davon, ob Sie angemeldet sind oder nicht, und mit den höchsten Berechtigungen
  3. Fügen Sie auf der Registerkarte Trigger einen Trigger „Beim Anmelden“ hinzu und konfigurieren Sie das Endbenutzerkonto
  4. Fügen Sie auf der Registerkarte „Aktionen“ die Aktion „Programm starten“ hinzu und geben Sie die Befehlszeile ein, die Sie ausführen möchten („NET STOP Dienstname“ oder „NET START Dienstname“).
  5. Speichern Sie Ihre neue geplante Aufgabe.

Wenn sich einer Ihrer Endbenutzer anmeldet, führt der Taskplaner NET START/STOP in Ihrem Administratorkonto aus und startet oder stoppt den Dienst, ohne dass zum Zeitpunkt der Anmeldung erhöhte Berechtigungen erforderlich sind.

Einige Fragen an Sie: Was passiert, wenn sich beide Endbenutzer anmelden? Erhalten Sie bei allen Anmeldesequenzen das richtige Ergebnis (d. h. Benutzer A, dann B und Benutzer B, dann A)? Vergessen Sie nicht, auch Abmeldesequenzen zu berücksichtigen …

Antwort2

Die Dienste verhalten sich in allen Benutzerkonten gleich. Wenn Sie sie also mit einer Batchdatei deaktivieren, wirkt sich dies auf das Konto des anderen Benutzers (z. B. des Administrators) aus. Das Erstellen eines weiteren Kontos bringt also nichts :(. Versuchen Sie doch einfach, zwei Batchdateien zu erstellen. Eine zum Stoppen und eine zum Starten. Ich bin erstaunt, dass Windows nicht für verschiedene Benutzer und Anforderungen eine unterschiedliche Dienstnutzung zulassen kann. Ich bin enttäuscht.

verwandte Informationen