All Versions
PowerShell can access static methods of .NET types. Here are some real world one-liners that can do a lot for you:
[Math]::Round(7.9) [Convert]::ToString(576255753217, 8) [Guid]::NewGuid() [Net.Dns]::GetHostByName('schulung12') [IO.Path]::GetExtension('c:\test.txt') [IO.Path]::ChangeExtension('c:\test.txt', 'bak')
To find out more, delete the code after the type (the text in square brackets), then add two colons. PowerShell ISE will automatically pop up tab completion and show you the methods found in that type. In the PowerShell console, simply press TAB to get completion suggestions.
You can also pipe a type to Get-Member:
PS> [Math] | Get-Member -MemberType *Method -Static TypeName: System.Math Name MemberType Definition ---- ---------- ---------- Abs Method static sbyte Abs(sbyte value), static int16 Abs(int16 value), static int Abs(int value), sta... Acos Method static double Acos(double d) Asin Method static double Asin(double d) Atan Method static double Atan(double d) Atan2 Method static double Atan2(double y, double x) BigMul Method static long BigMul(int a, int b) Ceiling Method static decimal Ceiling(decimal d), static double Ceiling(double a) Cos Method static double Cos(double d) Cosh Method static double Cosh(double value DivRem Method static int DivRem(int a, int b, [ref] int result), static long DivRem(long a, long b, [ref] ... Equals Method static bool Equals(System.Object objA, System.Object objB) Exp Method static double Exp(double d) Floor Method static decimal Floor(decimal d), static double Floor(double d) IEEERemainder Method static double IEEERemainder(double x, double y) Log Method static double Log(double d), static double Log(double a, double newBase) Log10 Method static double Log10(double d) Max Method static sbyte Max(sbyte val1, sbyte val2), static byte Max(byte val1, byte val2), static int1... Min Method static sbyte Min(sbyte val1, sbyte val2), static byte Min(byte val1, byte val2), static int1... Pow Method static double Pow(double x, double y) ReferenceEquals Method static bool ReferenceEquals(System.Object objA, System.Object objB) Round Method static double Round(double a), static double Round(double value, int digits), static double ... Sign Method static int Sign(sbyte value), static int Sign(int16 value), static int Sign(int value), stat... Sin Method static double Sin(double a) Sinh Method static double Sinh(double value) Sqrt Method static double Sqrt(double d) Tan Method static double Tan(double a) Tanh Method static double Tanh(double value) Truncate Method static decimal Truncate(decimal d), static double Truncate(double d)
And to see the signature(s) of a method, omit the parenthesis:
PS> Get-Something -Path test You entered test. PS> [Math]::Round OverloadDefinitions ------------------- static double Round(double a static double Round(double value, int digits) static double Round(double value, System.MidpointRounding mode) static double Round(double value, int digits, System.MidpointRounding mode static decimal Round(decimal d static decimal Round(decimal d, int decimals) static decimal Round(decimal d, System.MidpointRounding mode) static decimal Round(decimal d, int decimals, System.MidpointRounding mode)