Powershell 在Invoke命令的ScriptBlock内重定向导入模块的输出

Powershell 在Invoke命令的ScriptBlock内重定向导入模块的输出,powershell,Powershell,我正在导入的模块有几个我希望抑制的写主机命令(重定向到NULL) 当我直接在机器上运行它时,效果非常好: Import-Module 'path\to\module\module.ps1' 2>&1 > $null 使用Invoke命令在远程主机上运行完全相同的命令时,将忽略重定向,并显示模块的所有输出: Invoke-Command -ComputerName $server -Credential $cred -ScriptBlock { Import-Module

我正在导入的模块有几个我希望抑制的写主机命令(重定向到NULL)

当我直接在机器上运行它时,效果非常好:

Import-Module 'path\to\module\module.ps1' 2>&1 > $null
使用Invoke命令在远程主机上运行完全相同的命令时,将忽略重定向,并显示模块的所有输出:

Invoke-Command -ComputerName $server -Credential $cred -ScriptBlock {
  Import-Module 'path\to\module\module.ps1' 2>&1 > $null
}

我尝试了不同的重新定向方法(即,
Out Null
,等等),但结果都是一样的。

您可以使用
6>$Null

因此:


这是由Microsoft提供的,并根据进行了相应修改。

太棒了!这可以消除写主机输出,但现在它显示了get模块的输出,以列出所有包含的命令。但您的“关于操作员”链接提供了最终答案:`*>>$null`重定向所有输出流。谢谢:-)
Invoke-Command -ComputerName $server -Credential $cred -ScriptBlock {
  Import-Module 'path\to\module\module.ps1' 6>> $null
}