経由でランスペースを作成して開いたと仮定します
var rs = RunspaceFactory.CreateRunspace();
rs.Open();
さらに、次のようにNew-Variableコマンドレットを使用して、配列として入力された変数をその実行スペースに追加するとします。
// create a pipeline to add the variable into the runspace
var pipeline = PowerShell.Create();
// create a command object, add commands and parameters to it...
var cmd = new PSCommand();
cmd.AddCommand("New-Variable");
cmd.AddParameter("Name", "foo");
cmd.AddParameter("Value", "@()");
// associate the command with the pipeline and runspace, and then invoke
pipeline.Commands = cmd;
pipeline.Runspace = rs;
pipeline.Invoke();
コードは機能し、エラーは発生しませんが、変数'foo'は配列型として作成されません。「@()」でさまざまなバリエーションを試しましたが、これまでのところどれもパンアウトしていません。最終的に、質問は、Value引数をNew-Variableに適切にフォーマットして、「foo」が空のPowerShell配列型として解釈されるようにする方法に要約されると思います。
ありがとう、
マット