Хостинг PowerShell core remoting в приложении dot net core?Кто-нибудь заставил это работать еще? - PullRequest
0 голосов
/ 22 октября 2018

Я уже месяц пытаюсь разместить сценарии удаленного взаимодействия PowerShell, использующие протокол SSH для удаленного взаимодействия, в приложении с ядром dot net, и до сих пор ничего не получалось.Одна из моих основных проблем заключается в том, что метод AddScript для автоматизации управления системой, похоже, абсолютно ничего не делает, когда в блоке есть удаленные сценарии Powershell.

Мне было интересно, пытался ли кто-нибудь на самом деле размещать сценарии удаленного взаимодействия в dot netядро приложения C # успешно?

У меня действительно возникла проблема на странице github PowerShell, но никто не заинтересован в ней, поэтому нулевые комментарии.

https://github.com/PowerShell/PowerShell/issues/7984

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 15 ноября 2018

Я мог бы найти простой обходной путь, который я протестировал, и он работает.

По сути, вместо того, чтобы просить приложение 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посмотреть на проблему.Я опубликую больше информации здесь, как только я протестирую хостинг этого в докере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...