外部命令下载进度输出在PowerShell远程会话中写入数十亿行

时间:2019-02-05 06:35:07

标签: powershell powershell-v3.0 powershell-remoting

注意:我不知道是否是这个巧克力特有的问题(可能不是),但这是我可以证明的唯一情况

上下文

我在PowerShell脚本中使用了外部命令(本例为choco)。当命令显示进度时(不是在PowerShell顶部[ooooo ....]),则在最后一行的标准输出中,进度会覆盖自身,因此最终输出始终为一行。

当我在这样的远程上下文中运行相同的脚本时:

Invoke-Command -Session $remoteSession -ScriptBlock {
    & "./myscript.ps1" # <-- This is the script where the external choco executes
}

然后,本地PowerShell输出中充斥着不计其数的一行更新行,如下所示:

  

进度:0%-节省128 KB的43.81 MB
  进度:0%-节省287.99 KB的43.81 MB
  进度:0%-节省432 KB的43.81 MB
  进度:1%-节省591.99 KB的43.81 MB
  进度:1%-节省751.98 KB的43.81 MB
  进度:2%-节省911.97 KB的43.81 MB

这不仅令人不安,而且命令窗口缓冲区也溢出,这是我设置的最大值9999。

问题

是设计使然,还是在远程情况下有关于换行或类似内容的设置?

0 个答案:

没有答案