Вывод прогресса загрузки внешней команды записывает миллионы строк в удаленном сеансе PowerShell - PullRequest
0 голосов
/ 05 февраля 2019

Примечание: я не знаю, является ли эта проблема специфичной для шоколада или нет (вероятно, нет), но это единственный сценарий, когда я могу продемонстрировать ее

Контекст

Я использую внешнюю команду (в данном случае choco) в моем скрипте PowerShell.Когда команда отображает прогресс (не с PowerShell top [ooooo ....]), тогда в стандартном выводе в последней строке сам ход выполнения перезаписывается, поэтому конечный вывод всегда равен одной строке.

Когда я запускаютот же сценарий в удаленном контексте, подобный этому:

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

, затем локальный вывод PowerShell заполняется миллионами отдельных строк одной строки обновления, например:

Ход выполнения: 0% - Экономия 128 КБ из 43,81 МБ
Прогресс: 0% - Экономия 287,99 КБ из 43,81 МБ
Прогресс: 0% - Экономия 432 КБ из 43,81 МБ
Прогресс: 1% - Экономия 591,99 КБ из 43,81 МБ
Прогресс: 1% - экономия 751,98 КБ из 43,81 МБ
Прогресс: 2% - экономия 911,97 КБ из 43,81 МБ

Это не только беспокоит, но и переполняет командуКроме того, в окне буфера, что я установил максимум 9999.

Вопрос

Это дизайн или есть что-то для новой строки или аналогичных в удаленном случае?

...