0

次のコマンドレットを想像してください。

Request-RemoteAssistance [-IPAddress <string>]
Request-RemoteAssistance [-HostName <string>]

両方のパラメーターがパイプラインからデータを取得できる場所。どちらのパラメーターも文字列であるため、型解決は機能しません。IP アドレスに正規表現検証属性が適用されている場合、IP アドレス以外の形式の文字列が入ってきた場合、PS は IPAddress に対して有効ではないことを自動的に認識し、代わりにそれを HostName パラメータにパイプしますか?

4

1 に答える 1

1

いいえ、powershell は正規表現によってパラメーターセットを解決できません。それは素晴らしいことだと思いますが、v3 では不可能です。

あなたの選択肢は

  • これらの 2 つのパラメーターを、それぞれが他の固有のパラメーターを持つ異なるパラメーターセットに配置して、他のパラメーターが存在することによって解決が行われるようにします。
  • どちらの形式も検証しないでください。コマンドレット本体で追加の処理を行います
  • -HostIP またはホスト名のいずれかを受け入れる1 つのパラメーター (おそらく ) のみを指定します。内部的に使用switch -regexしてホスト名か IP かを選択し、それに応じて処理します。

1.ができない場合は3.をお勧めします。ケースごとに他の特別なパラメーターが必要でない限り、IP またはホスト名を 1 つの場所で使用できるのがユーザーにとって最も簡単です。他のほとんどのツールでも同じことができます。

于 2012-09-07T18:22:30.003 に答える