Я мог бы найти простой обходной путь, который я протестировал, и он работает.
По сути, вместо того, чтобы просить приложение don net вызывать скрипт удаленного взаимодействия через метод .AddScript, вы запрашиваете приложение dot net для вызовалокальный процесс powershell, который выполняет сценарий удаленного взаимодействия.Файл сценария должен находиться где-то на сервере, с которого вы запускаете приложение.Чтобы показать это как код, я использую следующее:
string script = "start-process pwsh-preview" -argument "path to script file"
using (Runspace runspace = RunspaceFactory.CreateRunspace())
using (Powershell powershell = Powershell.Create())
{
runspace.Open();
PSCommand command = new PSCommand();
command.AddScript(script);
powershell.Commands = command;
powerhell.Runspace = runspace;
Collection<PSObject> results = new Collection<PSObject>();
results = powershell.Invoke();
Я пока не тестировал вызов скрипта с параметрами (пока не уверен, как это сделать, может быть, кто-то здесь может помочь).А также хостинг в докер-контейнере целиком.Скорее всего, для работы потребуется ядро PowerShell, а также ядро dot net в образе докера.
Надеюсь, это поможет.
Я все еще жду ребят из GitHub PowerShellпосмотреть на проблему.Я опубликую больше информации здесь, как только я протестирую хостинг этого в докере.