我只是试图在远程计算机上运行的本地计算机上获取脚本,并将结果返回给本地调用方。我究竟做错了什么?这几乎是我见过的几个例子中的一个,除了他们使用-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
答案 0 :(得分:0)
从午餐回来后问题得到了解决。这是一个ISE错误,只是在经过这么多次运行后没有解释新的代码修改(因此我的困惑!)。