Ich stehe vor einem seltsamen Problem. Ich habe eine Aufgabe geplant, um eine Batchdatei zu starten. Wenn ich die Aufgabe mit Option ausführe, Run only when user is logged on
funktioniert alles einwandfrei. aber ich möchte diese Aufgabe im Hintergrund ausführen und daher führe ich sie mit der Option aus Run whether user is logged on or not
. Wenn ich jetzt die Aufgabe starte, funktioniert sie nicht. Ich bekomme folgende 2 Fehler. Ich verstehe diesen Fehler nicht. Bitte helfen Sie mir, dieses Problem zu beheben.
Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.
Antworten:
Ich hatte das gleiche Problem.
Die Lösung für mich wurde im Microsoft KB-Artikel 2452723 gefunden:
Geplante Aufgaben ab Windows Vista können nicht ausgeführt werden, wenn der Pfad im Feld "Start in (optional)" in Anführungszeichen steht
Bearbeiten Sie grundsätzlich Ihre geplante Aufgabe und entfernen Sie die Angebote aus dem Feld Start In:
So erhalten Sie die entsprechende Fehlermeldung:
1) Konvertieren Sie 2147942667 in hex: 8007010B
2) Nehmen Sie die letzten 4 Ziffern (010B) und konvertieren Sie in Dezimalzahlen: 267
3) Führen Sie Folgendes aus: net helpmsg 267
4) Ergebnis: "Der Verzeichnisname ist ungültig."
quelle
Run whether user is logged on or not
der Ausführung mit der Option habe ich einen anderen Benutzer zum Ausführen der Anwendung verwendet. Dieser neue Benutzer hatte keine entsprechenden Berechtigungen zum Lesen der Daten und damit des Fehlers. Vielen Dank."C:\Some Path\"
, ist das falsch, weil es Anführungszeichen hat. Es muss "C: \ Some Path" (ohne Anführungszeichen) stehen.Für mich war es das "Start In" - ich habe die Werte von einem älteren Server kopiert und den Pfad zum neuen .exe-Speicherort aktualisiert, aber ich habe vergessen, den "Start in" -Standort zu aktualisieren - wenn er nicht vorhanden ist, Sie bekomme auch diesen Fehler
Zitieren des Kommentars von @ hans-passant von oben, da es für das Debuggen dieses Problems hilfreich ist:
quelle
Dies kann aus mehreren Gründen geschehen. In meinem Fall geschah dies aufgrund eines Berechtigungsproblems. Der Benutzer, unter dem die Aufgabe ausgeführt wurde, hatte keine Berechtigung zum Schreiben in das Protokollverzeichnis, sodass dieser Fehler fehlschlug.
quelle
Ich hatte das gleiche Problem unter Windows 7.
Ich habe den Fehler 2147942667 und den Bericht erhalten, dass c: \ windows \ system32 \ CMD.EXE nicht ausgeführt werden kann. Ich habe es mit und ohne doppelte Anführungszeichen im Skript und im Start-in versucht und es machte keinen Unterschied. Dann habe ich versucht, alle Pfadreferenzen zu zugeordneten Netzwerklaufwerken und durch UNC-Referenzen (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd) zu ersetzen, und das hat es für mich behoben. Klopfen.
quelle
Um eine allgemeinere Antwort zu erhalten, konvertieren Sie den Fehlerwert in hexadezimal und suchen Sie den hexadezimalen Wert unter Windows Task Scheduler-Fehler- und Erfolgskonstanten
quelle
2147942667
in HEX zu konvertieren :0x8007010B
. Dieser Wert wird in dem von Ihnen angegebenen Link nicht angezeigt. Natürlich nur zu Ihrer Information.2147942667 in hex
. Google ist jetzt auch ein Taschenrechner.Für mich war es das "Start In" - ich bin versehentlich in der '.py' am Ende des Namens meines Programms abgereist. Und ich habe vergessen, den Namen des Ordners groß zu schreiben, in dem er sich befand ('Apps').
quelle
Für mich lag dies an der Umgebungsvariablen Benutzer PATH, die nicht zu funktionieren schien, obwohl der Benutzer korrekt war. Daher musste ich den gesamten ausführbaren Pfad in das Programmfeld einfügen.
quelle