我通过扩展PSCmdlet类在C#中创建PowerShell cmdlet。 我需要在C#代码中使用整个Pipelined输入。我尝试将属性设置为的参数设置为:
[Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)]
public Object Connection;
当我尝试通过在项目列表中管道来执行cmdlet时,我一次得到一个项目来处理C#代码。
$a=@("value1","value2")
$a | cmdlet-name
我需要在C#代码中处理整个管道输入。我发现这可以使用$ input变量在PowerShell中获得。是否有这个$ input PowerShell变量的C#等价物?
答案 0 :(得分:1)
不是我知道的。但是,您可以使用ProcessRecord方法将管道对象(从绑定到管道输入的属性)累积到集合中,然后在EndProcessing方法中处理累积的对象。