@BangIndia Ответов: 3

Подключитесь к 64-разрядному powershell с помощью 32-разрядного приложения c#


Я писал код в 32-битном exe-файле, когда я делал соединение с powershell по умолчанию его подключение к 32-битному powershell.

но мне нужно подключиться к 64-битному powershell.

как этого добиться.


Пространства пространства = RunspaceFactory.CreateRunspace();

пространство выполнения.Открыть();
Трубопроводного = пространства.CreatePipeline();
трубопровод.Команды.Добавить("Из-Строку");

вот так я создаю конвейер.

3 Ответов

Рейтинг:
2

Casey Sheridan

Насколько я знаю, это невозможно, если вы не создадите дополнительное приложение x64 (например, консоль) для вызова powershell.

Обратите внимание на аналогичную ситуацию здесь[^]


Рейтинг:
2

Dave Kreskowiak

Использование пространства, это невозможно. Вы не можете смешивать 32-и 64-битный код в одном процессе. Вам придется разговаривать с 64-битным скриптом PowerShell, работающим как отдельный процесс, и использовать некоторые методы межпроцессной связи для передачи команд и данных туда и обратно, например именованные каналы. Конечно, сценарий PowerShell должен быть специально написан для поддержки этого.


Рейтинг:
0

Member 13155339

Привет,

Решение этой проблемы очень простое.
Мы скопировали скопировали 64 битную консоль PowerShell.exe для отладки папки текущего проекта VisualStudio и указан тот же путь (.\debug RR .\\debug) для запуска скрипта powershell, и он работает нормально.

Спасибо,
Абхиманью Панвар