0

API にアクセスして JSON を取得する一連のクラスを作成しました。コンパイルすると、get-host、get-version、get-app などの便利なコマンドが得られます。

各コマンドレットは、-host や -app などの引数を取ります。

記述できるコマンドレットは約 160 個ありますが、現在、任意のパラメーターと値を受け入れることができる、より汎用的なコマンドレットを記述しようとしています。

私が見ることができるところから、発行できる場所でパラメーターを宣言することはできません

get-info -app "appname"

また

get-info -host "hostname"

また

get-info -version "5.5"

何百もの可能性があるすべてのパラメーターを宣言しない限り。また、パラメーターが宣言されていない場合は、適切なエラーがスローされます

Get-Info : パラメータ名 'host' に一致するパラメータが見つかりません。

パラメータを宣言せずに手動で引数を解析する方法はありますか、または引数のリストを自動的に解析して適切な名前の変数に割り当てるためにC#に何かがありますか?

例えば

get-info -host "hostname" -backup "backupid"

変数ホストとバックアップは自動的に設定されますか?

4

1 に答える 1

1

Accept your arbitrary parameters as a HashTable:

get-mydata @{ Host = "hostname"; version = "1.0" }

That is how most of the built-in cmdlets handle arbitrary KVPs.

于 2014-10-23T16:18:31.260 に答える