2
我在C#中通過擴展PSCmdlet類來創建PowerShell cmdlet。 我需要獲取整個Pipelined輸入以在C#代碼中使用。我試着具有設置爲性能參數:
[Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)]
public Object Connection;
當我試圖通過管道中的項目清單執行cmdlet時,我同時在C#代碼來處理得到一個項目。
[email protected]("value1","value2")
$a | cmdlet-name
我需要獲取整個管道輸入來處理我的C#代碼。我發現這可以在PowerShell中使用$ input變量獲得。有沒有這個$輸入PowerShell變量的C#等價物?
我不確定,但是對於每個流水線項目,ProcessRecord方法會執行一次嗎?如果是的話,有沒有辦法找出ProcessRecord方法的當前傳遞號? – Vijay
是爲每個管道對象執行ProcessRecord。請記住,單個管道對象可能是一個數組,取決於您如何定義管道綁定的屬性。我沒有意識到確定傳遞數的內置方式,但您可以隨時向您的cmdlet添加一個int字段,並在每次調用ProcessRecord時增加它。 –