Situation
Ich habe ein Batch-Skript, das einige Dateien vorbereitet, ein Programm ( .exe
) ausführt und diese Dateien dann löscht.
Diese Aufgabe sollte stündlich ausgeführt werden, daher versuche ich, dies mithilfe von geplanten Aufgaben zu konfigurieren. Das Problem ist, dass das zuvor erwähnte Programm .bat
beim Aufrufen von der Task aus (weder über das Skript noch beim .exe
direkten Aufrufen der ) nicht ordnungsgemäß ausgeführt wird , aber in den Protokollen keine Warn- oder Fehlermeldungen angezeigt werden.
Installieren
Der Task ist so konfiguriert, dass er als Windows-Dienstkonto ausgeführt wird, für das alle Berechtigungen ordnungsgemäß festgelegt wurden. Wenn ich mich mit diesem Konto über RDP anmelde, kann ich das .bat
und .exe
direkt ohne Probleme ausführen , aber die Aufgabe scheint immer noch nichts zu tun. Dies ist leicht zu beobachten, da das Programm eine Datei immer ändert und sich der geänderte Zeitstempel während der Task nicht ändert.
In den geplanten Aufgabenprotokollen erhalte ich die Informationsmeldungen für die Aufgabe, die einen Prozess startet, beendet usw. Der "Ergebniscode" ist jedoch 111
(versucht dies ohne Glück zu googeln, die einzige Zuordnung, die ich erhalte, ist "Dateiname ist zu lang ", was für AFAIK einfach völlig irrelevant ist). In den Anwendungsprotokollen bekomme ich absolut nichts.
Was ich vermute, ist das Problem
Das Programm ist eine alte Monstrosität, die eine Art Begrüßungsbildschirm erzeugt (es ist eigentlich ein normales Fenster), obwohl die GUI nicht benötigt wird, weil sie keine Interaktion erfordert und sich nach Operationen selbst schließt. Das Fenster wird ca. 2 Sekunden lang angezeigt.
Ich vermute, dass diese Anforderung für eine GUI etwas mit dem Fehlschlagen der Aufgabe zu tun hat, bin mir aber nicht sicher. Wenn ich mich mit dem Benutzer anmelde, unter dem die Aufgabe ausgeführt wird (über RDP), wird beim Starten der geplanten Aufgabe kein Fenster angezeigt.
Bearbeiten Sie über die GUI
Ich habe eine sehr kleine ausführbare C # -Datei erstellt, die das Programm ohne das Hauptfenster startet (mit ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden
). Auch auf diese Weise kann der geplante Task das Programm nicht ordnungsgemäß starten, der Rückkehrcode lautet jedoch jetzt 0
.
Aktualisieren
Wenn ich die Task so konfiguriere, dass sie "Ausführen, ob der Benutzer angemeldet ist oder nicht" sagt und die run with highest privileges
Option deaktiviert ist , lautet der Fehlerwert 2147943859
.
Was kann ich tun, um Fehler zu beheben?
Betriebssystem = Windows Server 2008 R2 SP1
Wenn weitere Informationen benötigt werden, lassen Sie es mich in den Kommentaren wissen.
.exe
"Programm" mit Parametern aus einem Skript heraus gestartet wird, muss die Eingabe ordnungsgemäß als Argument bereitgestellt werden.