我正在尝试学习如何从 C# 调用 PS cmdlet,并且遇到了 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 cmdlet?