CMD-Script wird nur teilweise ausgeführt

conf_t

Admiral
Registriert
Juni 2008
Beiträge
9.334
Hallo,

ich habe hier ein CMD-Skript, dass per Geplanter Tasks (Adminberechtigung) ausgeführt wird. Mein Problem ist, dass z.B. der Befehl
Code:
C:\Windows\System32\cmd.exe /C taskkill /F /im javaw.exe
Bestandteil ist. Wenn ich ihn händisch eingebe funktioniert er wunderbar, aber in dem geplanten Task geht er nicht mehr. Da rührt sich einfach nicht.

Ich möchte gerne ein kurzes "Info-Popup" aufrufen lassen, bevor der Prozess gekillt wird. Hier genau das gleiche, ob ich es als Eingabeaufforderungspopup oder auch einfach als notepad aufrufe, per CMD geht's als geplanter Task rührt sich nichts. Dass aber genügend Berechtigung für den Task da sind zeigt, dass ich z.B. Installationen im gleichen Skript durchführen kann.

Weiß da jemand weiter?

Auch wenn ich den einzelnen Befehl als einzelne Aufgabe im Task definiere ändert sich nichts.
 
Etwas mehr Infos wären hilfreich.
Eventuell liegt es einfach an ein einem fehlenden oder falschen Pfad? Das könnte man beheben, indem man die Verzeichnisse der benötigten Befehle in PATH mit aufnimmt.
 
Hi,
hast du das Script mal als .bat ausgeführt? Funktioniert es, wenn du es manuell aufrufst, oder hast du nur die einzelnen Befehle getestet?
z.B. Installationen im gleichen Skript durchführen kann
Klingt nach einer längeren Prozedur. Hast du lang genug gewartet? Lass dir doch Testweise nach jeder Zeile etwas in eine Log-Datei schreiben und schaue dann, wo das Script genau hängen bleibt. Eventuell erreicht das Script den Befehl ja nie!

mfg
BassT
 
welchen User benutzt du für den "geplanten Task"
du schreibst nur was von Adminberechtigungen, wenn du einen anderen User als den gerade eingeloggten benutzt, siehst du keine messages bzw. sonstige Gui elemente
 
Hallo,

ein Hinweis weils mir grad auffällt:

jawaw.exe

In welchem Pfad soll sich die befinden? Mit deinem User haste PATH .... aber bei geplante Tasks bist du Benutzer SYSTEM .... gib da mal den kompletten Pfad mit an.

Gruß,
d2boxSteve
 
Hi, erstmal Danke für das lesen!

@ BassT:
Nicht ich schrieb:
Wenn ich ihn händisch eingebe funktioniert er wunderbar, aber in dem geplanten Task geht er nicht mehr.
Ich glaube damit ist dein Beitrag beantwortet. Ich habe das Skript als ".cmd" abgelegt. Kann sie als Admin (anderer User als der mit dem ich eingeloggt bin) aufrufen und alles funktioniert! Rufe ich das Skript über geplante Tasks auf, wird nicht alles ausgeführt.z.B. xcopy geht, Silentinstalls gehen, taskkill oder das aufrufen eines Textfiles im Notepad gehen nicht.

@ the_nobs: Das ist der lokale Admin. Das mit der Gui-Geschicht könnte natürlich ein Grund sein. Das werde ich mal prüfen.
@ d2boxSteve: Du kennst die Referenzen für den Befehl taskkill? "/im javaw.exe" gibt den Prozessnamen an (nicht den Dateipfad), als PID ginge es auch, aber die ist ja nicht statisch.
 
Zuletzt bearbeitet:
Hi,

gut ... wo liegt dann der Befehl taskkill ? Ich seh nur bei CMD einen Pfad ...

Gruß,
d2boxSteve
 
OK.

also entweder liegt es am User oder was du noch probieren kannst und was auch d2boxSteve meint:
Code:
C:\Windows\System32\cmd.exe /C C:\Windows\System32\taskkill.exe /F /im javaw.exe

mfg
BassT
 
Ok.

Ich habe jetzt erstmal was anderes ausprobiert, da man ja auch mehrer Programme innerhalb des geplanten Tasks aufrufen kann, habe ich meine Kill-Befehl dort einzeln reingesetzt und da geht es jetzt. Mit dem vollständigen Pfad, wie BassT ihn gepostet hat.

Jedenfalls danke für die Hilfe.

Kann sein, dass ich noch mal eine Frage habe.


Ergänzung ()

Gut und dann hätte ich da noch eine Frage:

Kennt ihr eine Möglichkeit, wie ich ein Pop-up mit einem Warnhinweis mit Boardmitteln erzeugen kann? Natürlich für alle angemeldeten User. Bei Google finde ich immer nur VB-Scripte.

Ergänzung ()

Ok, hab jetzt doch ein VB-Script genommen, der Aufruf aus dem CMD funktioniert, aber jetzt habe ich wieder das Problem wie mit Taskkill. Aufruf in geplante Task:
Code:
C:\Windows\System32\cmd.exe /C C:\WINDOWS\SYSTEM32\CSCRIPT.exe d:\MSG.vbs

Jedenfalls bleibt der Task stehen, auch wenn ich als "Admin" eingeloggt bin (User unter dem der Task läuft) und den Task ausführe kommt keine Nachricht.

Der Aufruf des Scripts über eine Batchdatei hilft auch nicht :/

Das Script ist simpel:
Code:
MsgBox ("Warnung! Blablabla.... ")

Letzter Eintrag im Eventlog:

Die Aufgabenplanung hat die Aufgabe "\geplanteAufgabe", Instanz "C:\WINDOWS\SYSTEM32\CSCRIPT.exe" mit der Prozess-ID 4364 gestartet.

Der Prozess csript.exe läuft auch unter dem "admin" Kontext. Allerdings bekomme ich keine Msgbox, obwohl ich als "admin" angemeldet bin. Und dann passiert nix mehr.

Wenn ich den Prozess beende, wird dem Taskscheduler entsprechend eine "1" für "ok" zurückgegeben.
Ergänzung ()

Es ist schon irgendwie ein User Problem, wenn in mit meinem normalen Usernamen anmeldet und den Task anlege und ihn unter meinem User ausführe geht's, nur soll das ja auch für andere User gehen.


Ich führe die Tasks einfach verschachtelt aus, der mit den höchsten Privilegien startet die anderen an entsprechender stelle.
 
Zuletzt bearbeitet:
Zurück
Oben