[Tips]指定したパラメータを持つコマンドレット一覧を取得する

by HIRO 21. 4月 2009 12:40

訳あって、特定のパラメータを持つコマンドレットの一覧が取得したかったので、下記のような関数を作ってみました。(PowerShell V2 CTP3で動作確認済み)。 関数名はいまいちなので好みに合わせて変更してください。

function Get-XParamCmdlet([string]$paraname)
{
  $CmdCnt = 0
  Get-Command -CommandType cmdlet |
  %{
    $a = Get-Command $_.Name | select Parameters
    if ( $a.Parameters.Keys -contains $paraname)
    {
      $_.Name
      $CmdCnt += 1
    }
  }
  "$CmdCnt 個見つかりました"
} 

この関数は、引数にパラメータ名を指定します。

たとえば、Encodingというパラメータを持つコマンドレットは下記のようにして取得します。

PS> Get-XParamCmdlet "Encoding"
Add-Content
Export-Clixml
Export-Csv
Export-PSSession
Get-Content
Out-File
Select-String
Send-MailMessage
Sent-Content
9 個見つかりました

関数の中身についてちょっと補足します。

まずGet-Commandでコマンドレットのパラメータコレクションを取得します。

つぎに取得したコレクションに対して、-containsを使用して指定されたパラメータが含まれているかをif文で判断しています。

もう少し、スマートに書くことができるような気がするのですが、その辺はご自身で調整ください。

 

これで、特定のパラメータを持つコマンドレットを調べることができますので、ぜひお試しください。

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Tips | PowerShell V2 CTP3

コメント

コメントを書く


 

  Country flag

biuquoteredbluegreenyellowPowerShellTextFile
  • コメント
  • プレビュー
Loading



Calendar

<<  3月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 PowerShell from Japan!!