Добавление параметров в командлет 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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