How to find PowerShell Static Classes and Methods?
How can I find what Static Classes and Methods there is available in PowerShell 2.0?
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
To get the static members of a type or object, pipe it to Get-Member and specify the Static switch:
[math] | Get-Member -Static
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.
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
精彩评论