Problem
You have a type of object and want to know detailed information about the methods and properties it supports.
Solution
The documentation for the .NET Framework (available on http://msdn.microsoft. com ) is the best way to get detailed documentation about the methods and properties supported by an object. That exploration generally comes in two stages:
1. Find the type of the object.
To determine the type of an object, you can use either the type name shown by the GetMember cmdlet, or call the GetType() method of an object (if you have an instance of it):
PS >$date = GetDate PS >$date.GetType().ToString() System.DateTime
2. Enter that type name into the search box at http://msdn.microsoft.com .
Discussion
When the GetMember cmdlet does not provide the information you need, the MSDN documentation for a type is a great alternative. It provides much more detailed information than the help offered by the GetMember cmdlet—usually including detailed descriptions, related information, and even code samples. MSDN documentation focuses on developers using these types through a language such as C#, though, so you may find interpreting the information for use in PowerShell to be a little difficult at first.
Typically, the documentation for a class first starts with a general overview, and then provides a hyperlink to the members of the class—the list of methods and properties it supports.
To get to the documentation for the members quickly, search for them more explicitly by adding the term “members” to your MSDN search term:
typename members
Documentation for the members of a class lists its methods and properties, as does the output of the GetMember cmdlet. The S icon represents static methods and properties. Click the member name for more information about that method or property.
Public constructors
This section lists the constructors of the type. You use a constructor when you create the type through the NewObject cmdlet. When you click on a constructor, the documentation provides all the different ways that you can create that object, including the parameter list that you will use with the NewObject cmdlet.
Public fields/public properties
This section lists the names of the fields and properties of an object. The S icon represents a static field or property. When you click on a field or property, the documentation also provides the type returned by this field or property.
For example, you might see the following in the definition for System.DateTime.Now:
C#
public static DateTime Now { get; } Public means that the Now property is public—that everybody can access it. Static means that the property is static. DateTime means that the property returns a DateTime object when you call it. Get; means that you can get information from this property but cannot set the information. Many properties support a Set; as well (such as the IsReadOnly property on System.IO.FileInfo), which means that you can change its value.
Public methods
This section lists the names of the methods of an object. The S icon represents a static method. When you click on a method, the documentation provides all the different ways that you can call that method, including the parameter list that you will use to call that method in PowerShell.
For example, you might see the following in the definition for System.DateTime. AddDays():
C# public DateTime AddDays ( double value ) Public means that the AddDays method is public—that everybody can access it. DateTime means that the method returns a DateTime object when you call it. The text, double value, means that this method requires a parameter (of type double). In this case, that parameter determines the number of days to add to the DateTime object on which you call the method.