Batch Skripte bleiben hängen
Hallo,
ich habe hier einen Windows Server 2019 auf dem einige Batch Skripte als Admin laufen.
Diese Skripte starten andere Programme oder kopieren, oder löschen.
Also eine Vielzahl von unterschiedlichen Aufgaben.
Das Ganze wird über die Aufgabenverwaltung gestartet.
Seit einiger Zeit bleiben aber einige oder teilweise auch alle Skripte einfach hängen.
Ich sehe das cmd Fenster und es geht nicht weiter.
Klicke ich hinein, läuft das Skript weiter, ansonsten steht es wohl ewig und drei Tage.
Das seltsame ist, dass das Hängen an unterschiedlichsten Punkten stattfindet.
Ich hatte schon die Vermutung, dass die Batch auf das Beenden eines anderen Skriptes wartet.
Aber auch Skripte, die nie warten müssen, bleiben ab und zu einfach hängen.
Ich habe keine Ahnung wo ich da anfangen kann, den Fehler zu suchen und wäre über etwas Hilfe sehr dankbar.
Gerne kann ich weitere Infos liefern.
Ciao
AS-N
ich habe hier einen Windows Server 2019 auf dem einige Batch Skripte als Admin laufen.
Diese Skripte starten andere Programme oder kopieren, oder löschen.
Also eine Vielzahl von unterschiedlichen Aufgaben.
Das Ganze wird über die Aufgabenverwaltung gestartet.
Seit einiger Zeit bleiben aber einige oder teilweise auch alle Skripte einfach hängen.
Ich sehe das cmd Fenster und es geht nicht weiter.
Klicke ich hinein, läuft das Skript weiter, ansonsten steht es wohl ewig und drei Tage.
Das seltsame ist, dass das Hängen an unterschiedlichsten Punkten stattfindet.
Ich hatte schon die Vermutung, dass die Batch auf das Beenden eines anderen Skriptes wartet.
Aber auch Skripte, die nie warten müssen, bleiben ab und zu einfach hängen.
Ich habe keine Ahnung wo ich da anfangen kann, den Fehler zu suchen und wäre über etwas Hilfe sehr dankbar.
Gerne kann ich weitere Infos liefern.
Ciao
AS-N
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 590100
Url: https://administrator.de/contentid/590100
Ausgedruckt am: 18.11.2024 um 03:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
Es wäre hilfreich, wenn du vielleicht mal ein Skript hier postest und ggf. erklärst was das Skript machen soll, wie es gestartet wird und an welcher Stelle es sich aufhängt. Da du schreibst, dass sie sich an unterschiedlichen Punkten aufhängen, hast du ja offenbar schon den Punkt im Skript gefunden wo es nicht weiter geht.
Es wäre hilfreich, wenn du vielleicht mal ein Skript hier postest und ggf. erklärst was das Skript machen soll, wie es gestartet wird und an welcher Stelle es sich aufhängt. Da du schreibst, dass sie sich an unterschiedlichen Punkten aufhängen, hast du ja offenbar schon den Punkt im Skript gefunden wo es nicht weiter geht.
Hi,
ich schätze mal, die Ursache bist Du selbst.
D.h. die Aufgaben starten die CMD, nur wenn der Benutzer angemeldet ist, also interaktiv.
Nun ist es sicher lästig, wenn man gerade arbeitet und da eine CMD aufpoppt. Was macht man? Man klickt rein. Und damit stoppt die Batch.
Oben links in der Fenstertitelleiste sollte dann stehen: "Auswählen" und danach der Rest des Fenstertitels.
Achte da mal drauf, wenn wieder einmal eine Batch hängt.
E.
ich schätze mal, die Ursache bist Du selbst.
D.h. die Aufgaben starten die CMD, nur wenn der Benutzer angemeldet ist, also interaktiv.
Nun ist es sicher lästig, wenn man gerade arbeitet und da eine CMD aufpoppt. Was macht man? Man klickt rein. Und damit stoppt die Batch.
Oben links in der Fenstertitelleiste sollte dann stehen: "Auswählen" und danach der Rest des Fenstertitels.
Achte da mal drauf, wenn wieder einmal eine Batch hängt.
E.
Sorry, wenn ich das so schreibe, aber wenn ich schon GOTO lese anstatt einer IF-Anweisung, da stehen mir die Nackenhaare hoch. Aber ich hab bestimmt auch Skripte wo andere so was denken, nur halt nicht mit goto ;) Frage dazu: WWenn du schon in Zeile 28 eine IF-Anweisung hast, wieso legst du nicht gleich den Befehl bzw. die Befehle die dann ausgeführt werden sollen an die Stelle. Dann sparst du dir das ganze Goto und musst im Skript nicht hin und her springen, sondern kansnt es von oben nach unten einfach lesen ;)
Verständnisfrage aber nochmal dazu:
Das Skript wird als geplanter Task im Hintergrund ausgeführt. Ok. Aber: Wieso dann der Echo-Befehl in Zeile 25? Du gibst etwas aus, aber das Ergebnis wird nur angezeigt, nciht gespeichert und spielt (in meinem Verständnis) für den weiteren Verlauf keine Rolle. Die anderen Echo-Befehle leitest du ja in eine Datei um, da verstehe ich es noch.
Ja was denn nun? Wenn das Skript nur läuft, wenn der User angemeldet ist, dann kann auch jemand reinklicken. Wenn du der einzige bist und dich nur für das Skript anmeldest, wieso startest du das Skript dann nicht per Hand?
Wenn das Skript nur läuft wenn jemand angemeldet ist, was macht das Skript, wenn du es händisch startest? Was passiert, wenn du das Skript als Admin oder System ausführst. Sehe da jetzt keine serverübergreifenden Befehle und wenn alles lokal ist, wieso dann unter einem speziellen User?
Ich persönlich würde das ganze auf PowerShell portieren. Die Ermittlung des Wochentages ist dadurch zum Beispiel um einiges einfacher, aber das ist meine persönliche Meinung ;)
Verständnisfrage aber nochmal dazu:
Das Skript wird als geplanter Task im Hintergrund ausgeführt. Ok. Aber: Wieso dann der Echo-Befehl in Zeile 25? Du gibst etwas aus, aber das Ergebnis wird nur angezeigt, nciht gespeichert und spielt (in meinem Verständnis) für den weiteren Verlauf keine Rolle. Die anderen Echo-Befehle leitest du ja in eine Datei um, da verstehe ich es noch.
Zitat von @AS-N00:
Ja, das ganze läuft, nur wenn der Benutzer angemeldet ist.
Ich hatte ganz vergessen, es ist ein Terminal Server, und einer der Benutzer ist extra für die ganzen Skripte zuständig.
Da gibt es aber keinen Menschen der da aus Versehen reinklicken kann.
Ja, das ganze läuft, nur wenn der Benutzer angemeldet ist.
Ich hatte ganz vergessen, es ist ein Terminal Server, und einer der Benutzer ist extra für die ganzen Skripte zuständig.
Da gibt es aber keinen Menschen der da aus Versehen reinklicken kann.
Ja was denn nun? Wenn das Skript nur läuft, wenn der User angemeldet ist, dann kann auch jemand reinklicken. Wenn du der einzige bist und dich nur für das Skript anmeldest, wieso startest du das Skript dann nicht per Hand?
Wenn das Skript nur läuft wenn jemand angemeldet ist, was macht das Skript, wenn du es händisch startest? Was passiert, wenn du das Skript als Admin oder System ausführst. Sehe da jetzt keine serverübergreifenden Befehle und wenn alles lokal ist, wieso dann unter einem speziellen User?
Ich persönlich würde das ganze auf PowerShell portieren. Die Ermittlung des Wochentages ist dadurch zum Beispiel um einiges einfacher, aber das ist meine persönliche Meinung ;)
Zitat von @emeriks:
Nun ist es sicher lästig, wenn man gerade arbeitet und da eine CMD aufpoppt. Was macht man? Man klickt rein. Und damit stoppt die Batch.
Oben links in der Fenstertitelleiste sollte dann stehen: "Auswählen" und danach der Rest des Fenstertitels.
Achte da mal drauf, wenn wieder einmal eine Batch hängt.
E.
Nun ist es sicher lästig, wenn man gerade arbeitet und da eine CMD aufpoppt. Was macht man? Man klickt rein. Und damit stoppt die Batch.
Oben links in der Fenstertitelleiste sollte dann stehen: "Auswählen" und danach der Rest des Fenstertitels.
Achte da mal drauf, wenn wieder einmal eine Batch hängt.
E.
Oh Mann, ich wundere mich seit langem, wieso gelegentlich meine Scripte und Dauerpings stehen bleiben.
Jetzt weiß ich es. Danke vielmals. Kann man das vielleicht auch abschalten?
Moin.
So ploppt erst gar kein Fenster mehr auf, in das man rein klicken könnte. Den Output in eine Logdatei schreiben lassen, um prüfen zu können, ob alles einwandfrei läuft und gut ist.
Gruß Thomas
Zitat von @AlbertMinrich:
Oh Mann, ich wundere mich seit langem, wieso gelegentlich meine Scripte und Dauerpings stehen bleiben.
Jetzt weiß ich es. Danke vielmals. Kann man das vielleicht auch abschalten?
Abschalten nein. Was man natürlich machen kann, ist die Skripte über die Aufgabenplanung unabhängig von der Benutzeranmeldung ausführen zu lassen.Oh Mann, ich wundere mich seit langem, wieso gelegentlich meine Scripte und Dauerpings stehen bleiben.
Jetzt weiß ich es. Danke vielmals. Kann man das vielleicht auch abschalten?
So ploppt erst gar kein Fenster mehr auf, in das man rein klicken könnte. Den Output in eine Logdatei schreiben lassen, um prüfen zu können, ob alles einwandfrei läuft und gut ist.
Gruß Thomas