获取方法在PowerShell中
问题描述:
参数有没有办法使用Get-会员时,为了获得参数的方法MemberType?获取方法在PowerShell中
实施例:
Get-Process | Get-Member -MemberType Method
我从这个例子是需要在列表中的每个成员的参数和参数类型。
这样做的目的是让成员,参数和参数类型COM +对象我创建的文档。所以一个例子不能.net特定。
我将管道成员和参数信息到剃刀模板来生成相应的HTML。
编辑: 一个更好的例子应该是这样......
$comObj = New-Object -ComObject COMAdmin.COMAdminCatalog
$comObj | Get-Member -MemberType Method
在这个例子中,我需要得到的参数名称(如果有的话),为每个方法返回。
答
Get-Member
意味着更多的探索.NET类型比PowerShell命令。对于命令的参数的简单的“视图”试试这个:
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对象的类型元数据。 BTW我得到了你在你的问题列出了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会给你在这种情况下。
我更新了我的问题补充一点清晰的...我通常不会得到它的权利在战后初期:)在上面的例子中,我试图获得初始化COM对象的成员定义。我需要从那里获取每种方法的参数类型。 –
@JoshuaDale - 感谢您的澄清。我更新了我的答案。 –
是的,我认为你完全正确的获取COM对象的正确定义。即使在上面的示例中,我只能得到类型名称和参数名称......可能与COM接口的工作方式有关。感谢您的帮助和快速回复! –