2016-10-05 4 views
0

私は、リモートマシン上で実行されているローカルマシン上でスクリプトを取得しようとしており、その結果をローカルの呼び出し元に返すようにしています。私は間違って何をしていますか?これは私が見てきたいくつかの例のほぼそのままの例ですが、ScriptBlock {}を使っていました。 -FilePathオプションを使用してこれを実現することはできませんか?私はローカルパスをダブルチェックしました。両方のスクリプトは、ローカルマシン上の同じドライブ上の同じフォルダにあります。PowerShell - リモートマシン上で実行されるスクリプトからの戻り値の取得?

この発信者は私に空白の結果を返します。

現地発信者:

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

     $toReturn = 'DummyMessage' 
     return $toReturn 
    } 

しかし、これにはない:

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

以下が期待

代替現地発信者として 'DummyMessage' を生成。 リモートで実行しようとしているスクリプト:

$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のバグであり、これは非常に多くの実行の後で新しいコードのリビジョンを解釈していないだけでした(したがって私の混乱です)。

関連する問題