Вывод PSObject на консоль

#c# #.net #powershell #output

#c# #.net #powershell #вывод

Вопрос:

я новичок в .net. Возникла проблема с выводом команды powershell на консоль, вызванной на c #.

Код:

     PowerShell powershellCommand = PowerShell.Create();
    powershellCommand.AddScript("get-process");
    Collection<PSObject> results = powershellCommand.Invoke();
    foreach (PSObject result in results)
    {
        Console.WriteLine(results);
    }
    Console.Read();
  

Вывод:
Система.Коллекции.Объектная модель.Коллекция`1[System.Management.Автоматизация.PSObject]

Комментарии:

1. Я думаю, Console.WriteLine(result_s_); скорее должно быть Console.WriteLine(result) ;

Ответ №1:

Вы выполняете итерацию по своей коллекции, но вы записываете не текущий элемент, а коллекцию в целом. Вы должны написать элемент:

 PowerShell powershellCommand = PowerShell.Create();
powershellCommand.AddScript("get-process");
Collection<PSObject> results = powershellCommand.Invoke();
foreach (PSObject result in results)
{
    Console.WriteLine(result); //<-- result NOT results
}
Console.Read();