PsExec umleiten der Ausgabe und Fehler erzeugt, indem der Befehl nicht funktioniert
Ich habe eine Konsolenanwendung, die nicht mit diesem
class Program
{
static void Main(string[] args)
{
Console.WriteLine("out");
Console.Error.WriteLine("err");
Environment.ExitCode = 5;
}
}
Wenn ich oben in der cmd-Eingabeaufforderung bekomme ich folgende
C:\>C:\pstools\test\outnerr.exe >C:\pstools\test\out1.log 2>C:\pstools\test\err1.log
C:\>echo %errorlevel%
5
C:\>type C:\pstools\test\out1.log
out
C:\>type C:\pstools\test\err1.log
err
C:\>
das ist, was erwartet wird.
Nun, wenn ich dies ausführen im Fenster Ausführen
cmd /c C:\pstools\test\outnerr.exe >C:\pstools\test\out2.log 2>C:\pstools\test\err2.log
Funktioniert das auch und schafft out2.anmelden und err2.log.
Nun, wenn, Wenn ich mit psexec ausführen die gleichen. Ich möchte eine log-Datei erstellen. Es spielt keine Rolle, wenn es erstellt auf dem lokalen Computer oder remote-Maschine.
Also habe ich diesen Befehl ausführen
C:\pstools\test\psexec.exe \\127.0.0.1 cmd /c C:\pstools\test\outnerr.exe >C:\pstools\test\out3.log 2>C:\pstools\test\err3.log
Diese nicht erstellen von log-Dateien, wenn Sie ausgeführt vom " Run " - Fenster. Aber gleiche funktioniert auch, wenn die Ausführung von der Eingabeaufforderung aus.
Was ich ändern muss in der oben zu machen, erstellen von log-Dateien aus Ausführen-Fenster ?
PS ich habe gelesen, dass viele threads hier und über das internet über die Umleitung Problem mit PsExec. Ich bin mir der Tatsache bewusst, dass PsExec manipuliert-streams für remote-Operationen interaktiv. Vielleicht ist das der Grund für diese einfache Sache nicht funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit xCmd.exe das ist eine alternative zu psexec die leitet den remote-Ausgang an der lokalen Konsole, von wo aus der code ausgeführt wird. Ich habe versucht zu mischen, JAVA + PSEXEC sehr schlechte Kombination. Aber habe gute Ergebnisse mit xcmd.exe aber ein Haken ist, dass es funktioniert gut mit 32-bit-OS uptil win 2k8. Von win7 ab das funktioniert nicht so gut.
Können Sie die -lo option zu schreiben PSExec Ausgabe in Datei
Synopsys:
Beispiel: