2016-10-05 95 views
0

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

该呼叫者给了我一个空白的结果。

本地来电:

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> 

比。

Retrieving results from server call. 
DummyMessage 
+0

我试过这个例子,它适用于我。 – MatthewG

+0

我忘了更新这个昨天。它看起来像微软的ISE只是随机停止重新解释修订,只是运行旧代码。也许这是一个仍然困在Windows 7上的问题,但是idk。 – patrickjp93

回答

0

从午餐返回后问题得到解决。这是一个ISE错误,只是没有解释新的代码修订后,如此多的运行(因此我的困惑!)。

相关问题