![]() |
Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
Ich teste gerade das Umleiten der Bildschirmausgabe von Commandline-Tools mit dem üblichen dafür geeigneten Code mit Pipe und stdout.
Zur Zeit kommt ![]() Das funktioniert an sich ganz gut - es sei denn man ruft z.B.: die "gpupdate.exe" damit auf ... Dann passiert folgendes... gpupdate.exe startet -> beendet -> Und zum Schluss gibt es erst die Bildschirmausgabe: Die Richtlinie wird aktualisiert... Die Aktualisierung der Benutzerrichtlinie wurde erfolgreich abgeschlossen. Die Aktualisierung der Computerrichtlinie wurde erfolgreich abgeschlossen. (gpupdate.exe braucht dazu ca. 15 Sekunden) Erwarten würde ich mir (da es auch so in der Eingabeaufforderung ausgegeben wird) ... gpupdate.exe startet -> Gibt "Die Richtlinie wird aktualisiert..." aus -> Und gibt zum Schluss die restlichen Zeilen aus. Für einen Vergleich kann man "ping 127.0.0.1" ausprobieren - Das klappt mit dem Code einwandfrei - hier kommt jede Zeile genau dann rein wie es in der Eingabeaufforderung passiert. Nachtrag: Inzwischen denke ich dass ich die Ursache dafür schon kenne -> (stdout <> console) Wie kann man den Console Output (CON) abgreifen? |
AW: Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
Wieso nimmst du nicht die eigentlich dafür vorgesehene API?
Dieser Workaround mit Umleiten stdout sollte man nur Aufgaben machen in denen es keine API-Schnittstelle gibt. |
AW: Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
Ich suche keinen Workaround konkret zur gpupdate.exe (Du hast recht, dafür gibt es besserer Wege)...
Das Problem gibt es auch bei anderen commandline-tools (3rd Party, zu denen es keine API gibt) und tlw. werden einige Bildschirmausgaben gar nicht an die stdout (oder stderr) umgeleitet. Inzwischen denke ich dass ich die Ursache dafür schon kenne -> (stdout <> console) Zur Veranschaulichung habe ich folgendes Batch-File ausgegraben:
Code:
Bisher ist es mir nur möglich stdout und stderr abzufangen, wie komme ich nun aber an CON, dem "console output" heran?
ECHO OFF
ECHO Standard Output (stdout) ECHO Standard Error (stderr) 1>&2 ECHO console output >CON |
AW: Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
Das Hauptproblem bei gpupdate.exe ist, dass das asynchron ausgeführt wird.
Das wurde irgendwann mal geändert, da sonst die Anmeldung zu lange dauerte. Es gibt einen Parameter /sync , aber ob der das Gewünschte erfüllt ... ausprobieren |
AW: Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
Das löst das Problem nicht - weder im Bezug auf die gpupdate, noch auf die eigentliche Problematik
|
AW: Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
Zitat:
|
AW: Verzögerte Ausgabe beim Umleiten von stdout bei gpupdate.exe
:-) Ja, ich bin auch dankbar für Lösungsvorschläge, allerdings wusste ich ehrlich gesagt bei der Erstellung des Beitrags nicht so recht wie ich das Problem angehen soll ohne ein Beispiel (gpupdate.exe) einzubringen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz