PowerShell - 从远程计算机上运行的脚本获取返回值?

时间:2016-10-05 05:46:27

标签: powershell server

我只是试图在远程计算机上运行的本地计算机上获取脚本,并将结果返回给本地调用方。我究竟做错了什么?这几乎是我见过的几个例子中的一个,除了他们使用-ScriptBlock {}来做。这是不可能使用-FilePath选项实现的吗?我仔细检查了当地的路径。这两个脚本都位于本地计算机上同一驱动器上的同一文件夹中。

这位来电者给我一个空白的结果。

本地来电者:

Write-Output "Retrieving results from server call."
$returned=Invoke-Command -ComputerName $server -Credential $MyCredential -FilePath D:\scripts\runOnRemote.ps1
Write-Output $returned

以下产生' DummyMessage'正如预期的那样

替代本地来电者:

$returned=Invoke-Command -ComputerName $server -Credential $MyCredential -ScriptBlock {

        $toReturn = 'DummyMessage'
        return $toReturn
    }

但这并不是。 尝试在远程运行的脚本:

$returnMessage = 'DummyMessage'
return $returnMessage

输出:

Retrieving results from server call.
<nothing>

Vs以上。

Retrieving results from server call.
DummyMessage

1 个答案:

答案 0 :(得分:0)

从午餐回来后问题得到了解决。这是一个ISE错误,只是在经过这么多次运行后没有解释新的代码修改(因此我的困惑!)。