Добавление параметров в командлет PowerShell Where-Object в C# вызывает исключенияC#

Место общения программистов C#
Anonymous
Добавление параметров в командлет PowerShell Where-Object в C# вызывает исключения

Сообщение Anonymous »

Я пытаюсь научиться вызывать командлеты PS из C# и наткнулся на класс PowerShell. Для базового использования он работает нормально, но теперь я хотел выполнить эту команду PS:

Код: Выделить всё

Get-ChildItem | where {$_.Length -gt 1000000}
Я пытался построить это с помощью класса powershell, но, похоже, у меня это не получилось. На данный момент это мой код:

Код: Выделить всё

PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-ChildItem");
ps.AddCommand("where-object");
ps.AddParameter("Length");
ps.AddParameter("-gt");
ps.AddParameter("10000");

// Call the PowerShell.Invoke() method to run the
// commands of the pipeline.
foreach (PSObject result in ps.Invoke())
{
Console.WriteLine(
"{0,-24}{1}",
result.Members["Length"].Value,
result.Members["Name"].Value);
} // End foreach.
При запуске я всегда получаю исключение. Можно ли запустить командлет Where-Object таким образом?

Подробнее здесь: https://stackoverflow.com/questions/170 ... rows-excep

Вернуться в «C#»