2010-10-20 100 views
1

我試圖創建一個調用Powershell函數的cmdlet。這可以做到嗎?從Powershell Cmdlet調用函數

想法是讓靜態cmdlet枚舉一組數據,然後調用已定義的函數爲每個項目執行某些操作。我總是可以複製 - 粘貼基礎模板以獲得令人鼓舞的部分,但是在修改參數時發生錯誤非常容易。

回答

2

當然,在PSCmdlet上使用InvokeCommand屬性(假設您從此基類派生),例如:

Collection<PSObject> result = this.InvokeCommand.InvokeScript("somefunc", true, 
           PipelineResultTypes.None, null, new[] {1,2,3}); 

注意,在這種情況下somefunc有三個參數(1,2,3)和無管道輸入(通過null第四參數)。

+0

我花了一段時間,但後來我找到了它。我想知道爲什麼我沒有得到任何價值。如果有三個參數,函數名應該是somefunc $ args [0] $ args [1] $ args [2]。 – user287718 2010-10-22 12:14:15

相關問題