2010年11月20日土曜日

◆高度な関数機能を使う

Powershell2.0から、それまではコマンドレットでしかできなかったような(コマンドレットのような)関数を作る機能がサポートされた。

PS>function greatly-func {
>>     [CmdletBinding()]
>>     param(
>>         $name,
>>         $age,
>>         $addr
>>     )
>>
>>     $PSCmdlet.MyInvocation.BoundParameters
>>
>> }
>>
PS>greatly-func -addr NewYork -age 87

Key                                                         Value
---                                                         -----
addr                                                        NewYork
age                                                         87

[CmdletBinding()]属性をパラメータにつける事でいろいろなことができるようになる。
ここでは単にこの属性を付与することで追加されるPSCmdlet自動変数を参照している。
この変数はスクリプトに関する様々な情報を保持している。

上記では指定されたパラメータが連想配列として保持されていることが判る。

0 件のコメント:

コメントを投稿