2016-10-05 152 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錯誤,只是沒有解釋新的代碼修訂後,如此多的運行(因此我的困惑!)。

相關問題