Invocando los cmdlets de powershell desde C #
Estoy tratando de aprender cómo llamar a los cmdlets PS desde C #, y he llegado a la clase de PowerShell. Funciona bien para uso básico, pero ahora quería ejecutar este comando PS:
Get-ChildItem | where {$_.Length -gt 1000000}
Intenté construir esto a través de la clase de PowerShell, pero parece que no puedo hacer esto. Este es mi código hasta ahora:
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.
Siempre tengo una excepción cuando ejecuto esto. ¿Es posible ejecutar el cmdlet Where-Object de esta manera?