Ordered hash tables are new in PowerShell 3.0 and great for creating new objects. Unlike regular hash tables, ordered hash tables keep the order in which you add keys, so you can control in which order these keys turn into object properties. Here is a sample:
$hashtable = [Ordered]@{} $hashtable.Name = 'Tobias' $hashtable.ID = 12 $hashtable.Location = 'Germany' New-Object -TypeName PSObject -Property $hashtable
This produces an object with the properties defined in the exact order how they were specified.
What if you wanted to add another property not at the end, but let's say at the beginning of the list? Try Insert():
$hashtable = [Ordered]@{} $hashtable.Name = 'Tobias' $hashtable.ID = 12 $hashtable.Location = 'Germany' $hashtable.Insert(0, 'Position', 'CSA') New-Object -TypeName PSObject -Property $hashtable