web-dev-qa-db-de.com

batchdatei von geplanter Task gibt Code 2147942401 zurück

Ich versuche, einen Job zum Ausführen einer Batchdatei mit Windows 10 Task Scheduler zu planen, aber der Job führt zum Rückkehrcode 2147942401.

Die Batch-Datei befindet sich an einem entfernten Ort, daher gebe ich den absoluten Pfad an
"\\ Server1\Dateiübertragungen\Datendateien\eingehend\abc\csv\Excel-to-csv.bat"

Wenn ich das Stapelskript mit der Eingabeaufforderung ausführe, funktioniert es einwandfrei.  Properties - General  Actions - Edit Action

Das Stapelskript dient zum Konvertieren von Excel in eine Datei in eine CSV-Datei.

Inhalt des Skripts ist:

FOR /f "delims=" %%i IN ("\\server1\file transfers\Data Files\Inbound\abc\CSV\*.xlsx" ) DO to-csv.vbs  "\\server1\file transfers\Data Files\Inbound\abc\*.xlsx" "%%~ni.csv"

Es ruft ein anderes VB Skript auf, das to-cvs.vbs ist.

Wenn ich Änderungen in der Registerkarte "Aktion" vornehme, wie von @Steinspecht erwähnt (Taskplaner-Task mit Beendigungscode 0x8007001 "erfolgreich" abgeschlossen), erhalte ich auch den Code 2147942401 Ich bin nicht sicher, ob "Argumente hinzufügen" richtig geschrieben ist enter image description here

2
Sbanga

Die Fehlercodes für Task Scheduler sind als hexadezimal bei msdn aufgeführt, und Ihr Code 2147942401 konvertiert in Hexadezimal als 0x80070001 (das dort nicht aufgeführt ist), aber dieser Superuser beschreibt es als "ungültige Funktion". Er behebte sein Problem, indem er "die einfachsten Task-Scheduler-Einstellungen verwendete und jetzt funktioniert". Ich stelle fest, dass er seine Aufgabe nur ausführt, wenn der Benutzer angemeldet ist. Daher muss er nicht als Batch-Job anmelden.

Wenn Sie den Batch-Job ausführen möchten, wenn Sie nicht angemeldet sind, benötigen Sie eine spezielle Berechtigung mit dem Namen "Als Batch-Job anmelden". Beachten Sie, dass es auch ein Privileg "DENY als Batch-Job anmelden" gibt, das Sie nicht möchten.

Über Social Technet können Sie dieses Privileg mit zuweisen

  • Geben Sie secpol.msc/s ein.
  • Wählen Sie im Snap-In MSC "Local Policies" aus
  • Wählen Sie "User Rights Assignment" aus.
  • Klicken Sie mit der rechten Maustaste auf "Als Batch-Job anmelden" und wählen Sie Eigenschaften
  • Klicken Sie auf "Benutzer oder Gruppe hinzufügen" und fügen Sie den entsprechenden Benutzer hinzu.

 Local Security Policy Snap-In

Ihre Aufgabe ruft eine Netzwerkressource auf. Diese Powershell-Scripter empfehlen, diese Ressourcen auf Ihrem lokalen Computer zu installieren, um mögliche Netzwerk-, Konnektivitäts- und Berechtigungsprobleme zu vermeiden.

2
woodvi

Eine alte Frage, die ich kenne, aber ich bekam 2147942401 Fehler auf Windows 2016 Server.

Wenn Sie sich die Eigenschaften für geplante Tasks unten auf der Registerkarte "Allgemein" ansehen, war standardmäßig "Konfigurieren für" ausgewählt: Windows Vista, Windows Server 2008.

Geändert auf Windows Server 2016 und das Problem wurde behoben.

1
user3507000

Auslösen einer weiteren häufigen Ursache für die Fehleraktion "powershell.exe" with return code 2147942401 Hier. Wenn Ihre Aktionsargumente nicht korrekt sind, wird diese Fehlermeldung ebenfalls angezeigt. Überprüfen Sie, ob die Aktionsargumentparameter und Parameterwerte den richtigen Abstand haben.

Gutes Beispiel:

-executionpolicy bypass -file "C:\Scripts\ImportFiles.ps1"

Defektes Beispiel (kein Leerzeichen zwischen dem Parameter 'file' und seinem Wert):

-executionpolicy bypass -file"C:\Scripts\ImportFiles.ps1"
1
BrianCanFixIT

Die Antwort von M. Herbener führte dazu, dass ich versuchte, das Skript manuell auszuführen, um festzustellen, ob das Skript einen Fehler aufwies. Es tat nicht, aber es hob hervor, was das Problem war, als ich die Fehlermeldung empfing:

[Mein Skript] kann nicht geladen werden, da das Ausführen von Skripten auf diesem System deaktiviert ist.

Die Lösung bestand natürlich darin, Set-ExecutionPolicy auszuführen, damit Powershell-Skripts ausgeführt werden können.

0
paulH

Dieser Fehlercode kann auch aus einem Fehler/Fehler im eigentlichen Powershell-Skript resultieren, auch wenn alle Einstellungen, Berechtigungen usw. des Aufgabenplaners korrekt sind. In meinem Fall habe ich auf ein Verzeichnis verwiesen, das nicht existiert.

0
M Herbener