簡體   English   中英

從x64 C#應用程序調用x86 PowerShell腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM