Powershell関数を呼び出すコマンドレットを作成しようとしています。これはできますか?
アイデアは、データのセットを列挙し、定義された関数を呼び出して各アイテムに対して何かを実行する静的コマンドレットを用意することです。いつでもコピーして、列挙部分のベーステンプレートを貼り付けることができますが、パラメータなどを変更するときにエラーが発生するのは非常に簡単です。
Powershell関数を呼び出すコマンドレットを作成しようとしています。これはできますか?
アイデアは、データのセットを列挙し、定義された関数を呼び出して各アイテムに対して何かを実行する静的コマンドレットを用意することです。いつでもコピーして、列挙部分のベーステンプレートを貼り付けることができますが、パラメータなどを変更するときにエラーが発生するのは非常に簡単です。
もちろん、PSCmdlet で InvokeCommand プロパティを使用します (この基本クラスから派生すると仮定します)。
Collection<PSObject> result = this.InvokeCommand.InvokeScript("somefunc", true,
PipelineResultTypes.None, null, new[] {1,2,3});
この場合somefunc
、3 つのパラメーター (1、2、3) を受け取り、パイプライン入力 ( null
4 番目のパラメーターのパス) を使用しないことに注意してください。