我似乎无法捕捉到从远程调用命令调用

问题描述:

警告输出以下SO问题似乎认为这是可能的:Powershell logging from invoke-command我似乎无法捕捉到从远程调用命令调用

顶端回答(不接受的答案),提到了文档指出Inovke - 命令返回所有的东西,这确实是这样说的,重点是我的。

https://technet.microsoft.com/en-us/library/hh849719.aspx

的invoke-Command cmdlet的运行本地或远程计算机 和返回从命令的所有输出,包括错误上的命令。

请注意$ PSVersionTable.PSVersion输出4.0(Powershell ISE)。

这里是问题

$out = Invoke-Command -Session $sess { 
    Write-Warning 'w1' 
} 


'--' 
$out 
'--' 

代码和输出

WARNING: w1 
-- 
-- 

什么我希望的是:

-- 
w1 
-- 

含义,我希望能够捕捉到来自警告流的输出。

任何解释?我该怎么做呢?

+0

如果要将警告流重定向为输出,请使用'3>&1'。 – PetSerAl

使用Invoke-Command的WarningAction和WarningVariable参数。