2017-09-06 5 views
0

私のスクリプトでは、Exchange Online配布グループのメンバを配列$members_idにしたいと考えています。Invoke-Commandの問題

私はそれが次のようになりますので、リモートサーバー上でコマンドレットGet-DistributionGroupMemberを実行したい:

The syntax is not supported by this runspace. This can occur if the runspace is in no-language mode.

image

I:私はエラーを取得し、これを実行した後

Invoke-Command -Session $Session -ScriptBlock { 
    $members_id = Get-DistributionGroupMember -Identity "power_shell_test" 
} -ArgumentList $members_id 

$members_id =を削除すると正常に動作します。

なぜそれがそのように機能するか知っていれば教えてください。

+0

は、私が「Invoke-Commandコマンドの問題を言うと思います:あなたはメンバーをスクリプトブロックに分解するグループのIDを渡したい場合にのみ

$members_id = Invoke-Command -Session $Session -ScriptBlock { Get-DistributionGroupMember -Identity "power_shell_test" } 

使用-ArgumentList "意味のあるタイトルではありません... – Clijsters

答えて

3

私はなぜあなたは(それはおそらくあなたが$Session開いた方法のだ)が、エラーを取得している、非常にわからないんだけど、あなたはあなたのコードを変更する必要が$members_idローカル変数でリモートコマンドGet-DistributionGroupMemberの出力をしたい場合このようなものに:

$members_id = Invoke-Command -Session $Session -ScriptBlock { 
    Param($id) 
    Get-DistributionGroupMember -Identity $id 
} -ArgumentList $group_id 
+0

ありがとう、それは動作します! –

関連する問題