2017-11-16 5 views
0

Ich melde mich in einer Remote-SSH-Sitzung mit plink.exe an, um bestimmte Aufgaben mit einem Batch-Skript auszuführen. Die Ausgabe dieser Befehle in einer Protokolldatei sowie auf dem Bildschirm ist für mich sehr wichtig.Anmelden in lesbarer Plink-Ausgabe (sshlog ist zu schwerfällig)

Ich versuchte mit üblichen Batch-Weg, z. B. "plink Servername -m cmd.txt> logfile.log" Weg, aber das Problem damit ist, dass es nicht auf dem Windows-Terminal angezeigt wird, dass das Batch-Skript läuft.

Dann fand ich die Option -sshlog von Plink. Dies macht die Arbeit, ie.e ich kann ge tthe Ausgabe aber auf dem Bildschirm und in einer Protokolldatei, aber dies führt in der Ausgabe wie folgt:

enter image description here

Meine tatsächliche Leistung beginnt bei „te .... "Im Bild oben Die Ausgabe hat diese" 00000010 74 65 72 ... "bla bla Zeichen, die ich nicht will. Plus die Hauptausgabe (die angezeigt würde, wenn ich plink interaktiv verwendete, ist "Wort-eingewickelt" und sieht schrecklich aus, das es sehr schwierig macht, für einen allgemeinen Benutzer zu verstehen

Gibt es eine Möglichkeit, zu verhindern, dass plink Ausgang unerwünschtes 'sshlog 'Zeichen in der Log-Datei? oder gibt es eine andere Möglichkeit, die Ausgabe auf dem Bildschirm zu erhalten und melden Sie sich gleichzeitig in einer Plink/Kitt Sitzung in einem Batch-Skript fehlschlagen?

Antwort

0

Betrachten tee tool oder PowerShell Tee-Object cmdlet oder ähnliches verwendet wird.

powershell "plink servername -m cmd.txt | Tee-Object logfile.log" 

Es wird eine Ausgabe auf dem Bildschirm angezeigt, aber gleichzeitig in einer lokalen Datei gespeichert.

Siehe auch Displaying Windows command prompt output and redirecting it to a file.

+0

Ich kann kein anderes externes Programm als Windows-Terminal verwenden. Aber danke, ich denke, deine Antwort sagt mir, dass ich Windows Powershell verwenden könnte. PS Ich bin ein totaler Noob – Abhi

+0

Ja, Sie können auch PowerShell 'Tee' Cmdlet verwenden. Siehe meine bearbeitete Antwort. –

Verwandte Themen