2011年1月21日金曜日

◆Getコマンドレットの隠れたエイリアスを使う

Get-ChildItemコマンドレットのエイリアスを調べるには、次のようにすれば良い。

PS>Get-Alias -Definition Get-ChildItem

CommandType     Name                                                          Definition
-----------           ----                                                          ----------
Alias                   dir                                                           Get-ChildItem
Alias                   gci                                                           Get-ChildItem
Alias                   ls                                                             Get-ChildItem

エイリアスが定義されていない場合は以下のようになる。

PS>Get-Alias -Definition Get-Acl
Get-Alias : definition 'Get-Acl' を含むエイリアスは存在しないため、このコマンドは一致するエイリアスを見つけられません
発生場所 行:1 文字:10
+ Get-Alias <<<<  -Definition Get-Acl
    + CategoryInfo          : ObjectNotFound: (Get-Acl:String) [Get-Alias]、ItemNotFoundException
    + FullyQualifiedErrorId : ItemNotFoundException,Microsoft.PowerShell.Commands.GetAliasCommand

しかし、このGet-Aclコマンドレットには実はエイリアスが存在する。
「Acl」である。

どうも、Get-XXXXコマンドレットは全てGetを省略したXXXXがエイリアスになっているようだ。
なので、Get-ChildItemもGet-Aliasコマンドでは表示されてこないが、「ChildItem」だけで実行可能だ。
Get-ChildItemなどはdirとかlsを使ったほうが便利なのでChildItemを使うことはないだろうが、Get-Aclの様にエイリアスが定義されていないコマンドレットの場合は覚えておくと便利だろう。

0 件のコメント:

コメントを投稿