Я использую System.Management.Automation со ссылочными сборками 4.0 с C #
Мне нужно увидеть вывод Write-Host. Документация говорит, что Write-Host будет выведен в выходной поток. Каков выходной поток для получения вывода Write-Host в C # при использовании эталонных сборок powershell 4.0.
Я знаю, что информационный конвейер позже добавлялся в Powershell версии 5.0, а Write-Host и Write-Information всегда направляли вывод в информационный конвейер.
Но мне нужно увидеть выходные данные Write-Host с эталонными сборками для powershell 4.0. С помощью следующего кода я нигде не могу увидеть вывод Write-Host. Ни на выходе, ни в выходных коллекциях.
В настоящее время я подписался на следующие потоки.
using (var powerShell = PowerShell.Create(iss))
{
var psScript = "Write-Host test input";
powerShell.AddScript(psScript);
powerShell.Streams.Debug.DataAdding += OnDebugDataAdding;
powerShell.Streams.Error.DataAdding += OnErrorAdding;
powerShell.Streams.Warning.DataAdding += OnWarningAdding;
powerShell.Streams.Verbose.DataAdding += OnVerboseAdding;
var outputCollection = new PSDataCollection<PSObject>();
outputCollection.DataAdding += OnOutputDataAdding; // all spitted outputs getting into outputCollection
powerShell.Invoke(null, outputCollection);
}