是否可以使用Powershell将可执行文件的输出重定向到Websocket服务器?我尝试使用Tee-Object,但只能输出到文件或变量。
到目前为止,我的websocket和可执行文件是分开工作的,如何将输出传递给websocket客户端?
$WS = New-Object System.Net.WebSockets.ClientWebSocket
$CT = New-Object System.Threading.CancellationToken
$Conn = $WS.ConnectAsync("localhost:8080", $CT)
While (!$Conn.IsCompleted) { Start-Sleep -Milliseconds 100 }
#How do I continue here?
$WS.SendAsync(...)
myprocess.exe | Tee -Variable ...
答案 0 :(得分:1)
我认为myprocess.exe正在生成您想通过WS发送的消息。要捕获并发送这些消息,您可以使用foreach:
myprocess.exe | foreach { $WS.SendAsync($_) }
您还可以创建自己的cmdlet,以接受来自管道的输入
function Send-WS { begin { ...define $WS} process { $WS.Send } End { ..do smth at the end} }
myprocess.exe | Send-WS