This blog posts is all about PowerShell data types. What is a PowerShell data type? Data Types define what you can do with a PowerShell object. For example, a datetime object supports adding years, with a bool object you can figure out whether something is true or false.
The aim is not to explain each data type individually, but only to provide the data types as a cheat sheet and furthermore I will cover the most common data types used in PowerShell. I will also give you an example for each data type to spark some ideas on working with data types.
Here is the list with some examples to play with.
### String ### $string='Patrick Gruenauer' # Determine the length of the string ... $string.Length # Grab the first two letters ... $first2=$string.Substring(0,2) ### Character ### $char=[char]0x263a ### Byte ### $byte=[byte]('0x'+'FE') ### DateTime ### $birthday=[datetime]'03.23.1976' # Calculate your time on earth ... $timeonearth=(Get-Date) - $birthday ### Boolean ### # Is it there or is it not there? Yes it is there! ==> True $path=[bool](Get-ChildItem -Path C:\Windows -ErrorAction SilentlyContinue) ### Array ### $array=[array]('Peter','Margit') # Retrieve the first item in array $array[0] ### Hashtable ### $hash=[hashtable]@{Arnold = '1';Alex= '9'} # Add an object to the hash table $hash.Add('Markus','10') ### PSObject ### # Declaring as an array ... $o=@() # Creating ordered hash tables ... $obj=[ordered]@{ firstname = 'Patrick' lastname = 'Gruenauer' age = '43' } $obj2=[ordered]@{ firstname = 'Arnold' lastname = 'Schwarzenburger' age = '71' } # Adding hash tables to $o and creating an object $o += New-Object -Type PSObject -Property $obj $o += New-Object -Type PSObject -Property $obj2 ### Void ### # Send output to null $none=[void] ### Math ### # Round to 5 decimals ... $math=[math]::Round('12.221349876',5) ### TimeSpan ### # How many hours has a year? [TimeSpan]::FromDays(365).Totalhours
Copy this code into your PowerShell ISE (ise.exe) session and discover the values. For instance, $o shows Arnold and me!
See you next time with PowerShell!
Categories: PowerShell
3 replies »