2

我通过扩展 PSCmdlet 类在 C# 中创建 PowerShell cmdlet。我需要获取整个流水线输入以在 C# 代码中使用。我尝试将属性设置为的参数设置为:

[Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)]
public Object Connection;

当我尝试通过管道输入项目列表来执行 cmdlet 时,我一次得到一个项目以在 C# 代码中处理。

$a=@("value1","value2")
$a | cmdlet-name

我需要在我的 C# 代码中处理整个管道输入。我发现这可以在 PowerShell 中使用 $input 变量获得。是否有与此 $input PowerShell 变量等效的 C#?

4

1 回答 1

1

从来没听说过。但是,您可以使用 ProcessRecord 方法将管道对象(从绑定到管道输入的属性)累积到一个集合中,然后在 EndProcessing 方法中处理累积的对象。

于 2014-02-27T16:59:43.533 回答