ライブラリモジュールのために書いている、かなり複雑な関数がいくつかあります。これは、呼び出すことができるさまざまな方法があります。しかし、実際にはすべてをデフォルトにすることは可能ですが、パラメータなしで関数を呼び出そうとすると、パラメータセットが決まらないため呼び出しが失敗します。パラメータのないpowershellパラメータセットを定義する方法はありますか?
パラメータを一切含まないパラメータセットを定義して、パラメータのない呼び出しが成功するようにしたいとします。 ParameterSetNameはParameter属性のプロパティなので、これは困難です。何も属性付けすることはできません。
私はparamブロックに配置されたCmdletBinding属性のDefaultParameterSetプロパティを使って実験しましたが、何も動作していないようです。 Powershellがデフォルトにするためには、そこに定義されているパラメータセット名が実際に存在しているようです。
現在のところ、この使用例の最もよく似たのは、必須パラメータを持たないパラメータセットの1つを定義することですが、空の文字列またはNULLがパイプインされたときにこれらのパラメータが失敗します。
これは可能ですか?
を、私はまた、'「$($ PSCmdlet.ParameterSetName)ParameterSetName」を追加しました。しかし、私の記述によれば、この関数への$ nullの配管も失敗しますが、私の要求が意味をなさないことを意味するものを考え直すと、パラメータを持たないパラメータセットに値を配管するのは矛盾です。存在しないパラメータセットを指定しても機能することは知っておくと良いでしょう。ありがとう! – bwerks
「存在しない」ではなく、「存在しますが、他のパラメータセットが一致しない場合にのみ使用されます。 –