4

私はいくつかの質問を調べましたが、私の状況に当てはまるほど類似したものは見つかりませんでした(私が言えることから)。

x64アプリケーションがあり(設計要件に従ってアーキテクチャを変更できません)、x86アーキテクチャでPowerShellスクリプトを呼び出す必要があります。

var runspaceConfiguration = RunspaceConfiguration.Create();    
var runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

var pipeline = runspace.CreatePipeline();

var myCommand = new Command(@"MY-COMMAND");
myCommand.Parameters.Add("Path", @"C:\");

pipeline.Commands.Add(myCommand);

return pipeline.Invoke();

C#からx86-PowerShellセッションを開始する方法を誰かに教えてもらえれば幸いです。

編集:詳細を確認したら、修正したコードでこれを更新します。

4

1 に答える 1

7

32ビットスクリプトを実行するジョブを開始するx64C#アプリでスクリプトを実行します。必ず-RunAs32スイッチをオンにしてStart-Jobください。これには、PowerShell2.0以降が必要です。

pipeline.Commands.AddScript("Start-Job -Scriptblock { My-Command.exe -Path C:\ } -Name MyCommandJob -RunAs32");

を使用して結果を取得する必要がありますReceive-Job -Name MyCommandJob

于 2013-01-24T19:21:22.827 に答える