在 PowerShell 脚本中,我有这样的内容:
$Session = New-PSSession -ComputerName "WSEM00G2NZ" -Credential $credObject
Invoke-Command -Session $Session -Scriptblock {
python path\to\script\print_stuff.py
}
Remove-PSSession -Session $Session
即它在远程计算机上运行 python 脚本。运行脚本,我可以看到 python 脚本的输出。现在,我想捕获一个返回值,但是如果我将 PowerShell 脚本更改为以下内容,我将不再看到 python 脚本的输出。
$Session = New-PSSession -ComputerName "WSEM00G2NZ" -Credential $credObject
$returnedValue = Invoke-Command -Session $Session -Scriptblock {
python path\to\script\print_stuff.py
}
Remove-PSSession -Session $Session
这是为什么,我怎样才能既捕获返回值,又让 python 脚本的输出在屏幕上可见?
使用
-OutVariable
公共参数将 Invoke-Command
的输出存储在变量中,同时仍将其发送到下游:
Invoke-Command -Session $Session -Scriptblock {
python path\to\script\print_stuff.py
} -OutVariable returnValue
现在您将在发送时在屏幕上看到输出并且有一个副本存储在
$returnValue