Sie versuchen, einen DOS-Befehl an einen anderen DOS-Befehl in der PowerShell-Pipeline weiterzuleiten. Das ist wirklich keine Sache, die Sie tun können. Die Pipe in CMD.exe stimmt nicht mit der Pipe in PowerShell überein.
Für die Verwendung einer externen .exe-Datei in PowerShell ist in den meisten Fällen eine besondere Überlegung und die Verwendung des Parameters -Arguments erforderlich, um alle Schalter zu behandeln.
Details finden Sie hier:
PowerShell: Ausführen von ausführbaren Dateien
Es gibt verschiedene Methoden zum Ausführen von ausführbaren Dateien sowie zum Aufrufen von Code. Woher wissen Sie, welche Sie für den Job verwenden sollen? Hier ist eine Übersicht der Methoden mit Beispielen und allgemeiner Verwendung.
https://social.technet.microsoft.com/wiki/contents/articles/7703.powershell-running-executables.aspx
http://edgylogic.com/blog/powershell-and-external-commands-done-right
Piping bedeutet, dass Sie ein anderes Cmdlet übergeben und ein anderes Objekt oder die Ergebnisse eines Cmdlets an ein anderes Cmdlet ablehnen. In der Pipeline können Sie nur nach Eigenschaft oder nach Wert abgleichen.
Noch genauer hier:
Zwei Möglichkeiten, Pipeline-Eingaben in PowerShell zu akzeptieren
Eine Pipeline in PowerShell besteht aus einer Reihe von Werten, Ausdrücken, Befehlen oder Cmdlets, die mit dem Pipe-Operator (|) kombiniert werden, um die Ergebnisse eines Befehls oder Ausdrucks an den nächsten zu senden. Diese Ergebnisse werden als Objekte oder Objekteigenschaften durch die Pipeline gesendet, nicht nur als Text von der Windows-Befehlskonsole (cmd.exe) oder bestimmten anderen Nicht-PowerShell-Methoden. Wenn die Ergebnisse aus einem Array von Objekten bestehen, werden diese Objekte nacheinander durch die Pipeline gesendet.
Was Sie hier haben, sind zwei völlig getrennte Befehle. Im PowerShell-Konsolen-Host würden Sie dies stattdessen tun ...
C:\Users\mne\Desktop\plink.exe -ssh -pw abc root@myhost "tcpdump -w - -U -i vethf90673c 'port 5000'" ; C:\Program Files\Wireshark\Wireshark.exe -k -i
Dieses Semikolon teilt PowerShell mit, dass dies separate Befehle sind, die sich zufällig in derselben Zeile befinden. Führen Sie sie also so aus, als wären sie in separaten Zeilen. Dieser Semikolon wird häufig verwendet, wenn Leute im Powershell-Konsolen-Host oder in der Powershell_ise einen Liner ausklammern.