Table of Contents
Using GetType() Method
Use the GetType() method to get the object’s data type in PowerShell.
|
1 2 3 4 |
$string = "John Williamson" $string.GetType() |
|
1 2 3 4 5 |
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object |
We used the GetType() method to get the data type of an object we saved in the $string variable. The returned object will be an instance of the System.Type class, which contains information about the type, such as its Name, BaseType and other properties (you can see in the above output), the Name denotes the data type of the object stored in $string.
It is important to note that if the $string variable is not defined or not initialized with any value, it will throw an error stating, You cannot call a method on a null-valued expression. We can also use this command to check the type of any other variable or object like (5).GetType() will return the following results:
|
1 2 3 4 5 |
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32 System.ValueType |
If you are only interested in getting the Name of the data type, then we can use the Name property chained with GetType() as follows:
|
1 2 3 4 |
$string = "John Williamson" $string.GetType().Name |
|
1 2 3 |
String |
Use the FullName property to get the complete name of an object’s data type.
|
1 2 3 4 5 6 |
$string = "John Williamson" $date = Get-Date $string.GetType().FullName $date.GetType().FullName |
|
1 2 3 4 |
System.String System.DateTime |
If you are looking for a solution that provides you with the data type of the specified object and serves you with the properties and methods, then the following solution is for you.
Further reading:
Using Get-Member Cmdlet
Use the GetMember cmdlet to get the object’s data type in PowerShell.
|
1 2 3 4 |
$string = "John Williamson" Get-Member -InputObject $string |
|
1 2 3 4 5 6 7 8 |
TypeName: System.String Name MemberType Definition -------- -------- -------- Clone Method System.Object Clone(), System.Object ICloneable.Clone() ... ... ... ... ... ... |
Here, we used the Get-Member cmdlet with the -InputObject parameter to retrieve the properties and methods of an object stored in a variable $string.
The Get-Member cmdlet is used to display the properties and methods of an object. The -InputObject parameter was used to specify the object for which the properties and methods are to be displayed. By default, it only shows the members the object has at runtime; if you want to see all the members, you can use the -Force parameter.
The command Get-Member -InputObject $string will display the properties and methods of the object stored in the variable $string. This will include properties such as Length and Chars and methods such as CompareTo, Contains, EndsWith, IndexOf, Insert, LastIndexOf, Remove, Replace, Split, StartsWith, Substring, ToLower, ToUpper, Trim, TrimEnd, TrimStart, PadLeft, PadRight, Join, Format, Concat, Clone and many more.
You can use Get-Member on any other variable or object, which will list the properties and methods available for that object. For example, let’s use it with the date-type data below.
|
1 2 3 4 |
$date = Get-Date Get-Member -InputObject $date |
|
1 2 3 4 5 6 7 8 9 |
TypeName: System.DateTime Name MemberType Definition ---- ---------- ---------- Add Method datetime Add(timespan value) AddDays Method datetime AddDays(double value) ... ... ... ... ... ... |
NOTE: We used three dots (... ) in the last two output blocks to show continuity, as we can’t write all properties and methods here.
That’s all about how to get Object type in PowerShell.