Имея следующее консольное приложение NET 5:
static void Main(string[] args)
{
using var ps = PowerShell.Create();
// ps.AddCommand("Get-Service");
ps.AddStatement().AddCommand("Get-Service");
ps.Invoke();
}
Кажется, что вызовы выполняются без ошибок, но куда идет вывод?
Я пробовал как AddCommand
, так и AddStatement
, а также исследовал переменную ps
в отладчике, никаких признаков вывода. Я обнаружил ps.Streams.Information
, но он пуст.
1 ответ
Как подробно описано в документации для PowerShell.Invoke, он возвращает коллекцию, содержащую все результаты, полученные в результате операции PowerShell.
Таким образом, вы можете написать
static void Main(string[] args)
{
using var ps = PowerShell.Create();
ps.AddStatement().AddCommand("Get-Service");
var results = ps.Invoke();
foreach (var result in results)
{
Console.WriteLine(result);
}
}
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.