Задний план
- PowerShell 3 с SDK
- C # с Framework 4.5
Выполнение
Я реализовал свой собственный логин PSHost с помощью PSHostUserInterface. В PSHostUserInterface я переопределяю все методы Write ... и собираю их в одну переменную, которая служит для вывода.
Проблема
В моем приложении я вызываю командлеты, которые используют WriteObject в качестве вывода. В методах PSHostUserInterface.Write ... я получаю все, кроме вывода WriteObject. Например, я вижу это в обычной PowerShell:
Это пример строкового вывода команды
Здесь у нас есть объект из функции Cmdlet.WriteObject
Это еще один строковый вывод команды
Вот что я получаю в своем пользовательском PSHost в моем приложении:
Это пример строкового вывода команды
Это еще один строковый вывод команды
Вопрос
Как мне получить на C # все выходные данные командлета?
Большое спасибо
Error
того же экземпляраPipeline
). Поэтому, пожалуйста, обновите свой вопрос кодом, который вы используете для выполнения конвейеров PSH на вашем хосте. - person Richard   schedule 11.10.2013Error
. Я не могу простоPipeline.Invoke
, поскольку мой CmdLets требует пользовательского интерфейса. Из-за этого я делаю это через пользовательскиеPSHost
,PSHostUserInterface
, где я могу переопределить действия пользователя и выполнить их. - person krs   schedule 14.10.2013