Powershell вызывает скрипт в новом процессе и в том же пространстве выполнения

В моем приложении (процессе) есть уже настроенный C # Runspace v3. Я хочу выполнить свой сценарий PowerShell в новом процессе, но в том же пространстве выполнения. Как я мог этого добиться? Я думал, что когда я запускаю PowerShell в существующем пространстве выполнения, это пространство выполнения будет унаследовано новой оболочкой PowerShell: К сожалению, этого не произошло ...

Я видел следующие интересные методы, но не нашел решения, как они могут помочь: RunspaceFactory.CreateOutOfProcessRunspace Invoke-Command

PS: Я не могу изменить в своем приложении доступ из Runspace к PowerShellProcessInstance, а также я не могу использовать PSRemoting


person Patrick    schedule 16.11.2017    source источник
comment
Обоснуйте, пожалуйста, -1   -  person Patrick    schedule 16.11.2017
comment
Я еще не голосовал по вашему вопросу, но пространство выполнения не может охватывать несколько процессов, поэтому ваш вопрос не имеет особого смысла   -  person Mathias R. Jessen    schedule 16.11.2017
comment
Спасибо за ваше сообщение, поэтому, если пространства выполнения не используются в разных процессах, это должен быть ответ на мой вопрос. Было бы неплохо, если бы вы могли написать это как ответ с дополнительной информацией, например, в некоторых источниках Microsoft, где это объясняется.   -  person Patrick    schedule 16.11.2017


Ответы (1)


То, что вы описываете, невозможно - одно пространство выполнения не может охватывать несколько процессов.

Позвольте мне продемонстрировать соответствующие иерархические отношения с помощью этой современной графики, которую я создал в mspaint:

введите описание изображения здесь

Область выполнения привязана к одному домену приложений .NET, а домен приложений не может охватывать несколько процессов.

person Mathias R. Jessen    schedule 16.11.2017