我已经查看了几个问题,并没有发现任何类似的东西足以适用于我的情况(从我能说的).我有一个x64应用程序(我无法根据设计要求更改架构),它需要在x86架构下调用PowerShell脚本.var runspaceConfiguration = RunspaceCon...

我已经查看了几个问题,并没有发现任何类似的东西足以适用于我的情况(从我能说的).
我有一个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检索结果.
沃梦达教程
本文标题为:从x64 C#应用程序调用x86 PowerShell脚本


猜你喜欢
- Unity3D实现渐变颜色效果 2023-01-16
- 如何使用C# 捕获进程输出 2023-03-10
- c# 模拟线性回归的示例 2023-03-14
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- Unity Shader实现模糊效果 2023-04-27
- .NET CORE DI 依赖注入 2023-09-27
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- user32.dll 函数说明小结 2022-12-26
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- Oracle中for循环的使用方法 2023-07-04