PowerShell bietet mit dem Transcript-Befehl eine nach meiner Meinung sehr effektive und elegante Möglichkeit an, die Ausgaben von Befehlen an STDOUT und STDERR auf zu zeichnen. Leider klappt das mit externen Befehlen welche aus dem PowerShell-Script heraus aufgerufen werden nicht zuverlässig. Eine Lösung hier ist die Ausgabe von STDOUT und STDERR nach Transcript um zu leiten.
Hier mal ein Beispiel-Code dazu:
$ErrorActionPreference="SilentlyContinue" Stop-Transcript | out-null $ErrorActionPreference = "Continue" $Log = "C:\Temp\output.log" Start-Transcript -Path $Log -Append # Umleiten von STDOUT und STDERR (2>&1) nach transcript: befehl.exe 2>&1 | out-host Stop-Transcript
Dieser Workaround hat mir neulich bei einem Script sehr geholfen!
Enjoy it, b!