[英]Invoking a x86 PowerShell Script from an x64 C# Application
我已經查看了幾個問題,並沒有發現任何類似的東西足以適用於我的情況(從我能說的)。
我有一個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會話,我將非常感激。
編輯:一旦我解決了細節,我會用更正的代碼更新這個。
在x64 C#app中運行腳本,啟動作業以執行32位腳本。 務必在Start-Job
上使用-RunAs32
開關。 這將需要PowerShell 2.0或更高版本。
pipeline.Commands.AddScript("Start-Job -Scriptblock { My-Command.exe -Path C:\ } -Name MyCommandJob -RunAs32");
您需要使用Receive-Job -Name MyCommandJob
檢索結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.