如何查找PowerShell静态类和方法?

时间:2011-09-20 18:16:38

标签: c# .net powershell powershell-v2.0

如何找到PowerShell 2.0中可用的静态类和方法?

4 个答案:

答案 0 :(得分:7)

您可以使用PowerShell中的任何.NET类型及其静态方法。要枚举当前加载到AppDomain中的所有内容,您可以执行以下操作:

 [AppDomain]::CurrentDomain.GetAssemblies() | foreach { $_.GetTypes() } | foreach { $_.GetMethods() } | where { $_.IsStatic } | select DeclaringType, Name | format-table

请记住,您不仅限于静态方法,还可以使用new-object实例化类型并调用实例方法。您可以在实例上使用get-member来获取类型的方法。

此外,如果要列出可用的CmdLets,只需调用:

Get-Command

答案 1 :(得分:3)

要获取类型或对象的静态成员,请将其传递给Get-Member并指定静态开关:

[math] | Get-Member -Static

答案 2 :(得分:0)

您拥有.NET框架中的类(静态或其他)。

上课后,您可以使用Get-Member

[Environment] | Get-Member

PS:Lee Holmes的“Windows PowerShell Cookbook”有一个附录,列出了一些有用的类,从Powershell / SysAdmin的角度来看。那份清单(和这本书)非常有用。

答案 3 :(得分:0)

先生,你是男人!完全是我的一天!

我只是冒昧地修改了它,所以它返回整个列表而没有重复:

PS C:\Users\Administrator> [AppDomain]::CurrentDomain.GetAssemblies() | foreach { $_.GetTypes() } | foreach { $_.GetMethods() } | where { $_.IsStatic } | select DeclaringType | Out-File assemblies.txt

然后读取assemblies.txt文件,但只获取唯一的行:

cat .\assemblies.txt Get-Unique