関数やスクリプトで必須のオプションを作る

 関数のパラメータによっては、関数を実行するに当たって必ず指定してほしい物があります。自作関数や自作スクリプトでそのような引数を作りたいときは [Parameter(Mandatory=$true)] 属性を指定します。

 次のように関数を定義します。

PS U:\PS> `
>> function WriteEcho([Parameter(Mandatory=$true)][string]$Message)
>> {
>>     "{0} from WriteEcho" -f $Message
>> }
>>

 引数なしで関数を呼び出すと、必須のパラメータである $Message の値を何にするか聞かれます。

PS U:\PS> WriteEcho

コマンド パイプライン位置 1 のコマンドレット WriteEcho
次のパラメーターに値を指定してください:
Message: Hello PowerShell
Hello PowerShell from WriteEcho
PS U:\PS>
inserted by FC2 system