121416
Goto Top

Dienst per Aufgabenplanung nach login neu starten

Hallo,

gleich vorab, ich habe verschiedene "HowTos" usw. zu diesem Thema gefunden, aber es funktioniert einfach nicht.

Ich habe eine dienst_restart.bat geschrieben (funkioniert einwandfrei) und möchte diese mit Administratorrechten bei jedem login ausführen lassen.

Was ich bisher gemacht habe:

Aufgabe erstellen
  • Allgemein
    • Name: dienst restart
    • Beim ausführen der Aufgabe folgendes Benutzerkonto verwenden: PC1\Administrator
    • Unabhängig von der Benutzeranmeldung ausführen x
    • Mit höchsten Privilegien ausführen x
  • Trigger
    • Aufgabe starten: Bei Anmeldung
      • Jeder Benutzer x
      • Aktiviert x
    • Aufgabe starten: Beim Aufheben der Arbeitsstationssperre
      • Jeder Benutzer x
      • Aktiviert x
  • Aktionen
    • Aktion: Programm starten
    • Programm/Skript: C:\pfad\dienst_restart.bat

Das Skript wird bei einem Login nicht gestartet bzw. es fehlen die Rechte. Ich habe im Reiter Aktionen alles mögliche schon probiert, komme aber nicht auf die Lösung.

Zum System: WIN 7 Professional 64 bit, keine Domäne, soll aber später für Rechner in einer Domäne verwendet werden.

Vielen Dank schon mal.

Content-Key: 269325

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

Printed on: April 24, 2024 at 23:04 o'clock

Member: jsysde
jsysde Apr 16, 2015 at 10:44:20 (UTC)
Goto Top
Mahlzeit.

Und was steht in der mysteriösen Batch-Datei drin?

Cheers,
jsysde
Member: Noxstar
Noxstar Apr 16, 2015 at 10:50:30 (UTC)
Goto Top
In der Aufgabenplanung kannst du den auszuführenden User angeben.
Evtl. ist da eine falsche Einstellung vorhanden?
Member: DerWoWusste
DerWoWusste Apr 16, 2015 updated at 11:30:27 (UTC)
Goto Top
Hi.

Das Skript wird bei einem Login nicht gestartet bzw. es fehlen die Rechte
Sehr vielsagend :| Lies doch mal in der Task History nach, was wirklich passiert und gib es wieder.
Prüfe auch, ob das verwendete Konto PC1\Administrator das Recht "Anmelden als Stapelverarbeitungsauftrag" hat. Ebenso gib bitte zur Sicherheit an, ob PC1\Administrator das Skript manuell korrekt ausführt.
Mitglied: 121416
121416 Apr 16, 2015 at 11:00:24 (UTC)
Goto Top
Die batch habe ich gerade nicht vorliegen, aber diese sieht ungefähr wie folgt aus (Pseudo)

if (ping vpn.public.com == 0) goto error
if (ping gateway.privat.lokal == 1) goto end
if (status dienst == running) net stop dienst && net start dienst)
if (status dienst == stopped) net start dienst
else goto error
Mitglied: 121416
121416 Apr 16, 2015 at 11:03:13 (UTC)
Goto Top
Der user passt. Der Name wurde mit dem Button "Namen überprüfen" überprüft. Ich wurde auch aufgefordert das dazugehörige Passwort einzugeben.
Mitglied: 121416
121416 Apr 16, 2015 at 11:05:23 (UTC)
Goto Top
Danke, werde ich später prüfen.

PC1\Administrator kann manuell korrekt ausführen (als Administrator ausführen).
Member: Noxstar
Noxstar Apr 16, 2015 at 11:09:48 (UTC)
Goto Top
Hmm merkwürdig... Schonmal getestet die .bat einfach in den Autostart zu legen?
Mitglied: 121416
121416 Apr 16, 2015 at 11:14:56 (UTC)
Goto Top
Dann wird sie doch nicht mit Admin-Rechten ausgeführt
Member: Noxstar
Noxstar Apr 16, 2015 at 11:23:04 (UTC)
Goto Top
Du könntest eine .bat schreiben die mit administratorrechten die andere .bat öffnet :P
Member: Demonix
Demonix Apr 16, 2015 updated at 15:48:22 (UTC)
Goto Top
Moin

Um Batch im taskplaner zu nutzen solltest du nicht die batch aufrufen (ist ja per se kein "programm"), sondern den interpreter mit entsprechenden Argumenten starten.

Mit
cmd.exe /c "c:\pfad\zum\skript.bat"   
sollte das funktionieren.

Gruß
Member: DerWoWusste
DerWoWusste Apr 16, 2015 at 16:04:23 (UTC)
Goto Top
Demonix, wie kommst du darauf? Unnötig.
Member: Demonix
Demonix Apr 16, 2015 at 16:48:03 (UTC)
Goto Top
Ist schon ne weile her. Ziel war die erstellung von täglichen Backups auf unterschiedliche Ziele. System war ein Server 2008R2.

Nachdem so ziemlich alle Möglichkeiten durchprobiert hatten, bin ich auf einen Blogeintrag gestossen in dem exakt dieses Verhalten (auch mit der wbadmin.exe) beschrieben war.

Drei Minuten danach lief es, nehme also an das es daran lag.
Member: Demonix
Demonix Apr 16, 2015 at 17:03:46 (UTC)
Goto Top
So oder ähnlich:

"...This is common with batch files and certain commands, as when they're run from things like Task Scheduler or group policy Scripts, they're run asynchronously by default, which means that quite often the calling process terminates before the actual command has run, and in losing the parent environment, the command often then terminates prematurely..."
"...The "/c" simply instructs the command shell to wait for the provided command to actually terminate itself before closing, meaning the shell environment exists for the duration of the command rather than dropping out from beneath it...."

M$ Technet (Antwort von Lain Robertson)
Member: DerWoWusste
DerWoWusste Apr 16, 2015 at 17:19:48 (UTC)
Goto Top
Ich habe zig Batches in Tasks. Nie habe ich cmd /c voranstellen müssen.
Deinem Thread steht auch nichts davon, dass dies die Situation geändert hätte. Und in Foren, gerade dort im Social.technet wird furchtbar viel Müll geschrieben.

Aber gut, harren wir mal aus, bis meine Fragen beantwortet sind.