【发布时间】:2020-02-20 07:52:33
【问题描述】:
我正在将一些文件复制到服务器,使用带有 copy-item 和 new-PSSession 的 PowerShell 5。我脚本中的相关行是(或者这就是我的想法):
$session = New-PSSession -ComputerName $server -Credential $psCred ;
Copy-Item $source -ToSession $session -Destination $target -Force;
我的真实脚本还有一些复制项调用。当此脚本运行时,我在 PS 窗口中看到消息闪烁。当我从命令行运行它时,它们处于带有 powershell-blue 背景的文本模式;当我从 ISE 运行它时,它们会被 GUI 化并显示为文本框。它们很快消失,但看起来像“正在复制”和当前复制的文件的名称。所以,它们是进度消息。
但我想要一个无声的副本。我没有有意识地激活一些调试标志。如何抑制进度消息?
我试图附加 |复制项的空值。我试过 -InformationAction SilentlyIgnore。我查看了 PSSessionOption,发现没有任何帮助。我试图在网上搜索,但似乎每个人都在要求更多消息,而不是更少。
【问题讨论】:
-
你不能。该副本正在使用进度条,而不是实际输出。这种情况在大文件上最为明显。
-
如果是进度条,可以设置
$ProgressPreference = "SilentlyContinue"抑制进度条显示。 -
非常感谢布鲁斯,解决了这个问题。如果您将此作为答案发布,我会给您“接受”标记。
标签: powershell copy remote-server