如何显示命令';在不淹没PowerShell控制台的情况下恢复输出?

如何显示命令';在不淹没PowerShell控制台的情况下恢复输出?,powershell,Powershell,我正在从.ps1安装脚本运行静默SQL安装程序。SQL安装程序设置为/Quiet和/DisplayProgress。我最近将它发送到一个新的控制台窗口,以显示输出,但不会淹没控制台,但最近我通过Enter PSSession在其中进行了切换,因此我不会看到新窗口 是否有一种方法可以使用写入进度或其他方法一次显示6行滚动行?您可以尝试以下方法: function Write-SomeContent { [CmdletBinding()] param ( [Objec

我正在从.ps1安装脚本运行静默SQL安装程序。SQL安装程序设置为/Quiet和/DisplayProgress。我最近将它发送到一个新的控制台窗口,以显示输出,但不会淹没控制台,但最近我通过
Enter PSSession
在其中进行了切换,因此我不会看到新窗口


是否有一种方法可以使用
写入进度
或其他方法一次显示6行滚动行?

您可以尝试以下方法:

function Write-SomeContent {
    [CmdletBinding()]
    param (
        [Object[]] $Content
    )

    Clear-Host;
    $pos = New-Object -TypeName System.Management.Automation.Host.Coordinates;
    $pos.X = 0;
    $pos.Y = 0;
    $Host.ui.RawUI.CursorPosition = $pos;

    foreach ($Object in $Content) {
        Write-Host -Object $Object;
    }
}

Write-SomeContent 'Message 1', 'Message 2', 'Message 3', 'Message 4', 'Message 5', 'Message 6';

只要不断调用来编写内容,它将只占用您传递给它的对象的行数。

这将清除所有内容,而这并不是我真正想要的。我希望旧的东西仍然显示,但只是显示正在发生的事情的快照。你能更具体地说明它是如何“淹没”控制台的,以及你希望它显示什么吗?安装程序生成数百行输出。我希望用户能够看到这一点,但我不希望太多,它淹没了输出。我在想一个5-10行的滚动窗格。我认为写进度是
的,因为它只在命令运行时显示,然后消失-它不会淹没显示。