私も今後移行を検討しています。今回は、一歩進んだファンクション構築に関して触れようかと思います。書いていく中で、paramキーワードを利用したパラメーター定義を行うことが多くあります。[string]型の受入れをIntellisenseに表示、利用できるようになります。格納されてしまうため、パラメータの型指定やヴァリデーションも含めてparamを利用する機会は多いかと思います。その中の一つが、[ValidateSet()]です。指定した文字列で候補を表示、それ以外の入力を制限できます。いうパラメータを入力した段階でcatかdogかfoxの3つがIntellisenseに候補として表示されます。はかどってとても便利です。以外は弾くように制限されます。[int]な値を指定する必要があり、[ScriptBlock]やコマンドレットを指定できません。特定フォルダのファイル名のみに入力を制限したくとも、そのファイル名を直接記述するしかなくファンクション実行時に存在するファイル名を走査し候補にあげるような利用はできません。}}このようなエラーがでます。Paramの出番となります。paramの利用であるかの判断となります。返すことで、その内容がDynamicParamとして利用できます。この[System.Management.Automation.RuntimeDefinedParameterDictionary]は、パラメーターの構築にそのものです。先ほどの、現在のフォルダのファイルを動的に候補にあげるように作ってみましょう。}}これで、filnameパラメーターを指定した際に現在のフォルダに存在するファイルが候補に表示されます。trueになっていることがわかります。各属性も指定できます。構築にいちいち先ほどのようなことはして入れないので、ヘルパーを作ってしまうのがいいかと思います。複数のDynamicParamを指定するには、[System.Management.Automation.RuntimeDefinedParameterDictionary[]]を返す必要があるので、ひと手間加えます。今回は、valentiaに組み込む予定で作ったサンプルを詳解しましょう。$dictionary}利用する際は、このようにします。}}これで、候補が動的に利用可能です。ブロック構文を必ず利用する必要があります。Begin{}End{}を利用しないことも可能ですが、ご注意ください。まとめ割と世界でも詳解例がない内容ですが、開発者としては需要が高い機能を紹介しました。申し訳ありませんでした。