How to find PowerShell Static Classes and Methods?

梦想的初衷 提交于 2019-11-30 16:26:14

问题


How can I find what Static Classes and Methods there is available in PowerShell 2.0?


回答1:


You can use any .NET types and their static methods from PowerShell. To enumerate all that are currently loaded into your AppDomain, you can do:

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

Remember, you are not limited to static methods, you can also instantiate the types using new-object and call instance methods. You can use get-member on an instance to get the methods on a type.

Also, if you want to list your available CmdLets, just invoke:

Get-Command



回答2:


To get the static members of a type or object, pipe it to Get-Member and specify the Static switch:

[math] | Get-Member -Static



回答3:


You have the classes ( static or otherwise ) from .NET framework.

Once you have the class, you can use Get-Member:

[Environment] | Get-Member

PS: "Windows PowerShell Cookbook" by Lee Holmes has an Appendix which lists some useful classes, from Powershell / SysAdmin point of view. That list( and the book) is very useful.




回答4:


Mr driis, you are the man !!! Totally made my day !

I just took the liberty to modify it a little bit so it returns the whole list without duplicates:

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

and then read the assemblies.txt file but only get unique rows :

cat .\assemblies.txt Get-Unique


来源:https://stackoverflow.com/questions/7489804/how-to-find-powershell-static-classes-and-methods

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!