Aufrufen von Powershell-Cmdlets in C #

Ich versuche zu lernen, wie man PS-Cmdlets in C # aufruft, und bin auf die PowerShell-Klasse gestoßen. Es funktioniert gut für den grundlegenden Gebrauch, aber jetzt wollte ich diesen PS-Befehl ausführen:

Get-ChildItem | where {$_.Length -gt 1000000}

Ich habe versucht, dies durch die Powershell-Klasse aufzubauen, aber ich kann das scheinbar nicht. Das ist mein Code bis jetzt:

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.

Ich bekomme immer eine Ausnahme, wenn ich das starte. Ist es möglich, das Cmdlet Where-Object wie folgt auszuführen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage