回処理が回ってしまいます。使って判定することは可能ですが、この場合なら、デフォルト値を使った方が綺麗だと思います。Hogeのように、戻り値を返さないコマンドの結果のようなところで使われるのだろうかと思うのですが、確認できていません。コマンドレットにオブジェクトを指定する必要があります。いうエラーになります。いうのは、以下のようにして確認することができます。同じものではないということがわかります。異なる、「何も無い」状態を表すものではないかと思っています。空文字が禁止されるほか、それらを含む配列も禁止されます。空の配列も禁止されますが、実は、「空の配列を含む配列」は禁止されないのです。ようにする必要があります。おいて、パラメーターに配列を指定するということは、その個々の要素を指定してコマンドを複数回呼ぶことと等価だと思います。Get-Helpというのと、概ね等価だと考えてよいと思います。空の配列を指定することは、「何もコマンドを呼ばない」ことと等しいのでしょう。何をしたらいいでしょう?それはあたかも、「1÷0」のごときもので、エラーにするしかないのではないかと思います。空の配列をエラーにするというのは、そのような状態を禁止するための挙動なのでしょう。配列がこのような「複数のコマンドを一括して呼び出す」ように振る舞うのは、その最外周に限られます。入れ子になった内部の配列は、そのような意味を持たない、単なる「配列オブジェクト」なので、チェックされないのだろうと思われます。パラメーターを指定しなかった場合の挙動ちょっと細かすぎて伝わらない系の話です。パラメーターを指定せずにコマンドを呼び出そうとすると、その場で入力を促されますが、この挙動を前提としたコマンド設計はしない方がいいと思います。型、もしくはそれらの配列しか受け付けません。入力してもエラーになります。コマンドも呼び出せませんし、変数も(ごく一部を除いて)参照できません。指定するのは、貧弱なプロンプトで受け付けられる型のみにすべき」という考えが出て...来ないことも、ありません、かね?やめた方がいいというのは、この考えのことです。ISE)が提供しているオマケ機能、言ってしまえば「おせっかい」みたいなものです。等で書いたアプリ内で実行することもできますが、そうした場合はプロンプトは出ず、単に例外が発生します。必須ならばとにかく指定すべきで、それをどう扱うかはコマンドの関与することではないという認識が良いと思います。検証に失敗した時の例外パラメーターの検証に失敗すると例外が投げられます。