2011年10月14日金曜日

◆パラメータにデフォルト値を設定する(V3)

V3では予めパラメータのデフォルト値を設定するための自動変数$PSDefaultParameterValuesというのが導入されている。

これまで有った$XXXXPreferenceの汎用版みたいなイメージ。
コマンド+パラメータ名をキーにしてデフォルト値の値をハッシュテーブルとして登録しておけば良い。

$PSDefaultParameterValues = @{"Get-ChildItem:Path"="C:\"}

こうしておくと、dirと打っただけでCドライブ直下のファイルが表示されるようになる。

すべてのコマンドレットを対象に以下のように指定することも出来る。

$PSDefaultParameterValues = @{"*:Verbose" = $true}

当然纏めて登録も可能。

$PSDefaultParameterValues = @{
    "Send-MailMessage:From" = "someone@contoso.com"
    "Send-MailMessage:SmtpServer" = "smtp.contoso.com"
    "Get-HELP:Full" = $True
}

デフォルトを一時的に無効にするには

$PSDefaultParameterValues["Disabled"] = $true

0 件のコメント:

コメントを投稿