6

Get-Memberを使用するときにメソッドMemberTypeのパラメーターを取得する方法はありますか?

例:

Get-Process | Get-Member -MemberType Method

この例から必要なのは、リスト内の各メンバーのパラメーターとパラメータータイプです。

これの目的は、ドキュメントを作成する必要があるCOM +オブジェクトのメンバー、パラメーター、およびパラメータータイプを取得することです。したがって、例を.net固有にすることはできません。

メンバーとパラメーターの情報をかみそりのテンプレートにパイプして、適切なhtmlを生成します。

編集:より良い例はこれです...

$comObj = New-Object -ComObject COMAdmin.COMAdminCatalog
$comObj | Get-Member -MemberType Method

この例では、返される各メソッドのパラメーター名(存在する場合)を取得する必要があります。

4

1 に答える 1

8

Get-MemberPowerShellコマンドよりも.NETタイプを探索するためのものです。コマンドのパラメータの簡単な「ビュー」については、次のことを試してください。

Get-Command Get-Process -Syntax

パラメータの詳細については、次のことを試してください。

Get-Command Get-Process | Select -Expand ParameterSets

.NETタイプのメンバーのパラメーターの詳細を探している場合は、次のことを試してください。

C:\PS> Get-Process | Get-Member -Name WaitForExit

   TypeName: System.Diagnostics.Process

Name        MemberType Definition
----        ---------- ----------
WaitForExit Method     bool WaitForExit(int milliseconds), void WaitForExit()

COMオブジェクトに関しては、それはもう少しヒットまたはミスになる可能性があります。PowerShellは、COMオブジェクトのタイプメタデータを常に取得するとは限りません。ところで、私はあなたがあなたの質問にリストしたCOMオブジェクトのパラメータ情報(パラメータタイプ)を取得します:

C:\PS> $comObj = New-Object -ComObject COMAdmin.COMAdminCatalog
C:\PS> $comObj | gm QueryApplicationFile


   TypeName: System.__ComObject#{790c6e0b-9194-4cc9-9426-a48a63185696}

Name                 MemberType Definition
----                 ---------- ----------
QueryApplicationFile Method     void QueryApplicationFile (string, string, string, bool, bool, SAFEARRAY(Variant))

この場合、PowerShellから提供される情報はこれだけです。

于 2012-12-12T16:08:39.450 に答える